OAF的多语言的实现有两种方式:
其一是直接通过页面上面的“个性化”连接,连接到指定的页面后,进行设置;
其二是通过上传指定的xlf文件,来实现多语言的,下面讨论的是第二种实现方式。
实现:
1、找到需要实现多语言的xml页面,(页面若是本地开发的,则直接从本地取得,若是服务器之上的标准页面,则要先使用
begin
-- Test statements here
JDR_UTILS.printDocument(p_document => '/oracle/apps/fnd/framework/navigate/webui/HomePG');
end;
将页面文件输出来),确认文件中的encoding = 'UTF-8' xml:lang="en-US"
2、使用XLIFFExtractor工具类,根据xml文件生成相应的xlf文件。
在%JDEV_INSTALL_DIR%\jdevbin\jdev\bin目录下面新建一个xliffExtractOutline.BAT文件,在新建的BAT文件中,输入以下的代码:
"set classpath=%JDEV_INSTALL_DIR%\jdevbin\jdev\lib\xml_imp
java oracle.jrad.tools.trans.extractor.XLIFFExtractor %JDEV_USER_HOME%\myprojects\oracle\apps\hjit\sp\webui\SpSearchPG.xml -mmd_dir %JDEV_USER_HOME%\myhtml\OA_HTML\jrad -root %JDEV_USER_HOME%\myprojects -xliff_dir D:\xliff -languages ja-JP"
3、在DOS command中运行xliffExtractOutline.BAT,于是,就生成了D:\xliff\ja-JP\SpSearchPG.xlf文件。
需要注意的地方:
一、encoding = 'UTF-8'
二、source-language="en-US" target-language="ja-JP"
三、<trans-unit id=".oracle.apps.hjit.sp.webui.SpSearchPG.
四、<source></source><target></target>(其中:<source>标签中存放的就是原来页面xml文件中的文本,<target>标签就是你所希望修改后所显示的目标文本)
4、使用XLIFFImp
在%JDEV_INSTALL_DIR%\jdevbin\jdev\bin目录下面新建一个xliffImp
"set classpath=%JDEV_INSTALL_DIR%\jdevbin\jdev\lib\xml_imp
java oracle.jrad.tools.trans.imp.XLIFFImp
5、在DOS command中运行xliffImp
6、重启Apache和OC4J即可。
具体可以参考OAF Developer's Guide:Translating Personalizations
OAF的页面xml文件是以元数据的形式存放在数据库中的,即MDS(Metadata Services)Repository中,可以使用JDR_UTIL这个包来进行查看和分析
转自:http://blog.163.com/xialingge2006@126/blog/static/1028229020099305345256/