如何使用localizedStringForKey保留换行符

时间:2014-01-29 08:18:42

标签: ios objective-c localization

我想在我的应用程序上进行一些本地化,但我的问题是本地化的字符串包含没有新行处理的新行。 例如:

+ (NSString *)stringForKey:(NSString *)key {
    NSString *selectedLanguage = [Localization selectedLanguage];
    NSString *path = [[NSBundle mainBundle] pathForResource:selectedLanguage ofType:@"lproj"];

    NSBundle *languageBundle = [NSBundle bundleWithPath:path];
    NSString *str = [languageBundle localizedStringForKey:key value:@"" table:nil];

    return str;
}

示例文件:

"key to translate" = "translated \n key";

我希望函数调用[Localization stringForKey:@"key to translate"]的结果是"translated \n key"而不是translated key"

我到达文件并获取字符串没有问题,我的问题是该字符串不包含新行。

有解决方案吗?谢谢你的时间。

2 个答案:

答案 0 :(得分:0)

由于某些原因,我还没有完全掌握,\ n每次都不起作用。

使用\ r(回车)代替\ n可以解决您的问题!

答案 1 :(得分:0)

如果您想将\保留在字符串

中,请加上\n
"key to translate" = "translated \\n key";

输出为:translated \n key