Node.js Grunt:用多种语言编译页面(翻译)
我有一个非常简单的问题,但仍然无法找到任何解决方案。 我的网站应该在两个不同的文件夹中以两种语言“发布”(=grunt publish) 我想象的Node.js Grunt:用多种语言编译页面(翻译),node.js,gruntjs,Node.js,Gruntjs,我有一个非常简单的问题,但仍然无法找到任何解决方案。 我的网站应该在两个不同的文件夹中以两种语言“发布”(=grunt publish) 我想象的 index.html <!DOCTYPE html> <html> <body> <. hello_world /> </body> </html> <!DOCTYPE html> <html> <body> Hello Wo
index.html
<!DOCTYPE html>
<html>
<body>
<. hello_world />
</body>
</html>
<!DOCTYPE html>
<html>
<body>
Hello World!
</body>
</html>
<!DOCTYPE html>
<html>
<body>
Hallo Welt!
</body>
</html>
然后应编译为
en/index.html
<!DOCTYPE html>
<html>
<body>
<. hello_world />
</body>
</html>
<!DOCTYPE html>
<html>
<body>
Hello World!
</body>
</html>
<!DOCTYPE html>
<html>
<body>
Hallo Welt!
</body>
</html>
有人知道这样的咕噜任务吗?对任何有兴趣做同样事情的人来说,有一个/咕噜角gettext可以做到这一点
无论如何,我最终还是选择了,因为它只编译了一个包含所有语言的站点版本,这意味着用户可以在运行时更改语言。我看不到任何现成的解决方案可以做到这一点。您可以使用和任务提取所有需要翻译的字符串,并生成所需的json文件 然而,我找不到任何已经在那里编译html和插入翻译为您。大多数代码都存在于中。您需要在运行时修改它并在任务中而不是在角度中运行代码 如果您选择此路线,index.html可能如下所示:
<!DOCTYPE html>
<html>
<body>
<span translate>Hello World!</span>
</body>
</html>
你好,世界!
加载字符串的代码位于catalog.js
中的setStrings
函数中,检索字符串的函数名为getString
这不是一个理想的解决方案,但它确实很重要。我发现了一个可以实现这一点的grunt任务:
angular gettext也可以在运行时切换语言。它可以把所有的或做类似于angular translate的方式。我不知道angular gettext支持延迟加载。就功能而言,这是一个更好的选择。然而,该项目已经完成,我们没有进一步的发展。