使用AngularJS和AngularJS模块实现i18n(1)
跳出教程的内容,下面是关于如何在AngularJS中实现多语言支持的报告。
通过使用Angular,可以将服务器端实施的视图层机制迁移到客户端。
此外,为了研究可实现包括国际化(I18n)在内的方法,
将使用Angular来实现I18n为题目进行总结。
(可能性也有可能是3次进行构建)
-
- 1回目:AngularJSでI18nを実現するモジュールをリストアップ
-
- (Angular js support for localization の記事を参考に)
- 2回目:実際にTutorialのスクリプトに組み込みを行う
计划按照这个流程进行。
列出使用AngularJS实现国际化的模块
实现多语种化的目标
我个人认为,不仅在日本这个世界地图上狭小的国内范围内传播,而且也想要向其他国家传播。因为在世界形势的变化和经济状况的基础上,要想扩大业务规模,光靠日本是面临困难的。因此,为了在创建Web应用程序并获得娱乐和谋生的同时,个人认为有十分必要采用多种语言编写应用程序。此外,如果要创建应用程序,为了创建更多人使用的机制,我认为最好从一开始就考虑使用语言本地化。
我曾经按照以上所述进行描述,但实际上由于没有在多种语言下真正创建应用程序的经验,
因此我将根据下面这篇介绍现有AngularJS模块本地化的文章,来查找并列出可使用的模块。
Angular JS对本地化的支持
三种机制
在上述的文章中,有三位年轻有为的创作者介绍了模块和组装方法。
-
- 本文介绍使用AngularJS的内置指令和服务来实现页面展示和简单示例代码。
-
- 本文介绍本地化AngularJS应用的方法。
- Angular翻译器
使用AngularJS的内置指令和服务来实现页面介绍和简单示例代码介绍。
在AngularJS的官方网站的”I18n and L10n in AngularJS”页面中,有一篇解释如何实现I18n的指南。
使用 $locale 服务来实现的机制,似乎支持 datetime、 number 和 currency 等筛选器。
此外,可以利用 ngPluralize 指令根据数据的数量切换显示字符串的机制。
(通过 $locale 服务获取的 locale ID 遵循 ICU 网站的规定)
如果使用$locale服务,似乎可以根据本地ID自行切换各种显示,但可能需要自行实施多项操作。
本土化您的AngularJS应用程序
我认为这个机制可以处理静态文件和REST API,但它是通过自定义处理方式而不是使用Angular的机制。根据我看到的示例代码,我认为即使使用Angular的机制,也可以以大致相同的代码量编写。
角度翻译器
这个 Angular Translator 在发布中具有最大的价值,并且文档也非常充实。
此外,根据我所看到的示例,相对于使用 Angular 的机制或其他机制,通过自己编写代码的量也可能会减少。
在简单的页面中,可以使用数组嵌入代码,还可以使用静态文件或 REST API。
此外,存在许多演示代码和文档,尽管会有些困惑,但还是可以设法解决。
由于在bower下载时显示Angular支持1.0.8版本,所以我稍微有些担心,但计划利用这个机制来整合第二次。
以上是根据介绍了3种组合方式的文章,并参考说明页面制作的报告。
由于没有任何机制能够直接替换文本,因此必须在模板中插入与显示无关的关键字,所以需要稍微创新一下关键字的生成方法。我正在考虑只要能够在报告中描述出使用Angular实现I18n的大致情况就好。