我应该如何本地化现有的 JavaScript Web 应用程序?

2024-01-16

我有一项非常棘手的任务要做:有一个现有的 Web 项目(2 个 HTML 文件、一些插件和一个包含大约 2000 行代码的主要 JavaScript 文件),我现在必须对其进行本地化。毫无疑问,这应该早点考虑到,但他们只是错过了。您将如何寻找解决方案?

页面初始加载时,存在一些仅包含少量文本元素的元素。但也有很多 DOM 元素和错误警报是动态添加和删除(使用 jQuery)的。

我想我将在服务器(即 .NET/C#)上拥有具有唯一名称/编号的文本资源(哪种文件?)。在加载网页时,我可以检测用户代理的语言,然后将其发送到服务器,以便“它”准备正确的资源。然后我应该有一个类似的方法getText(uniqueName)它通过 AJAX 从服务器请求正确的文本。但这会产生大量 AJAX 请求。

我只有一些想法,但还没有什么“真实的”。

你能帮忙出点主意吗?服务器必须处理什么,脚本将处理什么,以及如何处理?

Thx.


我使用单独的.js文件如strings-en.js。我加载.js根据我的用户数据库中的设置动态文件。

Demo: http://jsfiddle.net/ThinkingStiff/uUTkN/ http://jsfiddle.net/ThinkingStiff/uUTkN/

strings-en.js:

var STRINGS = {

    "userLabel": "username",
    "userPlaceholder": "enter username..."

    //...

};

HTML:

<script src="strings-en.js"></script>

<label id="user-label" for="user"></label>
<input id="user" />

CSS:

#user-label::after
{
content: ":";  
}

Script:

document.getElementById( 'user-label' ).textContent = STRINGS.userLabel;
document.getElementById( 'user' ).setAttribute( 'placeholder', STRINGS.userPlaceholder );

Output:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该如何本地化现有的 JavaScript Web 应用程序? 的相关文章

随机推荐

  • 使用 OrientDB 递归遍历有向边

    我正在尝试从给定节点递归遍历出站边缘 而不是入站边缘 我想要查询结果中包含出边和出顶点 下图中 从 a 开始 我需要 a b c d e 包括边缘 但不包括 c 之后的部分 即 lt x a gt b gt c lt x gt d gt e
  • 跟踪嵌入的 YouTube 视频观看次数

    我在我的网站中嵌入了一些 YouTube 视频 我想使用 google Analytics 跟踪每个视频的观看次数 但我无法捕获任何 onClick 事件 因为视频是使用 iFrame 嵌入的 如何使用 iFrame 跟踪嵌入在我的网页中的
  • React-router 链接不起作用

    React router 的起步非常糟糕 看起来基本的东西不起作用 使用react router 2 0 0我的Link组件将URL更新为 about 但我的页面在那之后不会渲染About组件 入口点js var React require
  • 使用 Moq 模拟 EF DbContext

    我正在尝试使用模拟的 DbContext 为我的服务创建单元测试 我创建了一个界面IDbContext具有以下功能 public interface IDbContext IDisposable IDbSet
  • 跨浏览器 nowrap 文本区域

    我正在寻找一种跨浏览器解决方案 文本区域 文字换行only输入时 滚动条都隐藏 直到文本溢出 我已经尝试了几乎所有可以在SO中找到的东西 失败 1 textarea white space nowrap overflow auto 在 FF
  • 最好的免费测试跟踪软件是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Vuejs 和 Vue.set(),更新键/值数组

    我想弄清楚如何this set aka Vue set api 在使用它更新多维数组时起作用 Given new Vue el app data rows id 4 edit true id 5 edit false 我将如何使用 this
  • 为什么 data.tables mutate(row_number()) 失败?

    当我尝试使用时row number from dplyr在 data table 上 它会抛出错误 这是一个例子 library dplyr library data table mine lt data table a 1 10 mine
  • 通过正则表达式解析CSS

    我正在创建一个 CSS 编辑器 并尝试创建一个可以从 CSS 文档获取数据的正则表达式 如果我有一个属性 则此正则表达式有效 但无法让它适用于所有属性 我在 PHP 中使用 preg perl 语法 Regex
  • 有人使用过 __COUNTER__ 预处理器宏吗?

    The COUNTER 符号由提供VC http msdn microsoft com en us library b0084kay VS 80 aspx和GCC 并且每次使用时都会给出一个递增的非负积分值 我有兴趣了解是否有人使用过它 以
  • 如何找出当前的溢出检查上下文?

    有没有办法在 C 中做到这一点 例如 如果调用您的方法并且您想知道调用者是否已将方法调用放入已检查的块中 checked unchecked块始终是方法的本地块 关键字影响如何为块中的语句和表达式生成 IL 它不会传播到调用的方法 并且无法
  • 如何在 Google Drive 上为 Google Colab 安装 conda?

    wget https repo anaconda com miniconda Miniconda3 py37 4 8 2 Linux x86 64 sh chmod x Miniconda3 py37 4 8 2 Linux x86 64
  • Linq、表达式、NHibernate 和 Like 比较

    我试图根据确定比较类型的外部参数 通过搜索表单传递 进行类似的比较 string or string or string 我朝以下方向思考 query query Where Entity StringProperty Like Searc
  • setItemWidget 导致崩溃

    我正在尝试添加一个QLabel to a QTreeWidgetItem但Python崩溃了setItemWidget call 有什么想法为什么会崩溃吗 这是代码 from PySide import QtCore QtGui view
  • 如何使用 pyglet 显示 numpy 数组?

    我有一个尺寸为 100 100 的标签矩阵 存储为 numpy 数组 我想用 pyglet 显示该矩阵 我最初的想法是使用这个矩阵通过函数 pyglet image ImageData 形成一个新的 pyglet 图像 它需要图像数据的缓冲
  • 如何在本地加载 wasm 模块?

    我正在尝试使用 JavaScript 和 WebAssembly 制作一个简单的 独立的 只有一个 html 文件和一个 wasm 文件 离线数据可视化 但是 我在从本地文件加载 WASM 模块时遇到问题 第一个麻烦是CORS 尝试使用亲戚
  • 使用rentrez从pubmed中解析出作者和隶属关系

    我的总体目标是构建一个共同作者网络图 我有一份 PubMed ID 列表 这些是我唯一对绘制合著者网络图表感兴趣的出版物 我不知道如何使用rentrez 在查询中将作者姓名和各自的隶属关系放在一起 我可以获得这两个信息 但我的隶属关系列表比
  • 在 Python 中使用正则表达式替换除特定元素之外的所有元素

    在Python中使用正则表达式 我试图删除字符串中的所有XML类型元素 除了那些包含QUOTE的元素 例如
  • 如何包含文件上传对话框

    我获得了一些 C 图形扩展代码来上传 Excel 文件 以便导入到 购买收据 屏幕上的 分配 弹出屏幕中 未包含的是似乎用作对话框的 PXSmartPanel 任何关于如何设置 配置此智能面板以实现给定代码中的目的的帮助将不胜感激 有问题的
  • 我应该如何本地化现有的 JavaScript Web 应用程序?

    我有一项非常棘手的任务要做 有一个现有的 Web 项目 2 个 HTML 文件 一些插件和一个包含大约 2000 行代码的主要 JavaScript 文件 我现在必须对其进行本地化 毫无疑问 这应该早点考虑到 但他们只是错过了 您将如何寻找