Articles of 国际化

Rails国际化:从域名设置区域设置

我试图在我的Rails应用程序上实现国际化。 这是我的应用程序控制器的一部分 before_action :set_locale def set_locale I18n.locale = extract_locale_from_tld || I18n.default_locale end def extract_locale_from_tld parsed_locale = request.host.split('.').last I18n.available_locales.include?(parsed_locale.to_sym) ? parsed_locale : nil end 它似乎不工作,我只能设置使用scope "(:locale)", locale: /en|se/ do在我不想要的路线的url params的区域设置。 从导轨指南,他们指出,切换菜单应该像这样执行。 link_to("Deutsch", "#{APP_CONFIG[:deutsch_website_url]}#{request.env['REQUEST_URI']}") 你怎么实现这个? 我目前的切换菜单看起来像这样。 <% if I18n.locale == I18n.default_locale %> <li><%= link_to image_tag("eng.png", :alt => "England", :class =>"round"), :locale=>'en' %> <li><h5><%= link_to_unless I18n.locale == :se, […]

gettext的效率:内存中的翻译

我有一个embedded式系统与Flash和一个非常低端的CPU和较less的RAM。 我想知道使用.MO文件gettext语言翻译的效率。 为了进行语言环境语言string获取,每次gettext从flash读取MO文件时,首先将完整的MO二进制文件加载到RAM中,并从那里执行语言环境string提取? 如果MO文件(由于有很多string会很大〜1Mb)总是加载到RAM中,所以会消耗掉我的RAM。

我怎样才能改变GNUCash UI语言?

我一直在试图改变GNUCash UI语言,因为它在这里描述: 链接 通过在terminal中运行以下命令: LANGUAGE=ar_SY LANG=ar_SY gnucash 但它返回了以下内容: 环境中定义的语言环境不受支持。 回到“C”(美国英语)区域设置 有什么解决方法吗 我认为必须有一种通用的方式来运行一个特定语言的GTK应用程序。

为什么区域设置es_MX工作但不是es?

GNU gettext的维基百科条目显示了一个例子,其中语言环境只是语言“fr”。 i18n gettext()“hello world”示例具有语言和国家/地区的语言环境值“ es_MX ”。 我已经修改了“ es_MX ”的例子来使用es_MX ,但是它会产生英文文本而不是预期的西class牙文。 cat >hellogt.cxx <<EOF // hellogt.cxx #include <libintl.h> #include <locale.h> #include <iostream> int main (){ setlocale(LC_ALL, ""); bindtextdomain("hellogt", "."); textdomain( "hellogt"); std::cout << gettext("hello, world!") << std::endl; } EOF g++ -o hellogt hellogt.cxx xgettext –package-name hellogt –package-version 1.2 –default-domain hellogt –output hellogt.pot hellogt.cxx msginit –no-translator […]

邮编格式的PHP区域设置

我正在尝试使用PHP在Linux中使用语言环境设置来validation国际站点的邮政编码。 如果它能工作的话,会节省很多时间。 我已经在安装的语言环境中检查了LC_ADDRESS设置,并且看到每种语言/市场都有validation的模式。 locale -c LC_ADDRESS 我如何使用PHP访问这些信息? localeconv()不包含关于本地地址validation的任何信息。

Qt:图像的国际化

我知道像GNU gettext这样的软件使软件多语言。 你给它一个stringID,它会返回翻译的string。 但是我也需要这个在Qt中的图像。 例如,如果我在en_US语言环境中显示图像,如果设置了ja_JP或fr_FR语言环境,我想要显示不同版本的图像。 Qt不build议这样做。 但是我仍然需要这样做。 我正在C / C ++,Linux上工作。 是否有任何标准的方式(如gettext )实现这个图像? 任何build议,将不胜感激。

在Linux中的每线程语言环境

有没有可能在Linux中指定每个线程?

如何在Linux上的Java程序中更改input法?

我正在编写一个Java应用程序,在这个应用程序中,我需要能够根据用户请求更改input方法(比如从英文到日文)。 通常,用户只需进入Windows / Linux系统设置并在那里更改。 但是,对于这个特定的应用程序,用户将无法访问这些菜单。 我在SO和其他地方做了相当多的研究。 我find的解决scheme使用InputContext.selectInputMethod([locale])方法。 这适用于Windows(使用Windowsregistry中的IME),但似乎无法使其在Linux上运行(即使select了安装了相应语言包的语言环境,它也总是返回false。 理想情况下,我想有一个完全平台独立的实现,但我至less需要它在Linux上工作。 那么我错过了什么? 我是否需要将input法作为扩展名安装? 有没有build立在我可以使用的IME? 看起来这不难实现,但是我发现了一些具体的信息。 在此先感谢您的反馈!

Windows和Linux的spring i18n行为是不同的

我使用Spring引导i18n。 在Windows中,如果select的语言环境没有语句A,它将使用messages.properties中的语句。 在CentOS中,如果select的语言环境中没有语句A,则首先使用messages_en_US.properties中的语句,如果messages_en中没有语句,则使用messages.properties中的语句。 为什么不一样? @Bean public LocaleResolver localeResolver() { CookieLocaleResolver clr = new CookieLocaleResolver();//also can use SessionLocaleResolver clr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); return clr; } @Bean public LocaleChangeInterceptor localeChangeInterceptor() { LocaleChangeInterceptor lci = new LocaleChangeInterceptor(); lci.setParamName("locale"); return lci; } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(localeChangeInterceptor()); }

i18n / gettext:web应用程序中的setlocaleconfiguration

所以我开始弄乱gettext但是我仍然对某些事情感到困惑,如果有人能够帮助我并为我填补空白,那将是非常棒的。 通常大部分的实现只是基于一个语言参数调用setlocale 。 有什么情况下我需要使用putenv ,也许是在Windows设置的边缘情况? 我的php框架的默认语言是英文,UTF-8 – 所以我把LC_ALL设置为en_US.utf-8 ,因为en_US是ISO-8859-1 / Latin1,显然这不像UTF-8那样支持? 在调用setlocale(LC_ALL, 'en_US.utf-8')之后,我应该知道哪些陷阱? 由于它改变了所有这些: LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME, and LC_MESSAGES – 我将不得不更新任何脚本,例如,生成时间或类似的东西? 比方说,新configuration的服务器没有configurationes_ES.utf-8语言环境,我知道如何生成语言环境,但是如果不能使用,我应该在数组中提供备份吗? 如果有人能提供一个实际的例子,那将是非常好的,例如: setlocale( LC_ALL, array('es_ES.UTF-8', 'es_ES', 'es') ) 有什么样的网站提供这样的例子,或者人们通常会自己排列优先顺序吗? 我在某个地方看到, locale或i18n文件夹的常见结构如下所示。 这个结构真的很重要吗? 似乎所有这一切发生的时候,你bindtextdomain('messages', 'locale')recursionsearch该目录messages.mo ,我可能不会注意,但它可能会考虑目录。 我应该对结构有多严格? locale en_US LC_MESSAGES messages.po es_ES LC_MESSAGES messages.po 6.我是否应该试图testing系统是否真的支持locale? 因为例如,如果一个服务器没有语言环境,我试图用setlocale设置它,它不会错误或任何东西,它只会默默地让它通过。