在Web应用程序中翻译几个字符串。

时间:2010-12-29 05:26:50

标签: java javascript database webserver appserver

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

1 个答案:

答案 0 :(得分:1)

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

有些人喜欢使用属性文件。您在其i18n语言名称后命名属性文件。因此,对于英语和瑞典语文本,您将拥有例如 en-us.properties sw-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!"

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

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

当你想要显示文字时,

  • 你检查一下你所使用的语言(也许这来自网址),
  • 加载相应的属性文件
  • 获取给定点所需的概念占位符的文本
  • 替换此字符串中的所有数据占位符
  • 并将最终结果推送给用户。