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

來源:互聯網
上載者:User

標籤:

在IOS的開發過程中,很多時候組件都是拖拉出來,直接在故事版(storyboard)上直接使用,而並沒有做輸出關聯,或者有些UILabel只做顯示,不會進行修改。所以在這種不會在代碼中修改的情況下,就需要用到故事版的國際化,

 

在xcode4.5之前,如果做故事版的國際化,是要維護多個storyboard,但在xcode4.5之後,國際化storyboard做國際化,就變成了一個storyboard,多個語言設定檔

其中Main.storyboard為真實的故事版檔案,Main.strings(Chinese(Simplified)) 和 Main.strings(English)檔案為設定檔,根據支援不同的語言版本,會有不同的翻譯

看看下面的例子:

Main.storyboard(Base):

 

這裡我們需要把kiss的文字做國際化,這裡是個UIButton,點擊需要國際化的控制項,然後選擇右邊的屬性,可以看到空間的object ID,這個ID就等於組件的國際化Key,然後在相應的國際化檔案當中,修改它的value即可

Main.strings(English)檔案

 

Main.strings(Chinese(Simplified))檔案

 

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

這裡我在這裡分享一下使用故事版國際化的弊端,如有補充可以在留言給我,互相學習,看看下面我說的弊端有沒有改進的方法

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

 

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

  • 方法一:可以在整個程式基本完成後再做故事版的國際化
  • 方法二:可以重新建立國際化檔案

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.