1

我已经成功地将法语本地化添加到我的应用程序中。在 XCode 4 中,只需选择 Localizable.strings 并在文件检查器中添加新的(法语)本地化。然后,我将法语翻译(从 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 %@";

仍然显示为“你刚刚遇到......”而不是法语。我似乎无法弄清楚为什么这几行没有翻译,而其他一切都在翻译。非常感谢任何帮助!

谢谢,迈克尔。

4

2 回答 2

1

Microsoft Word 不是纯文本编辑器,它会通过将某些标点符号(撇号、引号、破折号)替换为看起来更好但可能具有随机 unicode 代码点的“智能”版本来修改文本。

我建议检查“You've just met”中的撇号是否与您的字符串文件中的字符完全相同,因为它在您的代码源文件中。也许将字符串文件中的“你刚刚认识”直接复制到代码中的 NSLocalizedString 语句中,看看是否有帮助。

我还建议不要使用 Microsoft Word 来生成机器可读的字符串,除非你很头疼!

于 2012-01-13T12:22:55.663 回答
1

您不能在 NSLocalizedString 函数中使用高 ascii 字符。
要修复它,只需更改您的密钥字符串:

title = [NSString stringWithFormat:NSLocalizedString(@"YouveJustMetStr", @"New friend message title"), self.friend.name];

"YouveJustMetStr" = "Vous venez de rencontrer %@";
于 2012-01-13T11:34:54.373 回答