開啟這個工程你可以當看到如下的乙個介面:
然後點開storyboard,你會發現裡面的控制項都非常簡單。為了國際話,我們需要往專案中再新增一門語言。新增語言的方式是,project--->info--->localizations點選"+"來新增相應語言,這裡我們選擇chinese(simplified)簡體中文。然後將彈出的對話方塊中的launchscreen.strings和main.storyboard都勾選了。這樣我們的基本工作就完成了,下面正式開始
建立.strings檔案,點選command + n 新建檔案,在resouce中選擇strings file檔案,命名為localizable
,這樣系統就會在不同語言環境下選擇不同的.strings檔案進行載入,顯示不同的語言。
點選localizable.strings檔案,點選右側的localization按鈕,然後選擇需要本地化的語言,選擇漢語,然後再次點選localizable.strings,你會發現右側的localizattion下面多了幾個選擇語言的選項,base,english,chinese(simplified)選中english,然後就會發現又多了乙個.strings檔案。
對不同的.string檔案配置不同的value值,在.string中配置的格式是"key" = "value";, 注意最後的分號。我們在localizable.strings(english)中加上
1在localizable.strings(chinese simplified)中新增"i write %@ lines every day.
" = "
i write %@ lines every day.";
2"do you like coding ?
" = "
do you like coding ?
";
"在viewcontroller.m中改寫相應的載入方法將原來的i write %@ lines every day.
" = "
我每天寫%@行**。";
"do you like coding ?
" = "
你喜歡程式設計嗎?
";
1 _viewcontrollernumlabel.text = @"替換為:i write 1000000000 lines every day.";
2 [_viewcontrollerlikebutotn settitle:@"
do you like coding ?
" forstate:uicontrolstatenormal];
1 _viewcontrollernumlabel.text = [nsstring stringwithformat:nslocalizedstring(@"修改不同的。這時你會發現,有些時候,我們的上會有文字,這些文字是不能用**改變的,所以這時要載入不同的,利用步驟4中的方法,我們給名用乙個key來表示,然後將不同的名作為value寫在不同的.strings檔案中,我們在english中加入:i write %@ lines every day.
", nil),@1000000000
];2 [_viewcontrollerlikebutotn settitle:nslocalizedstring(@"
do you like coding ?
", nil) forstate:uicontrolstatenormal];
1我們在chinese中加入:"imagename
" = "
english
";
1其中english和chinese都是的文字,然後在viewcontrolelr中新增如下**"imagename
" = "
chinese
";
1 _viewcontrollerimageview.image = [uiimage imagenamed:nslocalizedstring(@"這時,修改相應的語言就將會出現不同的。imagename
",nil)];
修改沒有被引出的控制項的顯示。點選main.storyboard,你會發現下面有乙個main.strings(chinese simplified)檔案,這時將裡面有關lable的**:
1修改為:/*class = "uilabel"; text = "hello i am a lable"; objectid = "zki-n6-dit"; */2
"zki-n6-dit.text
" = "
hello i am a lable
";
/*再次執行**,你會發現這個時候沒有用**修改的lable顯示的內容也變了。class = "uilabel"; text = "hello i am a lable"; objectid = "zki-n6-dit"; */"
zki-n6-dit.text
" = "
您好,我是乙個label
";
1 nsnumberformatter *numberformatter = [nsnumberformatter new];2 numberformatter.numberstyle =nsnumberformatterdecimalstyle;
3 nsstring *numberstring = [numberformatter stringfromnumber:@1000000000];4
5 _viewcontrollernumlabel.text = [nsstring stringwithformat:nslocalizedstring(@"
i write %@ lines every day.
", nil),numberstring];
IOS程式國際化
1.2 新建後,可以看到工作目錄結構檔案如下,單擊infoplist.strings,檢視右邊的屬性,在localization欄新增語言。1.3 新增完成後開啟對應語言檔案,比如english的新增 cfbundledisplayname china chinese檔案新增 cfbundledis...
IOS程式國際化
1.2 新建後,可以看到工作目錄結構檔案如下,單擊infoplist.strings,檢視右邊的屬性,在localization欄新增語言。1.3 新增完成後開啟對應語言檔案,比如english的新增 cfbundledisplayname china chinese檔案新增 cfbundledis...
iOS語言國際化
參考 語言國際化 根據系統不同的語言自動切換 xcode6.2 一.在不同語言下工程名會變成對應的語言名 步驟 新建乙個singleview工程 再新建infoplist檔案 注意檔名不能改變還有大小寫 然後新增語言 經過以上,會出現 在各自的語言資料夾中分別新增 cfbundledisplayna...