Web应用程序中一些字符串的翻译。

2020年2月12日 40点热度 0条评论

当用户希望以他的语言查看那些字符串时,如何将Web应用程序中的一些字符串转换为另一种语言?

解决方案如下:

您对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!"

我已经完成了此功能,其中%符号内的内容是占位符,保留了语言文本后将其替换,以便可以将会话或数据库中的数据放入消息中。

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

当您想显示文字时,

您检查您使用的是哪种语言(可能是来自网址),

加载相应的属性文件,

获取给定点所需的概念性占位符的文本,

替换此字符串中的所有数据占位符,

并将最终结果推送给用户。