【SAPUI5】라이브러리의 messagebundle을 어플리케이션으로 사용하는 방법
소개
【SAPUI5】i18n을 라이브러리화한다 의 기사에서는, 라이브러리의 i18n 파일을 다른 앱에 넣는 방법을 소개했습니다. 더 좋은 방법이 있다는 것을 알았으므로 쓰고 싶습니다.
messagebundle이란?
라이브러리 단위로 가지고 있는, 번역 가능한 텍스트의 파일입니다. 쓰기는 i18n과 동일합니다.
messagebundle의 텍스트를 응용 프로그램에서 호출하려면
컨트롤러에서 호출하는 방법
컨트롤러 안에서만 사용하고 싶다면이 방법은 간단합니다.
sap.ui.getCore().getLibraryResourceBundle("ライブラリ名(フルパス)").getText("テキストID")
참고 : API 참조 onSayHello: function () {
//ライブラリからテキストを取得
var sText = sap.ui.getCore().getLibraryResourceBundle("demo.library.zdemolibrary").getText("SAY_HELLO");
MessageBox.alert(sText);
}
결과
보기에서 호출하는 방법
뷰에서 호출하는 방법은 두 가지입니다.
【SAPUI5】i18n을 라이브러리화한다과 마찬가지로 응용 프로그램 본문의 i18n과 병합합니다
애플리케이션 본체의 i18n과 병합
Component.js에서 다음과 같이 씁니다.
//ライブラリのリソースを取り込み
var oBundle = sap.ui.getCore().getLibraryResourceBundle("demo.library.zdemolibrary");
this.getModel("i18n").enhance(oBundle);
뷰는 다음과 같습니다.
<Text text="{i18n>SAY_HELLO}"/>
독립적인 리소스 모델 만들기
manifest.json에 리소스 모델을 추가합니다. 아래에서는 "msg"라는 이름으로 추가합니다.
이렇게하면 응용 프로그램의 i18n과 라이브러리에서 동일한 텍스트 ID를 사용해도 문제가 없습니다.
"models": {
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleName": "demo.Train_17_UseLibraryText.i18n.i18n"
}
},
"meg": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleName": "demo.library.zdemolibrary.messagebundle"
}
}
뷰는 다음과 같습니다.
<Text text="{meg>SAY_HELLO}"/>
Reference
이 문제에 관하여(【SAPUI5】라이브러리의 messagebundle을 어플리케이션으로 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tami/items/09d824317bb3c486aec1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)