IOS開發之國際化篇第三章:故事版文本國際化

在IOS的開發過程當中,不少時候組件都是拖拉出來,直接在故事版(storyboard)上直接使用,而並無作輸出關聯,或者有些UILabel只作顯示,不會進行修改。因此在這種不會在代碼中修改的狀況下,就須要用到故事版的國際化,如圖xcode

 

在xcode4.5以前,若是作故事版的國際化,是要維護多個storyboard,但在xcode4.5以後,國際化storyboard作國際化,就變成了一個storyboard,多個語言配置文件如圖學習

其中Main.storyboard爲真實的故事版文件,Main.strings(Chinese(Simplified)) 和 Main.strings(English)文件爲配置文件,根據支持不一樣的語言版本,會有不一樣的翻譯翻譯

看看下面的例子:3d

Main.storyboard(Base):code

 

這裏咱們須要把kiss的文字作國際化,這裏是個UIButton,點擊須要國際化的控件,而後選擇右邊的屬性如圖,能夠看到空間的object ID,這個ID就等於組件的國際化Key,而後在相應的國際化文件當中,修改它的value便可orm

Main.strings(English)文件blog

 

Main.strings(Chinese(Simplified))文件開發

 

其中國際化文本文件中的object ID後跟的normalTitle爲組件的屬性名稱文檔

這裏我在這裏分享一下使用故事版國際化的弊端,若有補充能夠在留言給我,互相學習,看看下面我說的弊端有沒有改進的方法同步

  • 故事版的國際化暫時沒有同步機制,就是當你添加了一個新的組件如圖,you按鈕,相應的國際化文件,沒有同步更新,須要手動再次查看object ID,而後進行添加
  • 複用性不強,假若有多個相同值得時候,重複編寫多遍,例如,我如今有兩個按鈕,按鈕的文字都爲瀏覽,可是我須要在國際化文件當中添加兩個object ID
  • 沒有一份文檔說明全部國際化話組件的屬性名稱,若是normalTitle,這種屬性,沒有能夠提示到底這個屬性的名稱是什麼

 

這給個建議,能夠解決以上3個弊端問題

  • 方法一:能夠在整個程序基本完成後再作故事版的國際化
  • 方法二:能夠從新建立國際化文件

相關文章
相關標籤/搜索