因此,我正在本地化一个日语到英语的应用程序。iOS字符串文件冲突 - 源字符串中的字符串相同,目标不同
在日语中,没有区别(说)“先生”和“女士”(/“夫人”),所以我需要做这样的事情:
/* Salutation format for user (male) */
"%@様" = "Mr. %@";
/* Salutation format for user (female) */
"%@様" = "Ms. %@";
正如你所看到的,日本的本地化使用在两种情况下相同的字符串。我的印象是,当字符串文件包含多个具有相同“源”(即左侧)字符串的条目时,使用“注释”来确定使用哪一个。 事实证明我错了,评论参数只是帮助翻译人员,完全被NSLocalizedString()
忽略。
所以,如果我运行应用程序,无论是代码路径的下方产生相同的字符串,无论用户的性别:
NSString* userName;
BOOL userIsMale;
/* userName and userIsMale are set... */
NSString* format;
if(userIsMale){
// MALE
format = NSLocalizedString(@"%@様",
@"Salutation format for user (male)");
}
else{
// FEMALE
format = NSLocalizedString(@"%@様",
@"Salutation format for user (female)");
}
NSString* salutation = [NSString stringWithFormat:format, userName];
所以,我应该如何处理这样的情况?
我不知道如何得到新的想法,这似乎很愚蠢,但你可以给它一个空间给“@%@様”我增加了空间和其他空间“@%@様”。这只是一个尝试,不认为它是解决方案 –
,并检查本地化字符串“%@様”=“Mr.%@”的格式;它以“key”=“value”开头;格式在每个对的开头添加“@” –
是的,我的Localizable.strings示例的语法是错误的,我会修复它。谢谢。 –