对于带有 GUI 的嵌入式系统,我们正在使用我们的自定义翻译系统。字符串存储在微控制器的代码 ROM 中。
目前我们有多达 10 种语言和大约 400 个翻译字符串(因产品变体而异)。
我们目前的系统相当繁琐,我相信 gettext 会是一个更好的解决方案。
据我了解gettext,它需要使用bindtextdomain
来设置包含已编译翻译文件(*.mo)的目录。
有没有办法从记忆中读取翻译?那就是我想在二进制文件中包含已编译的 *.mo 文件,并设置 gettext 以使用这些文件。或者,翻译数据将存储在没有文件系统的数据 EEPROM 中。
或者您能否推荐一个不同的翻译系统用于具有 C 接口的微控制器系统(16 位或 32 位,256 至 512 kbyte ROM)?
编辑:我应该补充一点,除了微控制器固件之外,能够保持翻译将是切换到 gettext 的一个原因。用户将使用我们已经随系统提供的配置软件加载适当的翻译数据。