如果您可以使用*.lpi文件构建项目,那么我会尝试将以下内容添加到项目的Project.lpi文件中.在下面的代码片段中显示了如何将项目的区域设置ID(对于Windows平台)设置为0405(捷克语).
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
...
<VersionInfo>
<UseVersionInfo Value="True"/>
<Language Value="0405"/>
<StringTable ProductVersion=""/>
</VersionInfo>
...
</ProjectOptions>
...
</CONFIG>
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在使用Lazarus IDE,那么您可以使用Delphi非常相似的设置选项卡,您可以打开它Project / Project Options ...,如在Delphi中那样,如果您将版本信息包含在项目中Version Info,则可以使用Language selection组合框.
不是100%肯定这会起作用,如果这不起作用,请随时投票给我.
Lazarus将继承它开始的语言环境设置.
您可以使用命令行在Linux/OS X中启动Lazarus之前设置区域设置信息:
export LC_CTYPE="pt_BR"
export LANG="pt_BR"
export LANGUAGE="pt_BR"
./lazarus
Run Code Online (Sandbox Code Playgroud)
您编译的应用程序应继承这些设置.
答案的灵感来自于这种解决方法,因为错误已得到修复.
我建议你看一下fpc论坛并在那里问问题.
不要忘记它包括平台(Linux/Windows/OS X)以及您正在使用的FPC和Lazarus的确切版本以及您想要的实际区域设置等详细信息.
更好的答案
来自:http: //forum.lazarus.freepascal.org/index.php/topic,5924.0.html
最后,我设法找到一种简单有效的方法来使我的应用程序可以本地化.它只使用一个单元而没有代码.
1.将单位"defaulttranslator"添加到您的使用列表中.
2.在"项目选项"中启用"i18n",并将"PO输出目录"设置为"区域设置"或"语言".您可以将翻译文件直接放入应用程序文件夹中,但这只会造成混乱.不要忘记创建适当的文件夹.
3.向表单添加组件.如果您已经在表单上拥有所有组件,则必须稍微移动它,以便对其进行修改.
4.保存您的项目.
5.现在"locale"或"languages"文件夹中应该有.po文件.对于不同的语言,应复制和重命名文件,如"project1.XX.po",其中XX是语言代码(例如"en","de"等).
6.使用翻译软件翻译.po文件,并生成.mo文件.我建议使用POEdit.
7.运行您的应用程序,将使用您的区域区域设置选择要使用的翻译.如果您需要测试其他语言 - 只需使用以下命令行参数启动您的应用程序 - "-l XX"或"-lang XX",其中XX是语言代码.
此方法不是非常通用,但它转换资源字符串和LCL组件属性.
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |