当用户想要以他的语言查看这些字符串时,如何将 Web 应用程序中的一些字符串翻译成不同的语言?
问问题
107 次
1 回答
1
你熟悉i18n吗?它是“internationalization”的缩写,是一个 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!"
我已经制作了这个功能,其中 % 符号内的内容是在保留语言文本后要替换的占位符,以便可以将来自会话或数据库的数据放置在消息中。
请注意语言文件如何包含完全相同的键,但具有不同的值。
当你想显示文本时,
- 您检查您使用的语言(可能来自网址),
- 加载相应的属性文件,
- 获取给定点所需的概念占位符的文本,
- 替换此字符串中的任何数据占位符,
- 并将最终结果推送给用户。
于 2010-12-29T05:54:24.387 回答