顯示具有 lproj 標籤的文章。 顯示所有文章
顯示具有 lproj 標籤的文章。 顯示所有文章

2013年5月15日 星期三

讓iPhone/iPad app icon的名稱有多國語言

昨天有朋友問起這個問題
雖然有看過別人家的app有這樣功能
但是沒自己動手試過

在網路上爬了一下文
做法並不是太困難
重點就是要讓bundle display name這邊可以對應

我是在xcode 4.6.2環境下設定的, 舊一點的版本應該雷同
1. 確定project 底下Supporting Files裡頭有InfoPlist.strings
(別緊張, 一開始應該不會有下拉選單 :P)

注意! 是InfoPlist.strings不是yourapp-Info.plist喔!
而且它是一個string file不是一個property list,
沒有的話自創一個吧~

2. 點一下Project 再選右邊Panel的Project(不是下面的Targets)
3. 然後點選Info的標籤, 下方應該會有個Localizations的區塊


4. 在增加不同國家語言時,會跳出一個視窗問我們兩件事情:
o 一個是default要reference哪個國家的語言設定
o 一個是選擇哪些檔案需要有多國語系檔

5. 完成後應該就會像圖一那樣有下拉選項出現了, 點一個進去看看吧
給"CFBundleDisplayName"一個對應的值.

哇哈哈, 官方連中文版都有文件了, 直接連過去看個仔細吧XD
參考資料: 官方文件, stackoverflow

2011年3月15日 星期二

iPhone 給我多國語系檔(.lproj),其餘免談

這篇筆記的內容"並不是"探討 怎麼建立一個多國語系檔
而是記錄iPhone上各國語系縮寫,以及讀取上的一些問題
所以大家可以按上一頁啦XD

由於多國語系的關係,我們可能需要知道使用者目前的語系設定
取得方法如下:
NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
NSArray* languages = [defs objectForKey:@"AppleLanguages"];
NSString* preferredLang = [languages objectAtIndex:0];
NSLog(@"LangCode: %@",preferredLang);

ISO-639的各國語言對應到iPhone上面的語言列表可以參考


但是,當我們用實機測試的時候一定會遇到窘境
嗄~suomi,dansk,hrvatski...
原來iPhone上的語言列表早就已經替換成該語言的文字了
這對一個"外國人"來說是一件挺痛苦的事情
參考一下 stackoverflow 的這篇文章吧!
ex: Swedish = svenska
Finnish = suomi
Danish = dansk
Croatian = hrvatski

事情還沒結束
看到沒,language code有pt, pt_PT
還有中文也是有分zh_CN, zh_TW
鬼打牆的情節緊接上演,
無論怎麼切換pt 與pt_PT,模擬器跟iPhone就是沒辦法切換
花了我好幾個小時的結論如下:
1. 如果語系檔的檔名設定有誤,iPhone預設值會是English
ex: ja.lproj誤設為jp.lproj

2. 如果語系相近,會以有相關的語系檔讀取為優先
ex: pt.lproj與pt_BR.lproj 無論設定是 português (Portugal)或是português
預設就是讀取pt.lproj

3. 如遇上述兩個問題,也確定已經更正好了
記得!!要先clean project 再重新編譯

可能還有人會對zh_CN, zh_TW,zh_Hans,zh_Hant
或是該用underline(_) 還是dash(-)符號有問題
可以參考另外一篇文章:
MacUknow

2010年11月8日 星期一

iPhone can't change language of Xcode

寫程式或許會遇到丈二金剛摸不著頭緒的時候
debug可能會嚐到眼花撩亂頭暈目眩的情形
但是當你碰上Xcode的build setting語言改不掉


一開始會很火大…
阿不就系統設定(system preference)裡面
語言與文字選項(language and text)順序調整一下
再不然,狠一點從list上面移除

再來會很無奈
重開Xcode,登出登入,重開機,無濟於事阿!!!

最後會掉入絕望的深淵
只能看著像是外星來的語言
冒著error,warning無情的嘲弄
猜測屬性的設定,這邊試試看,那邊試試看

不是我歧視日文,而是真的完全看不懂阿
不能這樣溫良恭儉讓下去了~
好不容易我找到了大絕招,這樣做就對了!

1. 首先找到Developer -> Application -> Xcode
2. Ctrl + click -> Show Package Contents -> Resource
3. 把那個叫Japanese.lproj 整個砍了吧!!

重新開啟Xocde,迎接清爽的build setting page吧 :)

資料來源: macosx.com

內容回應