2012-01-29 74 views
1

這裏是一個樣本行:iOS本地化我可以在plist中使用2個ttf文件嗎?

playLabel = [CCLabelTTF labelWithString:NSLocalizedString(@"play", nil) fontName:@"font.ttf" fontSize:32]; 

和我font.ttf文件只支持英語/中國/日本,如果是韓國人,什麼也不會顯示出來。所以我想使用Arial字體爲韓國(但仍然我的自定義font.ttf字體爲中國/日本,法國或西班牙語它是好的,但因爲我可以簡單地忽略上面的字母標記

所以我該如何做到這一點?或者我應該做一個像[助手getFont]和返回不同的本地化的不同字體文件的方法? zh-hans'是簡體中文,'zh-hant'是繁體中文,所以如果我不想將它們分開,我可以在兩種情況下都使用zh?

+3

**,我應該做出這樣[助手的getFont]和返回的方法不同的本地化字體文件**似乎是最佳解決方案。 – 2012-01-29 07:46:13

+0

你的意思是我需要#define kLanguageBritish @「en-GB」,#define kLanguageFrench @「fr」等,然後如果(xxx == kLanguageKorean)返回@「Arial」; else if(xxx == kLanguageSimpliedChinese return @「font.ttf」? – OMGPOP 2012-01-29 07:53:55

+0

and you have a complete list of language strings like「Zh-hans」for simplified chinese。 – OMGPOP 2012-01-29 08:12:40

回答

3

我不確定這是否會起作用像它應該),但如果你在你的本地化文件中定義了不同的字體名稱?

NSString *fontName = NSLocalizedString(@"playLabelFontName", nil); 

playLabel = [CCLabelTTF labelWithString:NSLocalizedString(@"play", nil) fontName:fontName fontSize:32]; 

在你的英語/中國/ Japenese本地化文件放:

"playLabelFontName" = "font.ttf" 

在你放韓國:

"playLabelFontName" = "Arial.ttf" 
+0

I只需設置fontName = NSLocalizedString(@「font.ttf」,nil),並在韓文中放入「font.ttf」=「Arial」(這樣我就不必再翻譯en-> en了^ _ ^。 Arial由系統支持,所以不必使用.ttf – OMGPOP 2012-01-29 12:28:24

+0

順便說一句,我可以在哪裏找到一些常見的本地化詞彙,如「玩」,「簡歷」,「暫停」等?我不認爲谷歌翻譯是足夠準確的 – OMGPOP 2012-01-29 13:13:26

相關問題