如何更好地构建多语言Javascript代码?

发布于 2024-10-16 13:07:32 字数 814 浏览 8 评论 0原文

我们正在重写 Web 服务的 jQuery 代码,并且正在考虑更好的组织方式。我们已经阅读了一些SO问题、文章等;这是第一种方法,但我们很乐意收到反馈。

我们将为页面的每个对象(地点、用户等)创建一个类。我们计划使用 Low Pro (文章),因此我们将所有代码集中在一处。

然而,我们需要从 PHP 传递一些变量(user.id、user.name 等)。我们认为最好的方法是打印 json 并将其传递给通用类。

var array = {
  'key1' => 'value',
  'key2' => 'value',
  'key3' => 'value',
};
var te = new TE(array);

TE.js 将在那里分配变量,以便其他类可以使用它们。由于我们有一个多语言网络,因此我们需要以多种语言提供消息。我们将做一些类似于JavaScript中的多语言警报消息的答案,

你觉得怎么样?有没有更好的方法来加载初始数组?还有其他建议或文章吗?

谢谢!

We are rewriting the jQuery code of our web service and we are thinking on a better way to organize it. We've been reading several SO questions, articles, etc; and this is a first approach, but we would love to receive feedback.

We are going to have a Class for each object of the page (Place, User, etc). We are planning to use Low Pro (Article) so we have all the code in one place.

However there are some variables that we need to pass from PHP (user.id, user.name, etc). We have thought the best way is to print a json and pass it to a general class.

var array = {
  'key1' => 'value',
  'key2' => 'value',
  'key3' => 'value',
};
var te = new TE(array);

TE.js will assign variables there so the other classes can use them. As we have a multilingual web, we need to have the messages in several languages. We will do something similar to the answers of Multilingual alert messages in JavaScript

What do you think? Is there a better way to load the initial array? Any other suggestion or article?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

沉睡月亮 2024-10-23 13:07:32

我会将所有翻译后的单词存储在单独的 JS 中,以便客户端可以缓存它们,并且您不会遭受重复的数据(IE,多个 JQuery 类可以引用同一个单词的相同索引)。

I would store all the translated words in separate JS so that they can be cached by the client, and you wont suffer repeated data (IE, multiple JQuery classes can reference the same index for the same word).

慕巷 2024-10-23 13:07:32

您链接到的方法将为客户端带来更大的带宽占用。如果您打算拥有数千个键值对和多种不同的语言,请考虑仅将英语键/值对流式传输到客户端,或将法语键/值对流式传输到客户端。

The approach that you linked to will incur a larger bandwidth footprint for clients. If you intend to have thousands of key value pairs, and many different languages, consider having only English key/value pairs streamed to clients, or French key/value pairs streamed to clients.

魂归处 2024-10-23 13:07:32

我们最终使用 Classy.js 来创建类。我们构建了自己的主类,该类加载我们在 body 标记的 data-params 属性上以 json 形式打印的参数。

正如 Tom 和 Shan 所建议的,我们有两个不同字段的 js 类的翻译字符串。

We are finally using Classy.js for having Classes. We have built our own main Class that loads the params we print as a json on the data-params attribute of the body tag.

We have the translation string for the js classes on two different fields as Tom and Shan suggested.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文