0

我试图让我的网站根据用户语言加载不同的 js 文件。可能的?

我得到了这个 javascript 应用程序:test.js <- 在其中我可以定义语言(默认 eng)

因此,我想重新创建 test.js 并将其命名为 test-it.js test-es.js ecc。

在我的索引中,脚本照常加载:

<script type="text/javascript" src="http://mysite.com/test.js"></script>

是否可以设置一个 if/else 条件来检测浏览器语言并加载正确的 js 应用程序?

谢谢,吉奥

4

1 回答 1

0

浏览器通常会发送一个Accept-Language HTTP 标头,指示用户的首选语言。

在 php 中,您可以读取此标头并使用它返回相应的文件。

测试.php

<?php
$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
list($language, $country) = explode('_', $locale);
include 'test-'.$language'.js';
?>

然而,这不是最好的方法,因为您可能希望让用户能够覆盖语言而不使用浏览器的语言。此外,浏览器可能根本不发送语言,或者它可能指定您不支持的语言。此外,像这样使用服务器端选择可能会损害您缓存文件的能力。此外,如果 JavaScript 文件中除了语言之外还有代码,您不希望在多个文件中复制代码。

我建议使用这样的库:http: //i18next.com/

于 2013-06-17T19:01:35.453 回答