Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
支持i18n的JavaScript模板?(然后呢?)_Javascript_Node.js_Internationalization_Translation - Fatal编程技术网

支持i18n的JavaScript模板?(然后呢?)

支持i18n的JavaScript模板?(然后呢?),javascript,node.js,internationalization,translation,Javascript,Node.js,Internationalization,Translation,在遥远的将来,我想发布我的多语言单页应用程序,其中包含各种资源(视频、文本、交互式应用程序),用于web和桌面(脱机)。这一梦想场景还将允许翻译人员访问统一的翻译人员仪表盘,在那里,所有格式的所有翻译都可以众包 但这就是未来 我所寻找的短期解决方案是将i18n集成到JavaScript模板中的有效解决方案。当模板不是一个选项时,也应该有一些方法可以使用,即当动态添加SVG文本元素(应该包含翻译后的字符串)时 我不确定在服务器端(即node.js)这样做的利弊-请告诉我-但如果数据存储可以很容易地

在遥远的将来,我想发布我的多语言单页应用程序,其中包含各种资源(视频、文本、交互式应用程序),用于web和桌面(脱机)。这一梦想场景还将允许翻译人员访问统一的翻译人员仪表盘,在那里,所有格式的所有翻译都可以众包

但这就是未来

我所寻找的短期解决方案是将i18n集成到JavaScript模板中的有效解决方案。当模板不是一个选项时,也应该有一些方法可以使用,即当动态添加SVG文本元素(应该包含翻译后的字符串)时

我不确定在服务器端(即node.js)这样做的利弊-请告诉我-但如果数据存储可以很容易地交换(从数据库到文件等),以防离线交付机制不支持数据库,那就太好了


我应该从哪里开始,有没有什么途径可以让我在从小规模到大规模的过程中不必改变整个范式而增量构建i18n系统?

一个想法可以是定义一个全局快捷方式,如映射(例如)
\ucode>(下划线)对于i18n plugin/library的翻译方法,不管是什么s.t.您都可以从JavaScript代码(因此也可以从模板中)执行如下调用

_("textToLocalize")
它将返回基于当前语言的正确本地化文本


然后,此方法可以联系REST服务(使用适当的缓存)从服务器检索本地化字符串,这些字符串以某种方式在文件/db表中进行管理。

谢谢Juri,您是否建议使用任何特定的i18n库?我使用jQuery.i18n.properties,但我不知道它是否支持远程获取属性。您必须查看Google,但如果您希望在将来创建某种本地化仪表板(如您所述),那么您自己编写代码应该不会太困难。看看-必须提供客户端和服务器端(node.js)、本地存储支持和。。。