是否存在用于小型嵌入式系统的最小gettext实现?我需要将我的应用程序翻译成几种不同的语言。这个应用程序在50 The的ARM7中央处理器上运行,带有FreeRTOS和最小的libc,但是没有文件系统。我已经研究过GNU gettext工具,但是在我的平台上移植libintl的任务看起来有点令人生畏。有什么想法吗?
发布于 2011-03-15 00:22:29
本地化在嵌入式系统中可能是一个巨大的痛苦。首先要考虑几件事:您翻译的语言是否需要备用字符集?您是在图形显示器上显示文本,还是在串行控制台之类的地方显示文本?
如果翻译的语言集相对较小,而文本字符串集定义良好,则可以避免使用成熟的翻译库。我继承了一个嵌入式产品,它使用了一组特定于语言的字符串表。每个文本元素在表中都有一个位置,因此可以先按语言,然后按元素在2D表中查找特定的翻译文本。(这些表存储在此应用程序的ROM中。)
如果你走这条路,还有许多其他的问题需要考虑。有些语言表达内容或多或少比英语简洁。德语就是一个很好的例子--简单的短语可以像句子一样长。因此,当一个文本元素的长度因语言而异时,您应该做好准备。在我继承的应用中,这是通过将表格扩展到3D来实现的,这样一个文本元素可以有不止一条“线”。当然,文本布局(缩写、句子长度、分页等)也可以从这里扩展。
如果ROM空间有限,您可以考虑翻译的短语片段,然后根据需要将它们粘贴在一起。这种所谓的字符串合并方法可能很棘手,因为所需的本地化短语可能会笨拙地转换为代码片段。换句话说,如果你随意地将翻译后的文本片段粘贴在一起,就应该为“英语”做好准备。Babelfish等人可以提供帮助,但辩解是母语人士对最终产品的很好的国内审查。(注意:母语人士应该使用“普通”方言。)
发布于 2011-03-15 17:45:40
如果你开的是液晶显示器,可能值得看看EasyGui - www.easygui.com -因为它有一个翻译模块,使得管理翻译变得非常容易。
您可以查看PC上的显示布局并动态更改语言,检查文本是否适合分配的空间。
还有一个翻译插件,它是一个EXE文件,你可以发送给翻译人员,这样他们就可以看到各种语言以及它是如何在屏幕上工作的。
https://stackoverflow.com/questions/5300079
复制相似问题