JavaScript를 사용하여 애플리케이션의 UI를 작성하기 위해 Google Closure Template을 사용하고 있습니다. Look at this question 왜 Google Closure Template을 사용하고 있는지 자세히 설명합니다. 다국어 지원이 필요합니다. --locales
스위치가 있으며 프로젝트 here 및 here에 제공된 샘플을 살펴 보았습니다. README_FOR_EXAMPLES에 기입되어 그 파일Google Closure Templates는 별도의 리소스 파일이있는 단일 JavaScript 코드베이스 대신 각 언어에 대해 여러 개의 JavaScript 파일을 생성합니다.
+ simple_generated_en.js, features_generated_en.js,
simple_generated_x-zz.js, 그것은 단순한 에서 실행될 때 JS 파일 SoyToJsSrcCompiler 의해 생성 features_generated_x-zz.js .soy 및 features.soy (로케일은 공유 예제 디렉토리 'examples'의 번역 된 XLIFF 파일과 위의 컴파일 타임 전역 파일을 사용하여 'en'및 'x-zz'입니다). features.soy의 템플릿 중 일부는 simple.soy로 템플릿을 호출하기 때문에 simple.soy와 features.soy가 모두 필요합니다. 참고 : 이 이러한 파일을 생성하는 Ant 대상 (및 명령 줄 args)의 예는 최상위 'build.xml'내의 대상 'js-features-example'을 참조하십시오.
내가 예상 한 것은 템플릿 함수가 호출되기 전에 런타임에 제공된 옵션에 따라 적절한 로케일 파일에서 원하는 문자열을 사용하는 자바 스크립트 코드베이스를 하나만 생성한다는 것이 었습니다. 클로저 템플릿으로 가능합니까?
사전 개체 관련 문서로 연결시켜 주시겠습니까? – IsmailS
좋아, 알았어. Plain JavaScript Object가 수행합니다. 문제는 현재 HTML이'soy. $$ escapeHtml (opt_data.title) '을 사용하여 그것을 이스케이프하지만, 나를 위해 문자열에 HTML 비트가있을 수 있습니다. 그거 알아? – IsmailS
알 권리! 나는 그것도 발견했다. 내 템플릿에'{$ dict.content | noAutoescape}'가 있으면'content'에 HTML을 전달할 수 있으며 이스케이프 처리되지 않습니다. 즉,'<'는'< '으로 변환되지 않습니다. – IsmailS