从iOS11.0开始,以下代码返回"de_US"而不是"en_US"://=>Returns"de_US"NSString*regionCode=[[NSLocalecurrentLocale]objectForKey:NSLocaleIdentifier];NSLog(@"Regioncode:%@",regionCode);在iOS11以下,它返回“en_US”。我的设备有英语/美国的语言和地区。首选语言(尽管我没有在我的代码中使用它们)按顺序排列:英语德语法语这是iOS11的已知问题吗?API有变化吗? 最佳答案 找到了!这是
有几个可用的插件可以帮助轻松创建可本地化的字符串条目。喜欢:extract-localizable-string-plugin-xcode我的问题与此不同。是否有任何自动化工具/软件能够在文件或项目级别识别所有-字符串/数字/货币-单位声明并以某种有效(节省时间)的方式帮助准备本地化文件?Forexample:Let'ssayihave5stringdeclarationsatfile1&fewmoreatfile2.Iwanttohavethosestringsautomaticallydetected(extractedsomeway)&thenaddedtoLocalized.s
在以下文档中:http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPInternational/Articles/LanguageDesignations.html据说IniOS,thebundleinterfacesdonottakedialectorscriptinformationintoaccountwhenlookingforlocalizedresources;onlythelanguagedesignatorcodeisconsidered.Thereforeifyourproj
我有兴趣让我的用户选择我的应用程序向他们显示的语言/区域设置。我已经弄清楚如何加载正确的包,选择正确的字符串文件等。但是,一些系统项目我仍然似乎无法控制。例如,开关控制。我有什么办法可以告诉系统这个应用程序现在应该以特定语言运行,而不是用户当前的系统设置? 最佳答案 最简单的方法是通过NSUserDefaults:区域设置由AppleLocale(区域设置ID作为字符串)确定,语言由中的第一个匹配项确定code>AppleLanguages(语言ID数组);您的应用可以仅针对您的应用覆盖这些默认设置。要检查它是否被您的应用程序覆盖,
所以,我正在将一个应用程序从日语本地化为英语。在日语中,(比如)“先生”之间没有区别。和“Ms.”(/“Mrs.”),所以我需要做这样的事情:/*Salutationformatforuser(male)*/"%@様"="Mr.%@";/*Salutationformatforuser(female)*/"%@様"="Ms.%@";如您所见,日语本地化版本在两种情况下都使用相同的字符串。我的印象是,当字符串文件包含多个具有相同“源”(即左侧)字符串的条目时,“注释”用于确定使用了哪一个。事实证明我错了,注释参数只是对人工翻译的辅助,完全被NSLocalizedString()忽略了。因
我以为我在某个地方读到过这篇文章,但在这里或网上都找不到。我是在做梦吗?在测试自动布局和本地化时,XCode中是否有一种方法可以向方案添加参数,以将英文文本更改为更长的文本以进行测试,以确保布局适应更长的语言? 最佳答案 转到产品->方案->编辑方案。选择左侧的“运行”部分并添加到“启动时传递的参数”(例如):-AppleLanguages“(意大利语)”为了让它更相关,这里有一篇关于NSHipster的有用帖子:http://nshipster.com/launch-arguments-and-environment-variab
我正在开发一款支持多语言的应用。如您所料,有时我会使用如下代码加载一些nib文件:self.currentController=[[newClassalloc]initWithNibName:@"CustomController"bundle:nil];然后,该应用将从其languange文件夹中加载相应的本地化xib版本。现在,我想知道是否可以手动加载本地化的nib文件。例如,不是简单地加载CustomController,而是加载english/french/german/etc.版本自定义Controller。有什么办法可以实现吗?提前感谢您的帮助!附言我知道这可能不是在ipho
我已经按照所有需要的步骤来实现应用程序的本地化。以下是这些步骤:创建一个Localizable.strings文件。添加我们希望本地化的语言。使用添加本地化按钮将这些添加到localizable.strings中。现在我收到以下警告消息:fatal:indexfilesmallerthanexpected"此外,Localizable.strings文件没有出现在询问引用文件和资源语言的列表中。任何人都请尽快帮助我。提前致谢。 最佳答案 这似乎是一个git错误,可以通过删除.git/index然后重置为HEAD来修复。您可以在此处找
我已经本地化了两套xib并将它们放在我的项目导航器中,如下图所示:我的Localized.strings文件工作正常,但xib文件有时选择不正确。当我将设备语言设置为法语时,我看到了英语xibView。当我将设备语言设置为英语时,我看到法语xibView。我从项目中删除了xib文件,只删除了引用,然后将它们拖回项目中的相同位置,如图所示。目前,无论我将设备设置为哪种语言,我都只能看到英文版本。有没有任何人可以看出我做错了什么?(我已经阅读了建议,likethisone,关于不为每种语言使用单独的框架。我可能会在某个时候切换到那个,但现在,我只想了解我的设置有什么问题。)更新这是en.l
iOS用于创建本地化字符串的宏在与genstrings一起使用时非常棒。但是,我想在其中一个宏之上创建自己的#define,如下所示:#defineMyLocalizedStringWithDefaultValue(key,tbl,val,comment)\NSLocalizedStringWithDefaultValue(key,tbl,[NSBundlemainBundle],val,comment)#endif从本质上讲,我总是想与主包背道而驰,所以我觉得不需要每次都输入它。这在代码中非常有效,但是genstrings没有选择我的宏。我能做些什么来让它获取我的自定义宏吗?我在手册