存储多行文本字符串的有效而简单的方法?

时间:2011-12-31 00:41:12

标签: c++ text

我正试图找到一种方法来做到这一点。

我的游戏是多语言的。 我有English.txt,French.txt等。

我想知道将它存储在文件中的好方法是什么:

<sendbutton.tooltip>
Use this button to send text.

The text can be as long as you like!
</sendbutton.tooltip>

sendbutton.tooltip = Use this button to send text.\n\nThe text can be as long as you like!
然后,我会将这些字符串映射到它们的元素名称以供运行时使用。

除了使用类似XML的标准之外,通常还会做什么?

由于

3 个答案:

答案 0 :(得分:1)

通常这种本地化任务是使用GNU gettext完成的。

答案 1 :(得分:1)

这取决于你何时加载文件。

对于标准翻译内容,我建议你看一下gettext。它提供了翻译工具和简单的方法来包含它。您可以将英文文本存储为包含翻译宏()或T ()或其他内容的C字符串,gettext将为您提供需要翻译的字符串。它还跟踪原始英文文本更改时需要更新的翻译。您将特定语言的所有翻译存储在单独的文件中。

答案 2 :(得分:0)

不确定C ++,但可能是资源文件,其中您为每种语言创建单独的文件,并使用相同的密钥为每个语言创建查找的键/值对,但消息文本的语言正确,例如。

resources.de
  LOGOUT, Abmelden

resources.en
  LOGOUT, Logout

然后根据用户的语言选择,加载相应的资源文件以显示正确的文本。认为你只需用/ n存储mutlilines,如第二个例子所示。