Articles of 本地化

在Applet中显示中文文本

我们有一个Applet可以显示中文文本。 我们正在为它指定一个字体(Arial),它在Windows和Mac OSX下工作正常。 但在Linux上的Firefox中,中文字符呈现为正方形。 有没有办法解决这个问题? 请注意,我们不能假定客户端上存在特定的字体文件。

什么是国际化和本地化的好介绍和教程?

我公司使用内部开发的软件包来支持国际化/本地化。 但是,这是二十年前开发的,图书馆只限于一个产品线。 我对艺术的地位感兴趣。 Unicode是今天所有国际努力的基本字符集? 人们仍然使用gettext()和家庭吗? 如果使用C ++,我应该专注于该语言的语言环境支持吗? 我已经看了维基百科的国际化和本地化的条目,其中包括其他网站和相关主题的链接。 但是这里有很多,我想要的是一个源代码,尤其是一本书,它可以很好地介绍当前软件领域的Linux / Unix。 如果实现使用C ++,那很好。 例如,几年前,我读了肯伦德的一本名为“ 理解日本信息处理”的书,后来又修改了一本书,“中日韩信息处理” 。 这两个都很有趣,但当然重点是亚洲语言。 是否有关于当前艺术(书面/书面)语言不可知论的书?

在Windows上设置Python语言环境的正确方法是什么?

我试图以感知区域的方式对string列表进行sorting。 我已经使用Babel库来处理其他i18n相关任务,但不支持sorting。 Python的locale模块提供了一个strcoll函数,但要求将进程的语言环境设置为我要使用的语言环境。 有种痛苦,但我可以忍受。 问题是,我似乎无法真正设置区域设置。 locale模块的文档给出了这个例子: import locale locale.setlocale(locale.LC_ALL, 'de_DE') 当我运行它,我得到这个: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python26\Lib\locale.py", line 494, in setlocale locale.Error: unsupported locale setting 我究竟做错了什么?

psql shell使用代码页850,windows使用1252.如何解决更改控制台代码页?

我已经安装PostgreSQL,想build立一个新的数据库,一切都很好,直到我试图使用欧元符号。 然后我知道,我得到的这个警告是有原因的。 我在启动我的psql shell的警告是: WARNING: Console code page (850) differs from Windows code page (1252) 8-bit characters might not work correctly. See psql reference page "Notes for Windows users" for details. 所以我打算按照我的说法(来自PostgreSQL Documentation 9.2 – psql ): Windows用户注意事项 psql构build为“控制台应用程序”。 由于Windows控制台窗口使用与系统其余部分不同的编码,因此在psql中使用8位字符时必须格外小心。 如果psql检测到有问题的控制台代码页,它会在启动时警告你。 要更改控制台代码页,有两件事是必要的: 通过inputcmd.exe / c chcp 1252来设置代码页。 (1252是适合于德语的代码页;用你的值replace它。)如果你使用的是Cygwin,你可以把这个命令放在/ etc / profile中 。 将控制台字体设置为Lucida控制台 ,因为光栅字体不能与ANSI代码页一起使用。 当我键入cmd.exe […]

如何在Windows中使用启用伪区域进行testing?

Windows Vista引入了三个伪区&#x57DF;的概念: Pseudo Locale Locale Name LCID =================== =========== ====== Base qps-ploc 0x0501 Mirrored qps-mirr 0x09ff East Asian-language qps-asia 0x05fe 启用Base语言环境非常有用,因为您可以检查应用程序是否使用当前语言环境来格式化date,时间,数字,金钱等项目。 例如,当前的语言环境设置为Base时 ,date将被格式化为: [Шěđлеśđαỳ!!!],8ōf[Μäŕςћ!!]ōf2006 Windows的构build实际上是在伪造的 ,然后本地化为英语: 使用这些语言环境的另一个值:它testing您的应用程序不会假设16位PRIMARYLANGID由以下内容组成: 8位主要语言ID 8位的子语言ID 当实际上PRIMARYLANGID是 : 一个10位的主要语言ID 一个6位的子语言ID 或graphics: +———————–+————————-+ | Sublanguage ID | Primary Language ID | +———————–+————————-+ 15 10 9 0 bit 这三个伪区域终于走到了第8位的末端(微软已经为打破越野车应用而疲惫不堪)。 我如何在Windows中启用伪区域设置? 也可以看看 MSDN:伪地区 MSDN:使用伪区域进行本地化testing MSDN博客:Windows […]

为什么不是QString :: localeAwareCompare()正常工作

