【发布时间】:2013-01-22 09:36:45
【问题描述】:
对于带有 GUI 的嵌入式系统,我们使用的是我们的自定义翻译系统。字符串存储在微控制器的代码 ROM 中。
目前我们有多达 10 种语言和大约 400 个翻译字符串(因产品变体而异)。
我们目前的系统比较繁琐,我相信 gettext 会是一个更好的解决方案。
据我了解gettext,它需要使用bindtextdomain来设置包含已编译翻译文件(*.mo)的目录。
有没有办法从记忆中读取翻译?那就是我想在二进制文件中包含已编译的 *.mo 文件,并设置 gettext 以使用这些文件。或者,翻译数据将存储在没有文件系统的数据 EEPROM 中。
或者您能否推荐一个不同的翻译系统用于具有 C 接口的微控制器系统(16 位或 32 位,256 至 512 kbyte ROM)?
编辑:我应该补充一点,能够在微控制器固件之外维护翻译将是切换到 gettext 的一个原因。用户将使用我们已经随系统提供的配置软件加载适当的翻译数据。
【问题讨论】:
-
也许 gettext 在你的情况下会过分?也许你会做类似this的事情?
-
您可以在二进制文件或假文件 I/O 上设置 RAM 磁盘。
标签: c localization internationalization embedded gettext