2012-04-04 93 views
0

我正在开发iPad国际应用程序。
我正在使用方法NSLocalizableString来翻译我的应用程序。
我已经在我的Localizable.strings中以英文和法文手动添加了带有值的“Orders”的关键字。
当我用关键字调用我的方法NSLocalizableString时,未找到我的关键字并且不应用翻译。
对于上面和下面的关键字,它完美的工作。NSLocalizableString找不到我的密钥

有些部分代码:

**Localizable.strings** 
    /* Change datas */ 
    "ChangeDatas" = "Modifier les données"; 
    /* Orders */ 
    "Orders" = "Détails de votre commande"; 
    /* Label */ 
    "SomeLabel" = "Label"; 
**file.m** 
    //Work fine 
    NSLog(@"My data translation : %@", NSLocalizedString(@"ChangeDatas", @"Change datas")); 
    //Don't work 
    NSLog(@"My orders translation : %@", NSLocalizedString(@"Orders", @"Orders")); 
+0

您是否尝试清理并重新构建应用程序?在重新安装之前也卸载旧版本。我注意到iPhone倾向于将本地化数据缓存在某处,并且清理/重新安装可能是必要的,因为它会记录这些更改。 – MrTJ 2012-04-04 10:03:37

+0

我试过这样做,但没有成功。 – alexmngn 2012-04-04 10:07:54

+0

一切看起来不错。尝试控制你的字符串中是否没有一些奇怪的空白,或者你的字符是否在正确的编码中。删除并添加另一个字符串。 – MrTJ 2012-04-04 10:27:58

回答

0

你确定你的编辑器,在正确的编码工作?还有,正确的行结尾?

使用plutil命令检查您的.strings文件是无害的。

您确定您已经编辑过与您在运行时使用的语言/语言环境相同的.strings文件吗?

+0

编码是UTF16,行尾是LR(unix)。 我试着用plutil命令,它返回OK。我试图编辑2个文件(EN&FR),没有任何改变。 – alexmngn 2012-04-04 12:05:24