我的问题:
我的iPhone应用程序如何告诉iOS,用户确实在应用程序首选项中选择了一种语言,这与一般设置中设置的语言不同?
同一问题的其他表述:
我如何告诉系统,不NSLocalizedString (@"text", @"comment");应该访问系统范围内选定的语言,而是应用程序选择的语言?
背景,例如:
请以这种情况为例:德国移民的儿子住在法国东北部,毗邻卢森堡和德国.他的母语是法语,因此他确实将iPhone的用户界面语言设置为法语(设置 - >常规 - >国际 - >语言 - >Français).但由于他的文化背景以及他所居住的地区是双语的,他也会说德语.但他不会说十个英语单词.在iPhone(以及iPad)上,他没有机会选择第二语言,因此手机只知道他会说法语.它不了解其他语言的用户技能.
现在来了我的应用程序:我用英语和德语开发了它(德语是我的母语,英语是IT的标准语言).我根据多语言iOS应用程序的所有规则和最佳实践进行了开发.我的应用程序的"第一"语言(默认语言)是英语.
这意味着:
如果有人在他的"设置"中选择了英语或德语,则应用程序用户界面将自动使用所选语言.用户甚至不会注意到还有其他语言可用.
但如果他在常规设置中选择了任何其他语言(如中文,波兰语或法语),他将获得应用程序默认语言,在我的例子中,它是英语.但对于我的法德朋友来说,这不是最好的选择.他想使用现有的德语版本,但似乎没有办法让用户选择这个版本.
添加法语翻译可以解决我们法国 - 德国朋友的问题,但对于说其他两种语言(如意大利语和德语)的人不会,我不能用这个星球上所有语言支持我的应用程序.将默认语言设置为德语也不是最佳选择,因为对于说法语(母语)和英语(作为第二语言)的人来说,这会引起同样的问题.
所以我认为我的应用程序必须能够手动选择与预选语言不同的语言.将语言选择添加到应用程序设置面板不是问题.但是,我如何告诉系统,不NSLocalizedString (@"text", @"comment");应该访问系统范围内选定的语言,而应该使用应用内选择的语言?