2013-12-20 42 views
7

我在項目中使用Xcode 5。而且項目需要本地化。 Xcode中已經幫我產生Localizable.strings它看起來像用於新UI的iOS故事板本地化

/* Class = "IBUIButton"; normalTitle = "2013-10-1"; ObjectID = "p5u-h7-pfJ"; */ 
"p5u-h7-pfJ.normalTitle" = "2013-10-1"; 

/* Class = "IBUILabel"; text = "Label"; ObjectID = "pBS-eN-YUz"; */ 
"pBS-eN-YUz.text" = "Label"; 

/* Class = "IBUITextField"; placeholder = "Input Name Here"; ObjectID = "pE4-WG-fPp"; */ 
"pE4-WG-fPp.placeholder" = "Input Name Here"; 

/* Class = "IBUILabel"; text = "Detail"; ObjectID = "qSu-Mo-baT"; */ 
"qSu-Mo-baT.text" = "Detail"; 

,但我應該怎麼做,如果我想的故事板添加新的用戶界面。我如何添加新的鍵值?

+1

您可以在同一個文件上添加更多內容。 – ldindu

回答

18

在故事板中,每個對象都有一個ID。在'Utilities'視圖中,'Identity Inspector'thumb,'Document'部分有一個字段'Object ID'

我從來沒有用過這個,但我想如果你有一個ID爲141-wB-KQD的標籤並且要設置其文本屬性,你必須把你的Localizable.strings

"141-wB-KQD.text" = "the value you want"; 
+2

在Xcode 6.x.x中,這是從左側開始的第三個選項卡。那種看起來有點像美國國旗的那種。你可以在哪裏設置自定義類。 – dave

+0

謝謝你挽救我的生命! – Alfi

-1

如果您想本地化您的項目視圖,只需點擊視圖控制器上的故事板,然後轉到File Inspector並單擊本地化...您將爲每種語言創建一個故事板文件。

+1

我已經這樣做了,但是如果我需要將新項目添加到故事板,我該怎麼辦。 – bohan

1

不知道這是「正確」的方式或最好的方式,但這裏是我做的:

1)最後進行任何本地化。換句話說,首先要確保你不需要對基礎故事板進行任何修改。這可能聽起來像一個警察,但真的,這是避免麻煩的最好方法。 2)由於事情並不總是如此,如果您需要進行更改,您可以將它們從「字符串」更改爲「故事板」,然後再將它們推送到本地化文件中,然後再將其推送到本地化文件。這將保留您現有的翻譯並自動處理任何新的內容,因此比徹底刪除軟件包中的本地化文件要好。

我注意到這可能會在本地化文件中留下一些冗餘字符串,有時候您必須手動刪除它們,否則將無法正確編譯,但如果有更好的方法可以做到這一點,我我想知道我自己。

2
  1. 爲需要更新的語言環境創建故事板的.strings文件的備份副本。

  2. 在Project Navigator中選擇故事板(在左邊的Xcode的窗格中),打開File Inspector(右窗格)並取消選中該區域設置的複選框。

  3. 在'您是否想要刪除...'提示出現時,選中'從磁盤刪除本地化資源文件'複選框並按'刪除'按鈕。

  4. 標記回同一個複選框;這將爲語言環境生成本地化的資源文件;它將包含所有對象(包括新添加的)的條目,但其內容根本不會被本地化。

  5. 合併這個新生成的文件與保存的備份 - 這將恢復您之前完成的所有本地化。

  6. 本地化新對象。