我的项目应该支持GUI的不同语言(西班牙语、英语、德语等)。我使用的是CodeIgniter,所以我对使用语言类的PHP视图没有任何问题。我可以在PHP上加载一些以前定义的vars,以便用不同的语言创建视图。
问题就在这里:
有些特性(实际上有很多)使用Javascript:针对某些项目的个性化上下文菜单、动态创建的不同DIVs等等。这些特性大多是动态创建的,因此我无法知道所选语言(我可以创建大量重复代码,每种语言都创建一个代码,但这太冗余了)。
我需要找到一种方法将这些内容翻译成用户先前选择的新语言。
例如:
用户右键单击和上下文菜单有以下选项(使用Javascript动态创建):
当用户将页面语言更改为“西班牙语”时,上下文菜单应显示:
有没有办法用不同的语言保存一些带有所有名字的变量,然后加载以创建菜单?
很抱歉有这么大的职位。我希望每个人都能帮我,或者给我一点小费。
发布于 2011-01-21 19:19:40
当您希望i18n (“国际化”的缩写)在服务器端语言和客户端Javascript中工作时,可以使用几个系统。
这是我为PHP和JavaScript找到的一个例子:http://doc.silverstripe.org/sapphire/en/topics/i18n
我用PHP、Ruby和Python做过这件事。一般来说,有一种方法是这样做的。创建一个文本库。这个库有指向文本特定部分的指针。在您的代码中,您可以使用该指针来引用该文本。上面的示例为您提供了一种在PHP中创建一个库的方法,该库可以编译成您可以在JavaScript中调用的JavaScript等价物。基本上,它完全将文案和其他文本从代码中分离出来。
我希望这能帮助你在路上。
发布于 2011-01-21 19:13:42
有没有办法用不同的语言保存一些带有所有名字的变量,然后加载以创建菜单?
我想你是在问你是否可以保存这些用户偏好?
如果是这样,则将其作为cookie存储在用户的计算机上。
如果您不是这个意思,并且您想要存储所有语言的变体,那么您可以将它存储在一个可以由javascript加载的数组中。
https://stackoverflow.com/questions/4762763
复制相似问题