我有一个非常简单的问题,但仍无法找到任何解决方案。 我的网站应该在两个不同的文件夹中以2种语言“发布”(= grunt发布)。
index.html
<!DOCTYPE html>
<html>
<body>
<. hello_world />
</body>
</html>
translation.json
translation: [
hello_world: [
en: "Hello World!",
de: "Hallo Welt!"
]
]
en/index.html
<!DOCTYPE html>
<html>
<body>
Hello World!
</body>
</html>
de/index.html
<!DOCTYPE html>
<html>
<body>
Hallo Welt!
</body>
</html>
有谁知道这样一个笨拙的任务?
答案 0 :(得分:0)
对任何有兴趣做同样事情的人来说,有angular-gettext / grunt-angular-gettext可以做到这一点。
我最后选择了angular-translate,因为它只编译了1个版本的网站,包括所有语言,这意味着用户可以在运行时更改语言。
答案 1 :(得分:0)
我没有看到任何可以做到这一点的现成解决方案。您可以使用grunt-angular-gettext extract和compile任务将所有需要翻译的字符串拉出来并制作所需的json文件。
但是我找不到任何可以编译html并为你插入翻译的内容。大部分代码都存在于angular-gettext project中。您需要修改它并在任务中运行代码,而不是在运行时以角度运行。
如果您使用此路线,您的index.html可能如下所示:
<!DOCTYPE html>
<html>
<body>
<span translate>Hello World!</span>
</body>
</html>
加载字符串的代码位于setStrings
here的catalog.js
函数中,检索字符串的函数名为getString
。
不是一个理想的解决方案,但它是一些东西。
答案 2 :(得分:0)
我找到了一个执行此操作的繁琐任务: https://github.com/claudetech/grunt-i18n-static