繁体   English   中英

AngularJs ng-messages有多种语言版本

[英]AngularJs ng-messages in multiple languages

我正在使用ng-messages将错误消息显示到表单验证。 我的应用程序是多语言的,如何在多语言中使用ng-messages

HTML表单

<div class="messages" ng-messages="myForm.email.$error">
    <div ng-messages-include="messages.html"></div>
</div>

messages.html

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<p ng-message="required">This field is required</p>
<p ng-message="minlength">This field is too short</p>
<p ng-message="maxlength">This field is too long</p>
<p ng-message="required">This field is required</p>
<p ng-message="email">This needs to be a valid email</p>

PS:我正在使用棱角1.4.6

一个快速(在长期运行中可维护性较低)方法是每种语言的所有消息都有不同的js文件(italian.js,english.js ..)1)根据语言和索引引用多个索引页面参考correpsonding locale js file 2 )在语言选择上更改索引页面..sp自动语言环境引用将更改

用{{requiredMessage}}替换“此字段是必填的”

在locale-english.js中

controllersModule.controller('HeaderLocale', ['$scope', function($scope) {
    $scope.requiredMessage='This field is required';
}

在locale-italian.js

controllersModule.controller('HeaderLocale', ['$scope', function($scope) {
    $scope.requiredMessage='This field is required message in italian';
}

太晚了 。 但它可能会帮助别人。我想知道同样的事情。 经过一些研究,我选择了角度翻译库,帮助我翻译所有视图标签,服务器端消息和前端验证。

<p ng-message="required" translate="">required_msg </p>
<p ng-message="minlength" translate="">too_short_msg</p>
<p ng-message="maxlength" translate="">too_long_msg</p>
<p ng-message="email" translate="">invalid_email_msg</p>
<p ng-message="pattern" translate="">invalid_characters_msg</p>

并将键和值放在locale文件中,用于所需的所有语言,例如:locale-en.js

  "required_msg" : "This field is required" ,
  "too_short_msg" : "This field is too short",
  "too_long_msg" : "This field is too long",
  "invalid_email_msg" : "Enter valid email",
  "invalid_characters_msg" : "Invalid Characters"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM