【问题标题】:iOS localization can i use 2 ttf file in the plist?iOS 本地化我可以在 plist 中使用 2 个 ttf 文件吗?
【发布时间】:2012-01-29 07:30:43
【问题描述】:

这是一个示例行:

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

我的font.ttf文件只支持英文/中文/日文,如果是韩文,什么都不会显示。所以我想为韩文使用 Arial 字体(但仍然是我的自定义 font.ttf 字体用于中文/日文,法文或西班牙文这很好,因为我可以简单地忽略字母上方的标记。

那么我该怎么做呢?或者我应该制作一个类似 [Helper getFont] 的方法并为不同的本地化返回不同的字体文件?

而且,当添加语言时,我有多种选择一种语言(比如'zh'是中文,但'zh-hans'是简体中文,'zh-hant'是繁体中文,所以我可以使用zh 如果我不想将它们分开,两种情况都可以吗?

【问题讨论】:

  • 我应该创建一个类似 [Helper getFont] 的方法并为不同的本地化返回不同的字体文件似乎是最佳解决方案。
  • 你的意思是我需要#define kLanguageBritish @"en-GB" ,#define kLanguageFrench @"fr" 等,然后 if (xxx == kLanguageKorean) return @"Arial"; else if (xxx == kLanguageSimpliedChinese return @"font.ttf" ?
  • 您是否有完整的语言字符串列表,例如简体中文的“Zh-hans”。
  • 我应该使用 2 个布尔方法,isLocalizationSupported 和 isCustomFontFileSupported?

标签: iphone ios localization fonts


【解决方案1】:

我不确定这是否可行(看起来应该可行),但是如果您在本地化文件中定义了不同的字体名称呢?

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

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

在您的英文/中文/日文本地化文件中输入:

"playLabelFontName" = "font.ttf"

在你的韩语中:

"playLabelFontName" = "Arial.ttf"

【讨论】:

  • 我只设置了 fontName = NSLocalizedString(@"font.ttf", nil) 并且在韩语中我输入了 "font.ttf" = "Arial" (这样我就不必翻译 en- >en again^_^.注意Arial是系统支持的,所以不必使用.ttf
  • 顺便说一句,我在哪里可以找到一些常见的本地化词汇,如“播放”、“恢复”、“暂停”等?我认为谷歌翻译不够准确
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多