我正在尝试将我的离子1应用程序转换为离子3.以前,我已经使用angular translate指令在离子1中为每个模块实现了翻译的json文件。
然而,似乎我在网上看到的离子3的大多数例子都将语言json文件置于资产之下
assets
i18n
- en-US.json
- en-GB.json
对我来说,这有很多缺陷和缺点,其中包括
- 我们公司确实在第一个修改文件的人的文件中设置了一个锁,这意味着当一个人修改文件时,除非该人释放,否则其他人不能修改服务器中的同一文件。想象一下,会有很多人竞争文件。
- 如果翻译文件很大,可能会非常慢。
- 变大时难以维护。
那么,使用上述格式是否有任何特定原因?你们所使用的翻译结构是什么?
我提出的改进文件夹结构的建议如下。希望从stackoverflow社区获得意见。
pages
page1
- page1.html
- page1.scss
- i18n (folder)
- en-US.json
- en-GB.json
page2
...
答案 0 :(得分:0)
如果您使用ngx-translate/core库,那么Ionic团队推荐这种方法。因为它使用HttpClientModule
和HttpClient
。因此,您必须将翻译文件放在assets
文件夹中。
注意:您可以在开发应用时在本地修改这些文件。之后,您可以将这些更改提交到git
或您正在使用的版本控制中。