繁体   English   中英

使用Javascript从动态内容更改语言

[英]Change language from dynamically content using Javascript

我的项目应支持GUI的不同语言(西班牙语,英语,德语等)。 我正在使用CodeIgniter,因此使用Language Class的PHP视图没有任何问题。 我可以在PHP上加载一些先前定义的变量,以创建不同语言的视图。

问题来了:

有些功能(实际上有很多)使用Javascript:某些项目的个性化上下文菜单,动态创建的差异DIV等。大多数功能是动态创建的,所以我不知道所选的语言(我可以创建很多语言)重复的代码,每种语言对应一个,但这太多余了)。

我需要找到一种将内容转换为用户先前选择的新语言的方法。

例如:

用户右键单击和上下文菜单具有以下选项(使用Javascript动态创建):

  • 你好
  • 再见

当用户将页面语言更改为“西班牙语”时,上下文菜单应显示:

  • 你好
  • 阿迪奥斯

有什么方法可以用不同语言的所有名称保存一些变量,然后加载以创建菜单?

对不起,我的帖子很大。 我希望每个人都能帮助我或给我一些提示。

当您希望i18n(“国际化”的缩写)在服务器端语言以及客户端Javascript中运行时,可以使用多种系统。

这是我在PHP和JavaScript中找到的示例: http : //doc.silverstripe.org/sapphire/zh-CN/topics/i18n

我已经在PHP,Ruby和Python中做到了。 通常,有一种方法可以完成此操作。 您创建一个文本库。 该库具有指向该文本特定部分的指针。 在代码中,您可以使用该指针来引用该文本。 上面的示例确实为您提供了一种用PHP创建库的方法,该库可以编译为可在JavaScript中调用的等效JavaScript。 基本上,它完全将文案写作和其他文本与代码分开。

希望这对您有所帮助。

有什么方法可以用不同语言的所有名称保存一些变量,然后加载以创建菜单?

我假设您是在询问是否可以保存这些用户首选项?

如果是这样,请将其作为Cookie存储在用户的计算机上


如果您不是这个意思,并且想要存储所有语言的变体,则可以将其存储在可以由javascript加载的数组中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM