將配置 meta 資料本地化
每個 meta 資料項目的 name 和 description 屬性都可以本地化,翻譯的字串會包裝在語言特定的內容檔中。
範例
下列範例顯示如何在 meta 類型檔的標頭中指定本地化檔案的位置:
<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.1.0"
localization="OSGI-INF/I10n/metatype">
其中 OSGI-INF/I10n 是軟體組中翻譯的內容檔的位置,metatype 是預設語言內容檔的字首。
比方說,如果預設值(通常是英文)是在稱為 metatype.properties 的檔案中,每個語言環境都會附加它自己的字尾:metatype_fr.properties, metatype_es.properties,依此類推。翻譯檔有別於必須在 OSGI-INF/metatype 目錄中的 meta 類型 XML 檔,它們可以在軟體組內,由 localization 屬性來指定的任何位置。 您最好不要將內容檔和 Meta 類型 XML 檔一起放在 OSGI-INF/metatype 目錄中;Meta 類型服務會嘗試將該位置中的任何檔案都當作 XML 檔剖析;雖然這不會導致失敗,但主控台中會出現不必要的異常狀況。Liberty 慣例是將它們放在 OSGI-INF/I10n 目錄中,但並非一定要如此。
在 meta 類型 XML 檔中,如果要顯示某個值是一個本地化的字串,請在值的開頭使用百分比符號。
比方說,在 meta 類型 XML 檔中,您可以使用下列定義:
<AD name="%client.inactivity.timeout" description="%client.inactivity.timeout.desc"
id="clientInactivityTimeout" required="false" type="Integer" default="60" />
在內容檔中,您可以使用下列定義:
client.inactivity.timeout=用戶端閒置逾時
client.inactivity.timeout.desc=遠端用戶端發出的交易要求的間隔期間上限(秒)。用戶端閒置的期間若超出這個逾時值,都會造成在這部應用程式伺服器中回復交易。