大佬教程收集整理的这篇文章主要介绍了angularjs – 使用参数进行角度转换,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
index.html包括:
<script src="assets/libs/angular-1.5.7/angular.js"></script> <script src="assets/libs/angular-1.5.7/angular-message-format.js"></script> <script src="assets/libs/message-format-1.0.0-rc3/messageformat.js"></script> <script src="assets/libs/angular-translate-2.11.1/angular-translate.js"></script> <script src="assets/libs/angular-translate-2.11.1/angular-translate-loader-static-files.js"></script> <script src="assets/libs/angular-translate-2.11.1/angular-translate-interpolation-messageformat.js"></script>
然后,我配置角度转换:
angular.module('app').config(['$translateProvider',function ($translateProvider) { // Language files folder deFinition $translateProvider.useStaticFilesLoader({ prefix: 'app/resources/locale-',suffix: '.json' }); // Default language $translateProvider.preferredLanguage('fr_FR'); // TODO does logging missing key to console should be activated in production? $translateProvider.useMissingTranslationHandlerLog(); //$translateProvider.usemessageformatInterpolation(); // Force not using sanitizer (to avoid security warning) $translateProvider.useSanitizeValueStrategy(null); }])
然后,我在静态文件中定义一些翻译键:
{ "drivers.results.noresult" : "No result","drivers.results.oneresult" : "One result","drivers.results.nresults" : "{{length}} results" }
我尝试使用复数语法翻译消息:
{{ nbResults,plural,=0 { {{'drivers.results.noresult' | translatE}} } =1 { {{'drivers.results.oneresult' | translatE}} } other { {{'drivers.results.nresults' | translate:'{length: nbResults }' }} } }}
当nbResults = 0或1时,一切正常,我得到了正确的信息.
但是,在其他情况下,例如,如果nbResults = 10,则不将长度注入到消息密钥中.显示的消息只是“结果”而不是“10个结果”.
注意:如果我将最后一行更改为
other { {{'drivers.results.nresults' | translate:'{length: 10 }'
我收到了10条结果的消息.
所以语言键仍然是:
"drivers.results.nresults" : "{{length}} results"
静态参数
这与静态值工作正常:(注意简单的引号)
{{ nbResults,=0 { {{'drivers.results.noresult' | translatE}} } =1 { {{'drivers.results.oneresult' | translatE}} } other { {{'drivers.results.nresults' | translate:'{length: 123 }' }} } }}
动态参数
但如果我想要一些动态的东西,我需要写这个(没有引用):
{{ nbResults,=0 { {{'drivers.results.noresult' | translatE}} } =1 { {{'drivers.results.oneresult' | translatE}} } other { {{'drivers.results.nresults' | translate:{length: nbResults } }} } }}
它将正确替换翻译中的长度参数!
以上是大佬教程为你收集整理的angularjs – 使用参数进行角度转换全部内容,希望文章能够帮你解决angularjs – 使用参数进行角度转换所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。