2013-12-21 54 views
0

感謝您閱讀以下(也覺得免費的沮喪被受理)的Xcode 5的本地化問題

//咆哮

首先很明顯這是一個問題,有這麼多的問題本地化應用程序。 (是的,我已經開始撇開我可以打破讓我覺得better..haha對象)

//業務

我到處找。我已經閱讀了許多教程(從raywenderlich開始,並嘗試了許多不同的教程),當然,我一直在尋找幾天。我已經採取了

步驟:

  • 選擇項目,並在本地化添加其他語言(我 讀了一些人選擇「使用基地國際化 - 我不 用故事板(很多碎粒),所以我不認爲這是期權 我應該選擇)

  • 添加localizable.strings文件,並選擇英語 我的支持文件第二語言,我得到兩個字符串的文件。我期待在取景器項目 ,我看到了兩種不同的語言文件夾(在這些 文件夾是infoplist和本地化的字符串文件。

  • 我已經更新了翻譯的第二語言.strings文件..

事情後得到什麼,我應該做的低迷。

  • 我選擇的按鈕,將在兩種不同的語言(我知道 我應該更改代碼中的按鈕標題)並單擊本地化按鈕並選擇第二種語言。這使我另一套 .lproj文件夾,所以我有一個在主目錄 (Project/en.lproj)和我的資源 目錄中的第二個en.lproj((Project/res/en.lproj。那是好的?還是應該我所有的資產 (.strings文件,筆尖,圖像)在一個文件夾?

  • 我選擇了筆尖和選擇的本地化>添加第二語言 清洗,建,recleaned,重新啓動Xcode中,已刪除模擬器文件, 刪除得到的數據,建,重新啓動,清理..打破了幾件事情, 再次做到這一切。

//請求幫助

我已經看了蘋果文檔和他們使它看起來很容易做到這一點,也許我只是失去了一些東西真的很簡單。任何關於我應該做什麼/讀/看/吼的建議都會很感激。

感謝,

詹姆斯

回答

1

//我覺得好奇怪回答我的問題,但我覺得其他人可能會發現它有用。


我不好意思地說,但我的問題的第一部分是非常簡單的

我想通過Warren Evans觀看「Localization of your app」,發現自己做錯了什麼。在周圍的視頻23分鐘,他使用一些代碼來獲取本地和語言

NSLocale *locale = [NSLocale currentLocale]; 
NSString *language = [locale displayNameForKey:NSLocaleIdentifier value:{locale localeIdentifier]]; 

我的問題是,在本地化項目的信息,我選擇加入:法國(法國)(FR-FR)創建的。我的項目中的fr-FR.lproj中的lproj文件夾。因此,當我在法語設備上進行測試時,它不會抓取圖像或字符串。

有了上面的代碼,我知道它會說法語與當地的美國..冰冰冰!點已連接。

最初,我甚至沒有注意到本地化中有一個通用的法語「法語(fr)」選項。我更新了我的項目文件夾以使用法語(fr)。清潔後,字符串和圖像正確顯示,並重置模擬器。 (每朗是的,你可以有多個.LPROJ文件,我有資源的單獨一個)


我的問題的第二部分是與項目的筆尖文件不會得到更新。他們在網上的兩個蘋果文檔中描述的解決方案似乎總是缺少一個步驟,我不清楚nib是如何更新的。

看起來,用故事板做這件事的方法是保持動態的最佳方式,但我的項目有15個筆尖。我發現描述的鏈接是http://www.ibabbleon.com/iphone_app_localization.html

以上幫助我瞭解了更多關於使用ibtool已閱讀蘋果指令。從手持終端的命令是:

find . -name \*.xib | xargs -t -I '{}' ibtool --generate-strings-file '{}'.strings '{}' 

我用的是改變終端的目錄(cd)到我的項目目錄和文件lproj相應導航後。 (試圖使這個儘可能詳細,我可以幫助別人,如果他們有同樣的問題)

要做到產生一個筆尖字符串文件在我使用蘋果的方向時間:

ibtool --generate-strings-file NIBNAME.strings en.lproj/NIBNAME.xib 

創建我的NIBNAME.strings文件進行翻譯。

一旦我有了。字符串文件翻譯我跟着應用程序文檔和創建從原來的英文模板筆尖,但與上述翻譯的字符串的文件:

ibtool --strings-file fr.lproj/NIBNAME.strings --write fr.lproj/NIBNAME.xib en.lproj/NIBNAME.xib 

接下來,我選擇了筆尖,當我選擇了筆尖文件檢查器選擇了「本地化」,那麼檢查「本地化語言」,看到我已經完成了上述步驟,這已經創建了一個新的筆尖。 Xcode問我是否想使用它或替換我選擇使用它,我的翻譯更改是現場直播。 我不得不通過筆尖以確保按鈕的格式和居中看起來正確,但現在一切正常。


我覺得我應該可以做一個主.strings文件對所有碎粒如與我們genstrings做基礎上,回答這個問題的SO:How can I extract all localizable strings from all XIB files into one file?

但我會需要進行試驗與此同時,我認爲這將是另一天的戰鬥。