Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS-本地化的最佳实践_Iphone_Ios_Nslocalizedstring - Fatal编程技术网

Iphone iOS-本地化的最佳实践

Iphone iOS-本地化的最佳实践,iphone,ios,nslocalizedstring,Iphone,Ios,Nslocalizedstring,我构建了一个iOS应用程序,并将其翻译成英语和瑞典语。 我面临的问题是,英语中的一个单词在瑞典语中可能有两种不同的含义(翻译)。所以现在我把英语单词作为关键和价值。 我希望能够有一个键,我可以调用任何我想要的,并为它设置英语值以及瑞典语值,这样我可以用两个不同的单词将它翻译成瑞典语,并保留相同的英语单词 我怎样才能做到这一点? 多谢各位 编辑: 我想要的是: NSLocalizedString(@"Comment_adj", @"Comment_adj") // En: Comment, Swe

我构建了一个iOS应用程序,并将其翻译成英语和瑞典语。 我面临的问题是,英语中的一个单词在瑞典语中可能有两种不同的含义(翻译)。所以现在我把英语单词作为关键和价值。 我希望能够有一个键,我可以调用任何我想要的,并为它设置英语值以及瑞典语值,这样我可以用两个不同的单词将它翻译成瑞典语,并保留相同的英语单词

我怎样才能做到这一点? 多谢各位

编辑:

我想要的是:

NSLocalizedString(@"Comment_adj", @"Comment_adj") // En: Comment, Swe: Kommentar
NSLocalizedString(@"Comment_verb", @"Comment_verb") // En: Comment, Swe: Kommentera

现在更清楚了吗?

解决这个问题的方法是使用
NSLocalizedStringFromTable(,)
为本地化字符串提供一些上下文

例如:

NSLocalizedStringFromTable(@"Post", @"SubmitScreen", @"The button text for the post button on the submit screen");
NSLocalizedStringFromTable(@"Post", @"FenceDiagram", @"The label for the fence-post on the diagram of the fence"); 

很难理解你想要什么。你能添加一些代码来举例说明你想做什么吗?这正是你不应该逐字翻译的原因。好吧,我来编辑一下。这是一个有效的问题-这不是逐字翻译,而是同一个“可本地化字符串”(可以是单个词),在不同的上下文中有多个翻译,因此,需要一个不同的“键”-iOS使用默认语言作为“键”,这限制了可本地化字符串的数量,因为例如“Post”-发布内容-和“Post”-在围栏中,当它实际上应该是两个单独的字符串时,会变成一个“可本地化字符串”。+1个好的有效问题。我猜过于笼统的标题(
**本地化的最佳实践**
)对不太熟悉iOS的人来说是一种误导——因此有很多人投了反对票。我正在使用本地化管理器应用程序来翻译我的话。我用genstring生成了新的本地化文件,但没有更新。他们有什么不寻常的事情我需要做吗mate?阅读GenString如何在这里工作:还记得它解析源代码,所以我认为您的表名应该是显式的,即@“table”,而不是宏或函数调用。
NSLocalizedStringFromTable(@"Post", @"SubmitScreen", @"The button text for the post button on the submit screen");
NSLocalizedStringFromTable(@"Post", @"FenceDiagram", @"The label for the fence-post on the diagram of the fence");