AngularJS 응용 프로그램에서 i18n에 대해 angular-translate 를 사용 하고 있습니다.
모든 애플리케이션보기에는 전용 컨트롤러가 있습니다. 아래 컨트롤러에서 페이지 제목으로 표시 할 값을 설정했습니다.
암호
HTML
<h1>{{ pageTitle }}</h1>
자바 스크립트
.controller('FirstPageCtrl', ['$scope', '$filter', function ($scope, $filter) {
$scope.pageTitle = $filter('translate')('HELLO_WORLD');
}])
.controller('SecondPageCtrl', ['$scope', '$filter', function ($scope, $filter) {
$scope.pageTitle = 'Second page title';
}])
angular-translate-loader-url 확장자를 사용하여 번역 파일을로드하고 있습니다.
문제
초기 페이지로드시 해당 키에 대한 번역 대신 번역 키가 표시됩니다. 번역은 Hello, World!
이지만보고 HELLO_WORLD
있습니다.
두 번째 페이지로 이동하면 모든 것이 잘되고 번역 된 버전이 표시됩니다.
이 문제는 컨트롤러가 값을에 할당 할 때 번역 파일이 아직로드되지 않았을 수 있다는 사실과 관련이 있다고 가정합니다 $scope.pageTitle
.
말
사용시 <h1>{{ pageTitle | translate }}</h1>
및$scope.pageTitle = 'HELLO_WORLD';
, 번역 작품은 처음부터 완벽. 문제는 항상 번역을 사용하고 싶지 않다는 것입니다 (예 : 두 번째 컨트롤러의 경우 원시 문자열을 전달하고 싶습니다).
질문
알려진 문제 / 제한 사항입니까? 이 문제를 어떻게 해결할 수 있습니까?