freemarker有兩種方式可以進(jìn)行多語言國際化:
1:多模板方式
Template.ftl
Template_zh_CN.ftl
Template_en_US.ftl
程序運(yùn)行時,freemarker會自己根據(jù)Locale去找對應(yīng)的模板。這時候模板有點(diǎn)類似一個一個的資源文件。
維護(hù)時能方便修改當(dāng)前語言的模板,不影響其他語言。
2:單模板多資源文件方式
Template.ftl
RES.properties
RES_zh_CN.properties
RES_en_US.properties
程序運(yùn)行時,都使用模板Template.ftl。再根據(jù)Locale加載不同的資源文件,并替換模板中對應(yīng)的標(biāo)識。
以我現(xiàn)在做的發(fā)郵件的模塊為例,
第一種方式比較適合每種語言都有自己的郵件格式,我們通過定義不同語言的模板,來實(shí)現(xiàn)發(fā)給不同語種用戶的郵件使用不同的格式。比如一個注冊信,廣告等等。
第二種方式比較適合固定郵件格式,所有語言格式都一樣,只是里面特定的文字是用不同語言去表達(dá)。比如一份表格。
維護(hù)時能統(tǒng)一修改所有郵件的格式。