一位芬兰客户告诉我,芬兰语的正确sorting(locale aware)是:az,å,ä,ö。 但是QString :: localeAwareCompare()在Windows Vista的Qt 4.4.2中将它返回为:a,ä,å,bo,ö,pz。 #include <qapplication.h> #include <qlocale.h> #include <iostream> #include <tchar.h> int main( int argc, char* argv[] ) { QLocale::setDefault ( QLocale( QLocale::Finnish ) ); QApplication app( argc, argv ); QString s1 = "a"; QString s2 = "ä"; QString s3 = "å"; QString s4 = "b"; QString s5 = "o"; QString […]

devisestring本地化的最佳方法

这是一个普遍的问题,是开放的意见。 我一直在想出一个很好的方法来为Windows MFC应用程序和相关实用程序devisestring资源的本地化。 我的心愿是: 必须保留代码中的string文字(而不是用macros#define资源ID的replace),以便消息仍然可以内联 必须允许本地化的string资源(杜) 不得施加额外的运行时环境限制(例如:依赖.NET等) 应该对现有的代码有最小的影响(修改越less越好) 应该是可debugging的 应该生成通用工具可编辑的资源文件(即:通用格式) 不应该使用复制/粘贴注释块来保留代码中的文本string,或者其他任何可能导致解除同步的潜力 如果允许静态(编译时)检查每个“notated”string在资源文件中, 如果允许跨语言资源string池(对于各种语言的组件,例如:本地C ++和.NET) 除了静态检查之外,我有一种方法可以在某种程度上满足我的所有愿望,但是我必须开发一些自定义代码来实现它(并且有其局限性)。 我想知道是否有人以特别好的方式解决了这个问题。 编辑:我目前的解决scheme是这样的: ShowMessage( RESTRING( _T("Some string") ) ); ShowMessage( RESTRING( _T("Some string with variable %1"), sNonTranslatedStringVariable ) ); 然后,我有一个自定义实用工具从“RESTRING”块中parsing出string,并将它们放到.resx文件中进行本地化,并使用一个单独的C#COM对象从本地化资源文件中加载它们。 如果C#对象不可用(或无法加载),我将回退到代码中的string。 macros展开为调用COM对象的模板类,并进行格式化等。 无论如何,我认为这将是有益的,加上我现在的参考。

切换远程应用程序的input语言

是否可以切换input语言的另一个应用程序? 具有应用程序的进程ID,线程ID,窗口句柄等

奇怪的字符:R和Windows语言环境的交互?

WinXP-x32,R-2.13.0 亲爱的名单, 我有一个问题,(我认为)涉及Windows和R之间的交互。 我试图用夏威夷群岛上的数据刮一张桌子。 这是我的R代码: library(XML) u <- "http://en.wikipedia.org/wiki/Hawaii" tables <- readHTMLTable(u) Islands <- tables[[5]] 输出是(第一组列): Island Nickname > > Islands Island Nickname > > Location 1 HawaiÊ»i[7] The Big 岛19°34°N 155°30°/ 19.567°N 155.5°/ 19.567; -155.5 2毛伊岛[8]谷岛20°48“N 156°20”/ 20.8°N 156.333°W / 20.8; -156.333 3卡霍·奥拉韦[9]目标岛20°33'N 156°36°/°C 20.55°N 156.6°/ 20.55°; -156.6 4拉涅我[10]菠萝岛20°50“N 156°56”/ 20.833°N 156.933°/ 20.833; -156.933 […]

只有当我没有英文string表时,LoadString才起作用

我希望能够以编程方式修改应用程序的语言,或者至less使用控制面板 – >区域和语言选项 – >格式中指定的语言。 如果我添加一个英文string表,做一个法语和德语的副本,并删除英文的一个,我可以编程方式加载法语和德语string之间切换。 如果我保留英文版,无论如何,当我尝试加载德文或法文时,英文string会被加载。 我认为这是一个资源加载程序错误,如果资源加载器忽略SetThreadLocale,如果它find一个与windows ui语言(例如Windows资源pipe理器菜单的语言)相同语言的string表。 我试图将控制面板 – >区域和语言选项 – >格式更改为法语,但没有任何效果。 资源编辑器显示没有附加语言的法语string表,但我的程序仍然总是加载英文string。 将此更改复制到系统帐户也不起作用。 这是我试过的代码: #include "stdafx.h" #include <iostream> #include "windows.h" // this should go to stdafx.h #include "resource.h" // this should not go to stdafx.h using namespace std; int _tmain(int argc, _TCHAR* argv[]) { // 1036 = french, 1031 = german SetThreadLocale(MAKELCID(1036, […]