2014-11-06 5 views
2

DART를 프론트 엔드로 사용하여 CakePHP 애플리케이션을 개발 중입니다. 나는 현재 프랑스어로 메시지를 번역하기 위해 Intl 라이브러리를 사용하고 있으며 Eclise의 Dartium 브라우저에서 main.html을 시작할 때 메시지가 잘 보입니다. 그러나 프로젝트의 펍 빌드를 수행하고 브라우저에서 "http://portal/login"을 탐색하면 Intl 라이브러리 메시지가 나타나지 않습니다. 여기 제 기능을 작성하는 방법입니다 :DART 현지화 라이브러리 메시지가 호환 버전에서 작동하지 않습니다.

login.dart 내가이 개 자동으로 생성 된 파일은 "content_messages_all.dart"와 "content_messages_fr.dart"라고했다

username.placeholder = usernamePlaceholder(); 

. fr 파일에는 번역이 들어 있습니다. 이 오류의 원인이 될 수있는 것이 있습니까? 영어 텍스트조차도 표시되지 않습니다. 영어 메시지는 다음과 같이 선언 된 "translations.dart"파일에 있습니다.

String usernamePlaceholder() { 
    return Intl.message(
    "E-mail or username", 
    name: "usernamePlaceholder", 
    args: [], 
    desc: "Displays username placeholder on login page."); 
} 

정보가 도움이 될 것입니다!

답변

1

해결책을 찾았습니다! 몇 개의 누락 된 .js 파일을 webroot 폴더에 연결해야했습니다. 파일은 빌드 폴더에 있습니다. "Frontend/build/web"폴더. 파일 이름은 "main.dart.js_1.part.js"및 "login.dart.js_1.part.js"입니다.

+0

예. 그것들은 지연로드 된 JS 파일입니다. Intl 패키지는 지연된로드로 각각의 개별 언어를 생성하므로 매 번 다운로드하지 않아도됩니다. –