1. 程式人生 > >OAF 多語言的實現

OAF 多語言的實現

unit service font -m con nec 文件的 標準 and

找到需要實現多語言的PG
如果需要實現多語言的PG是標準的PG,就需要使用export導出或者去服務器上的$APPL_TOP/<Application short name and version>/MDS目錄下找到該PAGE;如果是客戶化的page,我們一般是上傳到$JAVA_TOP下。


Xlf文件生成既可在本地,也可在服務器,但在本地執行的話,需要將本地的jdk的版本和服務器一致,並將服務器上oracle的jrad下載到本地。所以我們采取服務器上生成和導入xlf的方式。
生成xlf文件
1、在服務器上新建xlf文件的存放路徑,進入/home/appltest,執行 mkdir xliff,建立文件夾;
2、在服務器上的任何目錄執行:
java oracle.jrad.tools.trans.extractor.XLIFFExtractor $JAVA_TOP/hand/oracle/apps/test/ webui/BillPG.xml -mmd_dir $OA_HTML/jrad -root $JAVA_TOP -xliff_dir /home/appltest/xliff -languages zh-CN
根據實際情況修改page文件的路徑。說明:
java oracle.jrad.tools.trans.extractor.XLIFFExtractor :多語言文件生成需要的class
$JAVA_TOP/mdn/oracle/apps/cux/bill/webui/BillPG.xml:要實現多語言的xml頁面,在服務器上的路徑
-mmd_dir $OA_HTML/jrad:需要引用到的配置文件目錄
-root $JAVA_TOP:定義生成的xlf文件的目錄結構(root後的指定的目錄結構將不包含在xlf文件中)
-xliff_dir /home/appltest/xliff:生成好的xlf文件的存放位置
-languages zh-CN:需要生成的目標語言
$JAVA_TOP,$OA_HTML:服務器上的環境變量。
將xlf文件下載到本地,用文本編輯器打開,可以看到前面幾行為:
-------------------------------------------------------------------------------------------------
<?xml version = ‘1.0‘ encoding = ‘UTF-8‘?>
<!--DBDRV: -->
<xliff version="1.0">
<file datatype="jdr" original="BillPG" product-version="$Header$" source-language="en-US" target-language="zh-CN">
<body>
<trans-unit id=".mdn.oracle.apps.cux.bill.webui.BillPG..PageLayoutRN...windowTitle" translate="yes" maxbytes="4000" maxwidth="15" size-unit="char">
<source>Balance Bill</source>
<target>Balance Bill</target>
-----------------------------------------------------------------------------------------------------------------
encoding = ‘UTF-8‘ 表示服務器編碼為UTF-8;
source-language="en-US" target-language="zh-CN" 表示基礎語言是英文,目標語言是中文;
<source>Balance Bill</source><target>Balance Bill</target> 基礎語言和目標語言的提示。二者默認是一致的。需要手工將<target>標簽中的提示改成目標語言的提示。

將<target>標簽中的提示更改完成後,上傳到服務器。

導入xlf文件到MDS
1、在服務器上的任何目錄執行
java oracle.jrad.tools.trans.imp.XLIFFImporter /home/appltest/xliff/zh-CN/BillPG.xlf -username apps -password apps1 -dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol = tcp)(host = 192.168.10.11)(port = 1521)))(connect_data = ( SERVICE_NAME= TEST)))"

根據實際情況修改參數。說明:
oracle.jrad.tools.trans.imp.XLIFFImporter 導入xlf文件的class;
/home/appltest/xliff/zh-CN/BillPG.xlf 需要導入的xlf文件;
-username apps 數據庫用戶名;
-password apps1 數據庫密碼;
-dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol = tcp)(host = 192.168.10.11)(port = 1521)))(connect_data = ( SERVICE_NAME= TEST)))" 數據庫連接字符串
2、重啟apache,登錄系統中就可以看到效果了。

OAF 多語言的實現