2012-10-19 37 views
2

想知道這裏的人是否可以與國際化& git分享他們的過程。我正在與一個國際化團隊合作,每次我們發送.strings文件時都需要差異化。以下是我在流程方面的想法:git,國際化和iOS字符串文件

  1. 在代碼庫上運行起始字符串以提取所有NSLocalizedStrings。這將生成一個.strings文件。
  2. 將此.strings文件與相同文件的先前版本區分開來。這個以前的版本映射到我們最後一次將.strings文件發送給我們的國際化團隊。因此,diff應包含上次從.strings文件中發出的項目中的所有字符串更改。
  3. 現在我有一個diff文件。使用腳本來改變這個差異文件,只包括添加和修改。此腳本的輸出將生成一個.strings文件。這是我們的國際化團隊想要的.strings文件。
  4. 國際化過程完成後,我剩下這個.strings文件的n個實例(每種語言一個)。我現在需要將每個.strings文件重新整合到項目中。
  5. 對於應用程序支持的每種語言,請取得鍵並在原始.strings文件中搜索相同的鍵。如果該鍵存在於原始.strings文件中,請將原始.strings文件中的值替換爲diff'ed文件中的值。如果該鍵在原始.strings文件中不存在,請將新的鍵/值對添加到原始.strings文件的末尾。

上面的數字三和五需要一些腳本,這導致我的問題。

對於第三個,'git diff'是否可配置爲足以生成僅包含添加或修改的.diff文件?有沒有人知道該命令將看起來像只包括添加或修改?如果'git diff'的靈活性不足以產生我需要的輸出,是否有人知道一些會產生所需輸出的腳本。

對於第五,任何人都知道一些已經照顧到這一點的腳本?

如果有人可以提出更好的方式來處理iOS應用程序的國際化過程,那麼我就是耳熟能詳。

感謝,

肖恩

回答

0

如果您上傳原創回購,包括英語字符串文件,那麼無論是誰本地化可以派生項目,調整琴絃,提交自己的叉子,並打開一個pull請求。你拉他們的變化,並與您的原始文件合併。 Git/GitHub爲你做了所有這些討厭的合併。

如果字符串來自XIB,那麼您可以再次使用GENStrings將新的合併字符串文件與您的XIB集成到您的回購庫中。

羅布從Applingua(一個應用本地化機構誰使用Git的作品!)

+0

不幸的是,我的工作的國際化團隊不舒服的git,因爲它並不真正與他們當前的工作流程工作。非常感謝。 – seanoshea