我想为C ++程序创建多语言功能,类似于Android。
我有文件language.xml和language-us.xml,如果用户的语言是US,则lang_variable在language-us.xml中搜索,如果没有找到,则在language.xml中使用关键字。在代码中,我想访问lang-variables,例如:R.string.lang_variable。
语言文件不能是xml,我只想制作多语言。
谢谢你的回答!
答案 0 :(得分:1)
使用查找表可以轻松完成。
任何需要翻译的短语都会分配一个ID值。
每种语言都有一个ID vs. text
表,可以像文本数组一样简单。
每种支持的语言都有一个ID。每种支持的语言都有一个语言ID与语言表的表。
因此,首先获取语言ID并获取给定语言的翻译表 接下来,使用短语或文本ID从语言表中获取短语。
这与C ++语言没有任何关系。
此外,使用可支持所有必需编码的字符类型,例如多字节或Unicode。
编辑1:电子表格
我们使用的电子表格包含语言ID(第一列)和不同语言的翻译文本(每种语言都是一个单独的列)。然后,我们有一个自定义应用程序,将电子表格转换为适当的表格(如上所述)。