我已成功将法语本地化添加到我的应用中。在XCode 4中,只是选择了Localizable.strings并在File Inspector中添加了一个新的(法语)本地化。然后我将法语翻译(从Word - unicode 16)复制/粘贴到生成的新Localizable.strings(法语)文件中。
我将手机的语言(设备和模拟器)更改为法语,删除了当前安装的应用,清理并构建。
嘿presto - 一切都用法语。除了这里和那里有几条线仍然是英文。这些行似乎没有共同的元素 - 重音符号,格式或参数。例如:title = [NSString stringWithFormat:NSLocalizedString(@"You've just met %@", @"New friend message title"), self.friend.name];
/* New friend message title */
"You've just met %@" = "Vous venez de rencontrer %@";
仍然显示为'你刚刚见过......'而不是法语。我似乎无法弄清楚为什么其他一切都没有翻译这几行。任何帮助非常感谢!
谢谢,迈克尔。答案 0 :(得分:1)
您无法在NSLocalizedString函数中使用高ascii字符 要解决此问题,只需更改密钥字符串:
title = [NSString stringWithFormat:NSLocalizedString(@"YouveJustMetStr", @"New friend message title"), self.friend.name];
"YouveJustMetStr" = "Vous venez de rencontrer %@";
答案 1 :(得分:1)
Microsoft Word不是纯文本编辑器,它会通过将某些标点符号(撇号,引号,短划线)替换为看起来更好但可能具有随机unicode代码点的“智能”版本来修改文本。
我建议检查“你刚认识”中的撇号与你的代码源文件中的字符串文件中的字符完全相同。也许将字符串文件中的“你刚刚遇到”直接复制到代码中的NSLocalizedString语句中,看看是否有帮助。
我还建议不要使用Microsoft Word生成机器可读的字符串,除非你想要很多麻烦!