在离子3文件夹结构中实现翻译

时间:2017-09-19 06:36:12

标签: angular ionic-framework ionic2 internationalization ionic3

我正在尝试将我的离子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
    ...

1 个答案:

答案 0 :(得分:0)

如果您使用ngx-translate/core库,那么Ionic团队推荐这种方法。因为它使用HttpClientModuleHttpClient。因此,您必须将翻译文件放在assets文件夹中。

注意:您可以在开发应用时在本地修改这些文件。之后,您可以将这些更改提交到git或您正在使用的版本控制中。