我正在对iPhone应用程序进行国际化 – 我需要根据用户的当前语言环境对某些视图进行编程更改。 我疯了,因为不pipeiPhone模拟器或实际硬件上的语言偏好是什么, locale总是评估为“en_US”: NSString *locale = [[NSLocale currentLocale] localeIdentifier]; NSLog(@"current locale: %@", locale); 疯狂的事情是,应用程序的其余部分按预期行事。 从Localization.strings文件中select正确的string并在接口中使用,并使用所选语言环境的正确.xib文件。 我也尝试了以下,无果而终,结果相同: NSString *locale = [[NSLocale autoupdatingCurrentLocale] localeIdentifier]; NSLog(@"current locale: %@", locale); 有没有简单的我失踪? 一个偏好或一个导入也许? 我曾经做过的事情: 正如Darren的回答所示,我所寻找的偏好不在NSLocale ,而在于: NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults]; NSArray* languages = [userDefaults objectForKey:@"AppleLanguages"]; NSString* preferredLanguage = [languages objectAtIndex:0]; NSLog(@"preferredLanguage: %@", preferredLang); 彼得的答案似乎是一个更好的解决scheme: NSArray* preferredLanguages = […]
我想能够在国际轨道上翻译i18n中的多个string。 一个string可以是: You have 2 kids 要么 You have 1 kid 我知道我可以使用复数forms的辅助方法,但是我想把它embedded到i18n的翻译中,这样我就不用在将来的任何时候搞乱我的观点。 我读到:count翻译为复数,但我找不到任何真正的资源如何实现。 注意我知道我可以在一个转换string中传递一个variables。 我也试过类似的东西: <%= t 'misc.kids', :kids_num => pluralize(1, 'kid') %> 哪些工作正常,但有一个相同的想法的根本问题。 我需要在pluralize助手中指定string'kid' 。 我不想这样做,因为这会导致未来的问题。 相反,我想把所有东西都放在翻译中,而不是在视图中。 我怎样才能做到这一点 ?
我想要一个看起来像这样的文字: 已经注册? login! 请注意,文字上有一个链接。 在这个例子中它指向谷歌 – 实际上它将指向我的应用程序的log_in_path 。 我发现了两种方法,但是没有一个看起来“正确”。 我知道的第一个方法是把这个我的en.yml : log_in_message: "Already signed up? <a href='{{url}}'>Log in!</a>" 在我看来: <p> <%= t('log_in_message', :url => login_path) %> </p> 这是有效的 ,但是在<a href=…</a>上有<a href=…</a>部分对我来说看起来不是很干净。 我知道的另一个select是使用本地化的意见 – login.en.html.erb和login.es.html.erb 。 这也是不正确的,因为唯一不同的路线就是上述路线。 其余的观点(约30行)将重复的所有意见。 这不会很干。 我想我可以使用“局部化的部分”,但似乎太笨重; 我想我更喜欢有这么多小视图文件的第一个选项。 所以我的问题是:有没有一个“适当”的方式来实现呢?
我正在构build一个需要以多种语言和语言环境提供的应用程序。 我的问题不是单纯的技术性问题,而是纯粹的技术问题,而不是纯粹的技术问题,而是人们在生产中用来解决这个问题的模式。 我找不到任何“食谱”,所以我转向我最喜欢的Q / A网站:) 这是我的要求(他们真的是“标准”): 用户可以select语言(微不足道) 在改变语言时,界面应该自动翻译成新的选定语言 我现在不太担心格式化数字,date等,我想要一个简单的解决scheme来转换string 以下是我可以想到的可能解决scheme: 每个组件单独处理翻译 这意味着每个组件都有一个en.json,fr.json等文件和翻译后的string。 还有一个帮助函数,帮助读取取决于所选语言的值。 Pro:更加尊重React哲学,每个组件都是“独立的” 缺点:你不能集中在一个文件中的所有翻译(例如让别人添加一个新的语言) 缺点:你仍然需要通过当前的语言作为道具,在每一个血腥的组件和他们的孩子 每个组件通过道具接收翻译 所以他们不知道当前的语言,他们只是把一个string列表当作正确匹配当前语言的道具 Pro:由于这些string是“从顶部”来的,所以它们可以集中在某个地方 缺点:每个组件现在都绑定到翻译系统中,不能只重用一个,每次都需要指定正确的string 你绕过道具一点,可能使用上下文 thingy传递当前的语言 Pro:大多数情况下是透明的,不必一直通过道具传递当前的语言和/或翻译 缺点:使用起来很麻烦 如果您有任何其他想法,请说! 你怎么做呢?
新的Google Chrome浏览器自动翻译function正在我们的一个应用程序的单页上跳跃。 每当我们导航到这个特定的页面,Chrome告诉我们页面是丹麦语,并提供翻译。 页面是英文的,就像我们的应用程序中的其他页面一样。 这个特定的页面是一个内部testing页面,有几十个带有英文标签的表单域。 我不知道为什么Chrome认为这个网页是丹麦语。 有没有人有这样的语言检测function如何工作的见解,以及如何确定是什么导致Chrome浏览器认为该网页是丹麦语?
我正在寻找一个我正在编写的PHP应用程序的所有语言环境和短代码列表。 这些数据在平台之间有很大的差异吗? 另外,如果我正在开发一个国际应用程序,我可以只支持一个英文版本,还是在世界各地有很大差异?
在C#中, ToUpper()和ToUpperInvariant()什么ToUpperInvariant() ? 你能举一个例子,结果可能会有所不同吗?
我想知道如何处理JavaScript的国际化。 我GOOGLE了,但我没有得到令人信服的答案: JavaScript是否具有本地化的国际化支持? 什么是国际化的JavaScript在JavaScript中? 如何处理日历,货币,date等? 我已经阅读过JavaScript中的国际化 。
我已经在这个问题上挣扎了好几个月了,但是我还没有遇到过需要去探索所有可能的select的情况。 现在,我觉得是时候了解可能性,并创build我自己的个人喜好,在我即将到来的项目中使用。 首先让我来描述一下我正在寻找的情况 我即将升级/重新开发我已经使用了很长一段时间的内容pipe理系统。 但是,我感觉多语言对这个系统是一个很大的改进。 在我没有使用任何框架之前,我将为即将到来的项目使用Laraval4。 Laravel似乎是更清晰的PHP代码的最佳select。 Sidenote: Laraval4 should be no factor in your answer 。 我正在寻找平台/框架无关的一般翻译方法。 应该翻译什么 由于我所寻找的系统需要尽可能地方便用户,pipe理翻译的方法应该在CMS内部。 应该没有必要启动一个FTP连接来修改翻译文件或任何HTML / PHP分析模板。 此外,我正在寻找翻译多个数据库表的最简单的方法,而不需要制作额外的表格。 我是怎么想出来的 正如我一直在寻找,阅读和尝试自己已经。 我有几个选项。 但是我仍然不觉得自己已经达到了我真正想要的最佳实践方法。 现在,这是我提出的,但这种方法也有它的副作用。 PHPparsing模板 :模板系统应该由PHPparsing。 这样我就可以将翻译的参数插入到HTML中,而不必打开模板并修改它们。 除此之外,PHPparsing的模板使我能够为整个网站提供1个模板,而不是每个语言的子文件夹(我以前有过)。 达到此目标的方法可以是Smarty,TemplatePower,Laravel's Blade或任何其他模板parsing器。 正如我所说,这应该是独立的书面解决scheme。 数据库驱动 :也许我不需要再提这个。 但解决scheme应该是数据库驱动的。 CMS的目标是面向对象和MVC,所以我需要考虑一个逻辑数据结构的string。 由于我的模板将被构造:模板/控制器/ View.php也许这个结构将最有意义: Controller.View.parameter 。 数据库表将具有这些字段与value字段长。 在模板内部,我们可以使用一些sorting方法,如echo __('Controller.View.welcome', array('name', 'Joshua')) ,参数包含Welcome, :name 。 因此,结果是Welcome, Joshua 。 […]
我要问一个关于如何准备桌面应用程序来支持UI上的多种语言的问题。 在我search关于该主题的现有问题时,我正在考虑“国际”这个词,所以我select了“国际化”标签并通读了一些匹配的问题。 最终,我意识到我应该在标签本地化的问题看。 不过,看起来我并不孤单,把这两个术语搞混了。 那么,它们在本地化和国际化之间的关键区别是什么? 另外,他们之间的区别是否真的那么重要?