0

当用户想要以他的语言查看这些字符串时,如何将 Web 应用程序中的一些字符串翻译成不同的语言?

4

1 回答 1

1

你熟悉i18n吗?它是“internationalization”的缩写,是一个 20 个字母的单词:首先是“i”,然后是 18 个字母,然后是“n”:D

有些人喜欢为此使用属性文件。你用它的 i18n 语言名称命名属性文件。因此,例如英语与瑞典语文本的en-us.propertiessw-se.properties。在这些文件中,您将拥有要显示的某些文本的占位符名称,以及它们的实际值。请记住,占位符不能有空格!

en-us.properties将包含

welcome_message = "welcome %user%\nplease check your weapons at the door :)"
logout_button_text = "log out"
good_bye_message = "godspeed to you %user%!"

sw-se.properties将包含

welcome_message = "välkommen %user%\nvänligen lämna dina vapen vid dörren :)"
logout_button_text = "logga ut"
good_bye_message = "%user%, vi önskar dig en lycklig resa!"

我已经制作了这个功能,其中 % 符号内的内容是在保留语言文本后要替换的占位符,以便可以将来自会话或数据库的数据放置在消息中。

请注意语言文件如何包含完全相同的键,但具有不同的值。

当你想显示文本时,

  • 您检查您使用的语言(可能来自网址),
  • 加载相应的属性文件,
  • 获取给定点所需的概念占位符的文本,
  • 替换此字符串中的任何数据占位符,
  • 并将最终结果推送给用户。
于 2010-12-29T05:54:24.387 回答