用C ++和翻译进行HTML模板化

时间:2010-05-04 17:35:31

标签: c++ localization templates

我在基于C ++的Web应用程序中使用HTML_Template进行模板化(不要问)。我选择它是因为它非常简单,结果证明是一个很好的解决方案。

现在唯一的问题是我希望能够在HTML模板中包含可翻译的字符串(HTML_Template并不真正支持它)。

最终,我想要的是一个包含要翻译的所有字符串的文件。然后可以将其提供给翻译并重新插入应用程序并根据用户在设置中选择的语言进行使用。

我一直在寻找一些选择,并想知道其他人认为最好的选择(或者如果有更好的选择没有列出)

  1. 扩展HTML_Template以包含用于保存要翻译的文字字符串的标记。因此,例如,在HTML中我会添加类似

    的内容

    <TMPL_TRANS "this is the text to translate"/>

  2. 使用完全独立的方案进行翻译并预处理HTML文件以生成最终模板文件(没有特殊的翻译术语)。例如,在预处理文件中,可翻译文本如下所示:

    {{this is the text to translate}}

    ,决赛看起来像是:

    this is the text to translate

  3. 不要做任何事情,让翻译人员在html和js文件中找到要翻译的字符串。

1 个答案:

答案 0 :(得分:0)

如果没有,您可能需要考虑数组。

翻译字符串的一种流行实现是使用表和索引。一个索引用于语言,第二个索引用于字符串。创建一个基于这两个索引返回字符串的函数:
    const std::string& Get_String(unsigned int language_index, unsigned int string_index);

每种语言都有一个字符串表(或const char *)。会有一个指向语言表的指针表,每个支持的语言都有一个表。

最大的痛苦是将现有代码转换为使用此系统。

希望这有帮助。