programing

현지화를위한 Angular JS 지원

nasanasas 2020. 11. 15. 11:22
반응형

현지화를위한 Angular JS 지원


성공하지 못한 여러 언어를 지원하기 위해 AngularJS에서 문서를 찾으려고 노력했습니다. 현지화가 지원됩니까?


angular-translate를 살펴보세요 : https://github.com/angular-translate/angular-translate

모든 DIY 사용자 :

angular에 대한 현지화 된 파일을 찾을 수 있습니다 : 여기

이러한 파일은 기본 제공 각도 필터 ( 날짜 , 통화숫자) 를 사용하는 데 도움이됩니다 . 놀랍습니다 ... 지금까지.

이제 angular.js 종속성 주입의 힘만 있으면 자신 만의 텍스트를 사용하고 싶습니다. "myTexts_en_us.js"와 같은 새 파일을 만들고 다음과 같이 $ provide.value를 사용합니다.

$provide.value("myTexts", {firstText : "This is my localized text"});

자세한 내용 :
http://jsfiddle.net/4tRBY/24/

실제 사용을 위해서는 필터를 추가 해야 합니다 : http://jsfiddle.net/4tRBY/41/

팁 :

  • 새 현지화 파일을 직접, JS 또는 서버로 html에 삽입하십시오. (여기에서 서버가 최선의 선택입니다!)
  • angular-local 파일 중 하나를 포함하는 경우 앱 모듈에서 설정할 필요가 없습니다. (당신은 자동으로 $ locale을 갖게 될 것입니다-바이올린을보십시오)
  • $ provide-value에 id 키를 추가하고 값을 파일에서 사용중인 언어 코드로 설정하면 테스트에 유용합니다.

당신이 찾고있는 것은 $ locale 입니다.

실제로 angularjs 홈페이지의 절반 정도에 대한 예제가 있습니다.

그들의 예에서 발췌 :

function BeerCounter($scope, $locale) {
  $scope.beers = [0, 1, 2, 3, 4, 5, 6];
  if ($locale.id == 'en-us') {
    $scope.beerForms = {
      0: 'no beers',
      one: '{} beer',
      other: '{} beers'
    };
  } else {
    $scope.beerForms = {
      0: 'žiadne pivo',
      one: '{} pivo',
      few: '{} pivá',
      other: '{} pív'
    };
  }
}

나는 그것이 "표준"인지 확실하지 않지만 시작입니다. 해야 할 현지화가 많았 다면 컨트롤러에 주입 할 서비스를 만들 것이라고 생각합니다. 다음과 같은 의사 코드 :

app.service('myLocalization', ['$locale', function($locale) {
    var res = {
       'help' : { 
           'en-us': 'help',
           'es-mx': 'ayudame'
       },
       'beer' : {
            'en-us': 'beer',
            'es-mx': 'cerveza'
       }
    }

    return {
       getString: function(key) {
          return res[key][$locale.id];
       }
    }
});

내가 특별히 지역화를 위해 모듈을 만들었습니다 - https://github.com/4vanger/angular-l10n 그것은 비행에 메시지 현지화, 파라미터의 치환, 변경 로케일을 지원하고 사용하기 편리한 방법의 수 제공 - 필터, 지침 등 .


정보의 완전성을 위해-AngularJS 1.4 스트림 내에서 시작-코어에서 바로 또 다른 i18n 구현이있을 것입니다. https://github.com/angular/i18n을 봐주세요


이것을 확인할 수도 있습니다.

https://github.com/angular-ui/ui-utils/pull/173

the performance is better than any of the other i18n libraries available for angular at the moment.


If your looking for i18n support then you can refer the below project which has the full multilingual capability and also easy to implement. Take a look at github project

angularjs-localizationservice

참고URL : https://stackoverflow.com/questions/12664823/angular-js-support-for-localization

반응형