我有一个PHP应用程序是广泛使用的Javascript在客户端。我有一个简单的系统上PHP侧,用于提供笔译员的一个简单的方法来提供新的语言。但在有些情况下javascript需要显示语言要素的使用者(或许一个确定或取消按钮或"装载"或类).

PHP,我只有文本文件,是缓存服务器上面,其中包含短语码在一边以及他们的翻译。一名翻译,只是需要替代英语用自己的语言,给我的翻译版本,我的融入应用程序。

我希望类似的东西在客户端。它发生在我有一个javascript包括这只是一个设定的翻译常数,但随后每页载荷下载的一个潜在的大量文件,其中大多数是不必要的。

有任何人不得不处理与这个吗?如果是这样,什么是你的解决方案吗?

编辑:到是清楚的,我不是指"飞行"翻译这里。翻译已经做好准备,并准备去,我只需要他们提供给客户的一种有效的方式。

有帮助吗?

解决方案

关于如何喂养javascript从php?因此,而不是起伏:

  <script type='text/javascript' src='jsscript.js'></script>

 <script type='text/javascript' src='jsscript.php'></script>

然后在php文件替换所有输出的文本与其相关的常数。

一定要输出正确的缓存头从内PHP code.

编辑

这些都是标题I使用:

header('Content-type: text/javascript');
header('Cache-Control: public');
header('expires: '. date("r", time() + ( 7 * 24 * 60 * 60 ) ) ); // 1 week
header("Pragma: public");

其他提示

我通常将相应的语言值作为JavaScript对象加载到我的其余代码可以引用的单独文件中:

var messages = {
    "loading": "Chargement"
}

alert(messages.loading);

首次加载后,语言库将在客户端缓存,您可以通过将值拆分为基于上下文加载的单独文件来提高加载效率:一个用于公共运营的小型图书馆,一个登录后的额外图书馆等。

您正在寻找的是 AJAX (客户端和服务器交换)使用Javascript的异步请求。

如果您正在寻找现成的产品,请在 Google上登顶翻译AJAX API

我从未亲自做过这件事,但我的第一个猜测是引用第三方库。我相信Google AJAX API可能只有这样做的工具,而且由于该库是通过Google进行的,因此不会从您的网站下载javascript文件。

尝试深入了解以下网站: http://code.google。 COM / API的/ ajaxlanguage /文档/

如果有帮助,请告诉我。我可能有兴趣为我管理的网站实施类似的东西。

祝你好运, ç

我喜欢Pim Jager的回答,并且自己做了。如果您不希望让PHP为您生成JavaScript(例如,出于性能原因),您可以拥有JavaScript库的主副本,当它们发生更改时,运行转换程序以生成每个lib的版本对于每种语言。然后让PHP将当前用户的正确版本放在它发送的脚本标记中。

我致力于为不同客户提供重型本地化和重型品牌的系统。我们所做的是发送到屏幕的任何内容都有一个独特的宏,比如 [ 3027 ] (或类似的东西)。然后我们有一堆语言环境和品牌文件,每个宏代码都有条目,还有用来替换每个宏的文本。程序将循环遍历所有源文件和所有语言并进行替换。

我们发现我们还需要一些本地化功能,包括货币金额,日期,时间等。这一切都运作良好。

我们发现我们需要一个更重要的事情:一个工具来浏览所有语言文件并确保它们都具有所有必需的代码。节省大量时间。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top