Node.js Grunt:用多种语言编译页面(翻译)

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

我有一个非常简单的问题,但仍然无法找到任何解决方案。 我的网站应该在两个不同的文件夹中以两种语言“发布”(=grunt publish)

我想象的
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支持延迟加载。就功能而言,这是一个更好的选择。然而,该项目已经完成,我们没有进一步的发展。