我正在考虑将我的网站移动到angularjs,并且我想要启动非常小,通过将所有静态服务器端的纯文本模板从django移动到角度(否则将会出现语法问题与'{{}}’ )。
看来,最好的方法是两个选择之一:
>有一个ajax调用返回一个JSON与我的网站的所有文本。文本将被存储在绑定到我的HTML元素的变量中,所以角度将更新所有内容。
要存储一个静态js文件与字典并将其包含在我的HTML中,并用dictionaryjs绑定字典。
这两个选项将允许我在不重新加载页面的情况下切换语言。
首先,有一种方法可以将角度的分隔符更改为其他符号,如下所示:
Angular JS custom delimiter
2.选项更容易。您可以将其包含一次,并在页面上加载所有翻译。没有异步电话,没有承诺,好,容易。
而我会和第一个一起去。像$translate这样的服务将真正使您的生活更容易按照选项1.加上它有多种选择加载和存储加载数据在LocalStorage和cookies,所以有很多空间进行扩展和定制。然后,您可以使用$ translate服务,指令或过滤器翻译内容。
并且不要忘记2选项禁用任何缓存请求的选项。在您的起始页面的每个请求上,服务器必须读取静态文件并将其包含在html中。使用第一个选项,用户的浏览器可以缓存.json,只要你喜欢。