前言
1.bundle display name
先看此方法的具體設定步驟:
這裡提一下bundle name和bundle display name:
2.infoplist.strings->cfbundledisplayname
這種方法較為繁瑣,但是可以支援多語言版本名稱的設定,即localization,也先看具體步驟:
可以選擇支援英文
"cfbundledisplayname" = "中文名字";
"cfbundledisplayname" = "englishname";
名字字串自己填寫就好,這裡只是示範
3.關於預設語言的設定:localization native development region
xcode建立工程時,預設語言環境是英文,所以在呼叫一些系統空間時(例如相機相簿),其控制按鍵的標題都是英文顯示的狀態,快速的設定方法就是設定localization native development region的值,具體步驟可以參考此文:localization native development region 更改語言無效 中的第一段內容。
4. localizations版本國際化
同新增infoplist.strings的做法相同,新增乙個localizable.strings檔案
對應中英文(其他語言自行新增),分別新增下列語句:
"關於上述的key和value,只是示範,可自行定義,呼叫這些key-value需要利用nslocalizedstring(, )系統巨集,例如:nslocalizedstring(@"alerttitle", @"這是一句註解,根據情況寫"),第乙個引數即在strings檔案中自定義的key,根據不同的語言環境,系統會自動檢測這個key對應的value(中文還是英文),第二個引數是注釋,為了便於理解,可以為nil。alerttitle
" = "標題"
;"alertmessage
" = "資訊"
;"alertok
" = "確認"
;"alertother
" = "其他"
; "alerttitle
" = "
title";
"alertmessage
" = "
message";
"alertok
" = "
confirm";
"alertother
" = "
other
";
實際用例:
- (void)createalertviewwithtitle:(nsstring *)title message:(nsstring *)message delegate:(id)delegate cancel:(nsstring *)cancel andother:(nsstring *)other分別設定系統的語言環境至中英文模式,效果如下://呼叫
[self createalertviewwithtitle:nslocalizedstring(@"
alerttitle
", @"
這是一句註解,根據情況寫
") message:nslocalizedstring(@"
alertmessage
", @"") delegate:nil cancel:nslocalizedstring(@"
alertok
", nil) andother:nslocalizedstring(@"
alertother
", nil)];
上面的寫法看起來比習慣上直接寫string去設定標題要麻煩許多,但是常用的標題可以進行二次巨集定義管理,那樣不僅使用方便,還便於統一管理。
看一下環信demo中的示範:
本文只是簡單介紹相關的用法,至於詳細的說明,可以參考文章最後列出的參考文章,裡面有不少不錯的詳細講義。
參考文章:
iOS應用國際化 app 名字國際化的坑
然後我就準備給 info.plist 也新增上圖的檔案 選擇完成以後你發現,專案已經報錯了,你的專案已經找不到你的 info.plist 檔案。這該怎麼辦啊,專案馬上就要提交測試版本了,時間迫在眉急啊。此處心裡只想,媽的先趕緊把專案先能跑起來,這個做不做再說了 看到報錯內容,是說我的 info.pl...
iOS 國際化支援 設定
主要步驟 1.本地化應用程式名稱 2.本地化字串 3.本地化 4.本地化其他檔案.1.本地化應用程式名稱 a.為應用程式新增本地化支援語言檔案 在專案中按 command n 鍵撥出新建檔案介面 選擇 ios 下的 resource裡面的 strings file 點選 next 輸入檔名稱 在xc...
iOS開發之本地化 國際化語言設定
1.1 增加所需的語言 1.2 建立string檔案。需要特別注意 檔名必須為 infoplist.strings 2.1 設定語言,在1.1中設定過就不再需要再次設定。如果沒有進行1.1中的設定,那就按1.1步驟設定一次 2.2 建立string檔案。需要特別注意 檔名必須為 localizabl...