專利名稱:實現(xiàn)web多語言控件的方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及web技術領域,具體涉及一種實現(xiàn)web多語言控件的方法及系統(tǒng)。
背景技術:
Internet技術的成熟為企業(yè)信息管理系統(tǒng)增加了與客戶或供應商實現(xiàn)信息 共享和直接的數(shù)據(jù)交換的能力,從而強化了企業(yè)間的聯(lián)系,形成共同發(fā)展的生存鏈。 ERP (Enterprise Resource Planning,企業(yè)資源計劃)系統(tǒng)就是為了滿足這種需求應運而 生的一種對企業(yè)資源進行有效共享與利用的系統(tǒng),其主要宗旨是將企業(yè)的各方面資源(比 如人力、資金、信息、物料、設備、時間、技術等)充分調配、平衡和優(yōu)化,為企業(yè)提高資金運 營水平、建立高效率供銷鏈、減少庫存、提高生產(chǎn)效率、降低成本、提高客戶服務水平提供強 有力的工具,同時為高層管理人員經(jīng)營決策提供科學的依據(jù),有效地提高盈利,最終全面建 立企業(yè)競爭優(yōu)勢,提高企業(yè)的市場競爭力。 目前,ERP系統(tǒng)需要國際化,很多業(yè)務單據(jù)的某些中文字段需要在不同的語言環(huán)境 下顯示不同的內容。由于ERP軟件的架構是基于web模式,或者Client/Server (客戶端/ 服務器)模式。對于基于web模式的ERP軟件,要求web界面能夠支持輸入多語言文本。
在現(xiàn)有技術中,只有Java的GUI (Graphic User Interface,圖形用戶接口 )中有 多語言控件,其采用AWT (Abstract Window Toolkit,抽象窗口工具集)使GUI適用于不同 操作系統(tǒng)的環(huán)境,具體實現(xiàn)由目標平臺下的操作系統(tǒng)來解釋,從而使Java GUI在不同平臺 下會出現(xiàn)不同的運行效果(窗口外觀、字體等的顯示效果會發(fā)生變化)。GUI的控件是基于 Client/Server的,其交互方式和應用方式和web是完全不同的,因此無法將這種方式移植 到基于web模式的應用系統(tǒng)中。
發(fā)明內容
本發(fā)明實施例提供一種實現(xiàn)web多語言控件的方法及系統(tǒng),能夠在web界面上支 持多語言輸入,方便不同語言用戶的使用。 本發(fā)明實施例提供的一種實現(xiàn)web多語言控件的方法,包括
建立控件的服務器模型,并將所述控件綁定為多語言屬性; 在加載頁面時,獲取所述控件的基本屬性值,并從所述控件綁定的多語言屬性中 獲取當前的所有語言屬性值; 根據(jù)所述控件的服務器模型、所述控件的基本屬性值和當前的所有語言屬性值將 所述控件渲染到所述頁面。 優(yōu)選地,所述控件的基本屬性值包括以下屬性的值控件樣式、控件大小。
優(yōu)選地,所述方法還包括 在所述頁面上修改或添加或刪除所述控件當前的語言屬性值; 在提交頁面時,將修改或添加或刪除后的語言屬性值保存到所述控件的服務器模 型中。
4
可選地,所述在頁面上修改或添加或刪除所述控件當前的語言屬性值包括
在所述頁面中設置第一用戶接口 ; 通過所述第一用戶接口在所述頁面中修改或添加或刪除所述控件當前的語言屬 性值。 可選地,所述在頁面上添加所述控件當前的語言屬性值包括
在所述頁面中設置第二用戶接口 ; 通過所述第二用戶接口獲取需要翻譯的對象及類型; 將所述對象及類型發(fā)送給服務器,以使服務器將所述對象翻譯為所述類型對應的 形式; 根據(jù)服務器返回的值,添加所述控件當前的語言屬性值。 本發(fā)明實施例提供的一種實現(xiàn)web多語言控件的系統(tǒng),包括 模型建立單元,用于建立控件的服務器模型,并將所述控件綁定為多語言屬性; 屬性獲取單元,用于在加載頁面時,獲取所述控件的基本屬性值,并從所述控件綁
定的多語言屬性中獲取當前的所有語言屬性值; 渲染單元,用于根據(jù)所述控件的服務器模型、所述控件的基本屬性值和當前的所
有語言屬性值將所述控件渲染到所述頁面。 優(yōu)選地,所述系統(tǒng)還包括 修改單元,用于在所述頁面上修改或添加或刪除所述控件當前的語言屬性值; 保存單元,用于在提交頁面時,將修改或添加或刪除后的語言屬性值保存到所述
控件的服務器模型中。 可選地,所述系統(tǒng)還包括 第一用戶接口,用于接收用戶輸入的所述控件當前的語言屬性值; 所述修改單元,具體用于根據(jù)所述第一用戶接口接收的所述控件當前的語言屬性
值,在所述頁面中修改或添加或刪除所述控件當前的語言屬性值。 可選地,所述系統(tǒng)還包括 第二用戶接口,用于接收用戶輸入的翻譯命令,所述命令中包含需要翻譯的對象 及類型; 發(fā)送單元,用于將所述對象及類型發(fā)送給服務器,以使服務器將所述對象翻譯為 所述類型對應的形式; 接收單元,用于接收服務器返回的值; 所述修改單元,具體用于根據(jù)所述服務器返回的值,添加所述控件當前的語言屬 性值。 優(yōu)選地,所述第二用戶接口 ,具體為顯示于所述頁面的控件按鈕。 本發(fā)明實施例提供的實現(xiàn)web多語言控件的方法及系統(tǒng),通過建立控件的服務器
模型,并將所述控件綁定為多語言屬性;在加載頁面時,獲取所述控件的基本屬性值,并從
所述控件綁定的多語言屬性中獲取當前的語言屬性值;根據(jù)所述控件的服務器模型、所述
控件的基本屬性值和當前的語言屬性值將所述控件渲染到所述頁面。從而可以實現(xiàn)多語言
控件的輸入值和后臺一個屬性的多個值的綁定,使用戶在恥b界面上進行多語言文本輸入
的支持。
圖1是本發(fā)明實施例實現(xiàn)web多語言控件的方法的流程圖; 圖2是本發(fā)明實施例基于Java編程實現(xiàn)的類圖; 圖3是本發(fā)明實施例中用戶接口的結構示意圖; 圖4是本發(fā)明實施例實現(xiàn)web多語言控件的系統(tǒng)的結構示意圖; 圖5是本發(fā)明實施例實現(xiàn)web多語言控件的系統(tǒng)的一種具體結構示意圖; 圖6是本發(fā)明實施例實現(xiàn)web多語言控件的系統(tǒng)的另一種具體結構示意圖。
具體實施例方式
為了使本技術領域的人員更好地理解本發(fā)明實施例的方案,下面結合附圖和實施 方式對本發(fā)明實施例作進一步的詳細說明。 如圖1所示,是本發(fā)明實施例實現(xiàn)web多語言控件的方法的流程圖,包括以下步 驟 步驟IOI,建立控件的服務器模型,并將所述控件綁定為多語言屬性。 在本發(fā)明實施例中,所述控件綁定到服務器模型的多語言屬性,多語言屬性一般
有多個值,所述控件的服務器模型記錄該控件的語言屬性值。 步驟102,在加載頁面時,獲取所述控件的基本屬性值,并從所述控件綁定的多語 言屬性中獲取當前的所有語言屬性值。 所述控件的基本屬性值包括以下屬性的值控件樣式、控件大小。 步驟103,根據(jù)所述控件的服務器模型、所述控件的基本屬性值和當前的所有語言
屬性值將所述控件渲染到所述頁面。 假設在實際應用于,基于Java編程實現(xiàn)本發(fā)明實施例的方法,則實現(xiàn)的類圖如圖 2所示 其中,waf.taglib.xml是控件的配置文件,用于設置控件的多語言屬性,waf. taglib. xml包含控件的詳細類名,需要統(tǒng)一加載; UMultiLangBoxBase是控件的基類,定義控件的一些基本屬性值,在其實現(xiàn)類
UIMultiLangBox中設置了 setValue方法和getValue方法,用于對所述控件提交的值進行
處理。setValue獲取到頁面上控件的多語言屬性值后,解析這個值,然后反射調用模型對應
屬性的set方法,將每個語言的值都設置到模型中。由于需要將所述控件展現(xiàn)成EXT中類
似多語言的效果,因此可以在上述步驟輸出對應的客戶端js和html代碼。MultiLangBoxRenderHandle是整個控件的核心,處理控件的頁面展示,其主要包
含以下幾個方法 resourceBegin :處理控件需要加載的資源,在此為資源文件multiLangBox. js。
multiLangBox. js :是所述控件的EXTJS實現(xiàn),在制作WAF控件前,需要事先用 EXTJS的實現(xiàn)方式實現(xiàn)一種效果,MultiLangBoxRenderHandle的作用只是把這些內容輸出 為對應的js和html標簽而已。ExtJS是可以用來開發(fā)RIA也即富客戶端的AJAX應用,是 用javascript編寫的,主要用于創(chuàng)建前端用戶界面,是一個與后臺技術無關的前端ajax框 架??梢詫xtJS用在.Net、 Java、 Php等各種開發(fā)語言開發(fā)的應用中。
6
當然,本發(fā)明實施例實現(xiàn)web多語言控件的方法并不僅限于上述基本Java編程實 現(xiàn),還可以采用其他編程方式實現(xiàn)。 可見,本發(fā)明實施例實現(xiàn)web多語言控件的方法可以實現(xiàn)控件的多語言屬性與后 臺的多個值的綁定,使用戶在恥b界面上進行多語言文本輸入的支持。 在本發(fā)明實施例中,為了方便用戶的使用,在上述流程中,還可進一步包括以下步 驟 在所述頁面上修改或添加或刪除所述控件當前的語言屬性值; 在提交頁面時,將修改或添加或刪除后的語言屬性值保存到所述控件的服務器模型中。 具體地,對所述控件當前的語言屬性值的修改或添加可以通過多種方式來實現(xiàn), 下面分別作詳細說明。 方式一、由用戶直接在頁面上修改或添加或刪除所述控件當前的語言屬性值。
可以在所述頁面中設置第一用戶接口,通過所述第一用戶接口在所述頁面中修改 或添加或刪除所述控件當前的語言屬性值。 方式二、通過服務器提供的翻譯功能添加所述控件當前的語言屬性值。
同樣,可以在所述頁面中設置第二用戶接口 ,通過所述第二用戶接口獲取需要翻
譯的對象及類型;將所述對象及類型發(fā)送給服務器,以使服務器將所述對象翻譯為所述類
型對應的形式;根據(jù)服務器返回的值,修改或添加所述控件當前的語言屬性值。 需要說明的是,上面提到的第一用戶接口和第二用戶接口可以為同一個接口,也
可以分別是不同的接口。下面以采用同一個用戶接口為例舉例說明。 如圖3所示,本發(fā)明實施例中用戶接口的結構示意圖。 當用戶需要在頁面上修改或添加或刪除所述控件當前的語言屬性值時,點擊右邊 的"CH"圖標,頁面上顯示出圖3所示的下拉框,在該實施例中,假設該控件綁定了兩個語言 屬性值,分別為簡體中文和繁體中文,相應地,下拉框中顯示兩行屬性值,分別為"CH"(對 應簡體中文)和"TW"(對應繁體中文)。點擊其中的"TW",然后在上面的顯示框中輸入相 應的繁體中文"中國"。當頁面提交時,該繁體中文對應的語言屬性值則被保存到所述控件 的服務器模型中。當然,可以按照上述方式對原有的屬性值進行修改或刪除,如果刪除原有 屬性值,則在頁面提交時,可以將對應的屬性值設置為空。 如果需要借助服務器提供的翻譯功能添加所述控件當前的語言屬性值,可以通過 以下操作完成。 首先,在用戶輸入一種語言的屬性值后,比如輸入簡體的"中國",然后點擊右邊的 "CH"圖標,觸發(fā)控件的onTriggerClick事件,這個時候控件通過ajax技術將控件當前的屬 性值和要轉換的類型發(fā)送到服務器,示例代碼如下
pcAjax = Ext. lib. Ajax. getCo皿ectionOb ject (). conn ; pcAjax. open( 〃 GET 〃 , 〃 /easweb/winlet/multilang/MultiLangAjax. jsf type = ctt&str = 〃 +encodeURIComponent(encodeURIComponent(this. getRawValue0)) , false); pcAjax. setRequestHeader ( 〃 Content-Type 〃 , 〃 application/ x_www_form_urlencoded〃 );
pcAjax. send() ;/〃發(fā)送ajax請求; tr. set(' value' , pcAjax. responseText);〃獲取服務器的響應值,更新控件 的語言屬性值 tr. set(' text' , pcAjax. responseText); 服務器接收到所述控件當前的屬性值和要轉換的類型后,對該控件的屬性值進行 翻譯,并將翻譯結果返回給客戶端??蛻舳双@取翻譯后的值,更新控件顯示內容,此時,如果 用戶點擊右邊的"CH"圖標,頁面顯示多語言下拉框,而且,繁體的"中國"將顯示在"TW"的 下拉框中。 當然,本發(fā)明實施例的方法可以同時提供上述兩種功能,既可以由用戶在頁面上 修改或添加或刪除所述控件當前的語言屬性值,也同時可以借助服務器提供的翻譯功能添 加所述控件當前的語言屬性值。 可見,本發(fā)明實施例實現(xiàn)web多語言控件的方法,不僅可以實現(xiàn)控件的多語言屬 性與后臺的多個值的綁定,使用戶在恥b界面上進行多語言文本輸入的支持,而且使用靈 活、方便。 本發(fā)明實施例實現(xiàn)web多語言控件的方法,可以應用于多種業(yè)務系統(tǒng)的開發(fā)中, 使其中某些中文字段需要在不同的語言環(huán)境下顯示不同的內容。 本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以 通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中, 所述的存儲介質,如R0M/RAM、磁碟、光盤等。 本發(fā)明實施例還提供一種實現(xiàn)web多語言控件的系統(tǒng),如圖5所示,是該系統(tǒng)的結 構示意圖。 在該實施例中,所述系統(tǒng)包括 模型建立單元401,用于建立控件的服務器模型,并將所述控件綁定為多語言屬 性; 屬性獲取單元402,用于在加載頁面時,獲取所述控件的基本屬性值,并從所述控 件綁定的多語言屬性中獲取當前的語言屬性值; 渲染單元403,用于根據(jù)所述控件的服務器模型、所述控件的基本屬性值和當前的 語言屬性值將所述控件渲染到所述頁面。 本發(fā)明實施例實現(xiàn)web多語言控件的系統(tǒng),可以實現(xiàn)控件的多語言屬性與后臺的
多個值的綁定,使用戶在web界面上進行多語言文本輸入的支持。 為了方便用戶的使用,在本發(fā)明實施例的系統(tǒng)中,還可進一步包括 修改單元404,用于在所述頁面上修改或添加或刪除所述控件當前的語言屬性值。 保存單元405,用于在提交頁面時,將修改或添加或刪除后的語言屬性值保存到所
述控件的服務器模型中。 在本發(fā)明實施例中,所述修改單元404可以通過多種方式對所述控件當前的語言 屬性值進行修改或添加或刪除。 如圖5所示,是本發(fā)明實施例實現(xiàn)web多語言控件的系統(tǒng)的一種具體結構示意圖。
與圖4所示實施例不同的是,在該實施例中,所述系統(tǒng)還進一步包括
第一用戶接口 501,用于接收用戶輸入的所述控件當前的語言屬性值。
8
在該實施例中,所述修改單元404具體用于根據(jù)所述第一用戶接口 601接收的所 述控件當前的語言屬性值,在所述頁面中修改或添加或刪除所述控件當前的語言屬性值。 具體可參照前面本發(fā)明實施例web多語言控件的方法中的描述。 如圖6所示,是本發(fā)明實施例實現(xiàn)web多語言控件的系統(tǒng)的另一種具體結構示意 圖。 與圖4所示實施例不同的是,在該實施例中,所述系統(tǒng)還進一步包括 第二用戶接口 601,用于接收用戶輸入的翻譯命令,所述命令中包含需要翻譯的對
象及類型;所述第二用戶接口 601具體可以為顯示于所述頁面的控件按鈕; 發(fā)送單元602,用于將所述對象及類型發(fā)送給服務器,以使服務器將所述對象翻譯
為所述類型對應的形式; 接收單元603,用于接收服務器返回的值; 在該實施例中,所述修改單元404具體用于根據(jù)所述服務器返回的值,修改或添 加所述控件當前的語言屬性值。 需要說明的是,上面提到的第一用戶接口 501和第二用戶接口 601可以為同一個 接口,也可以分別是不同的接口。而且,在本發(fā)明實施例中,所述實現(xiàn)web多語言控件的系 統(tǒng)可以同時提供上述圖5和6所示實施例所具有的功能。 可見,本發(fā)明實施例實現(xiàn)web多語言控件的系統(tǒng),不僅可以實現(xiàn)控件的多語言屬 性與后臺的多個值的綁定,使用戶在恥b界面上進行多語言文本輸入的支持,而且使用靈 活、方便。 以上對本發(fā)明實施例進行了詳細介紹,本文中應用了具體實施方式
對本發(fā)明進行 了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及設備;同時,對于本領域的 一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所 述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
一種實現(xiàn)web多語言控件的方法,其特征在于,包括建立控件的服務器模型,并將所述控件綁定為多語言屬性;在加載頁面時,獲取所述控件的基本屬性值,并從所述控件綁定的多語言屬性中獲取當前的所有語言屬性值;根據(jù)所述控件的服務器模型、所述控件的基本屬性值和當前的所有語言屬性值將所述控件渲染到所述頁面。
2. 根據(jù)權利要求1所述的方法,其特征在于,所述控件的基本屬性值包括以下屬性的 值控件樣式、控件大小。
3. 根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括 在所述頁面上修改或添加或刪除所述控件當前的語言屬性值;在提交頁面時,將修改或添加或刪除后的語言屬性值保存到所述控件的服務器模型中。
4. 根據(jù)權利要求3所述的方法,其特征在于,所述在頁面上修改或添加或刪除所述控 件當前的語言屬性值包括在所述頁面中設置第一用戶接口;通過所述第一用戶接口在所述頁面中修改或添加或刪除所述控件當前的語言屬性值。
5. 根據(jù)權利要求3所述的方法,其特征在于,所述在頁面上添加所述控件當前的語言 屬性值包括在所述頁面中設置第二用戶接口;通過所述第二用戶接口獲取需要翻譯的對象及類型;將所述對象及類型發(fā)送給服務器,以使服務器將所述對象翻譯為所述類型對應的形式;根據(jù)服務器返回的值,添加所述控件當前的語言屬性值。
6. —種實現(xiàn)web多語言控件的系統(tǒng),其特征在于,包括模型建立單元,用于建立控件的服務器模型,并將所述控件綁定為多語言屬性; 屬性獲取單元,用于在加載頁面時,獲取所述控件的基本屬性值,并從所述控件綁定的多語言屬性中獲取當前的所有語言屬性值;渲染單元,用于根據(jù)所述控件的服務器模型、所述控件的基本屬性值和當前的所有語言屬性值將所述控件渲染到所述頁面。
7. 根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 修改單元,用于在所述頁面上修改或添加或刪除所述控件當前的語言屬性值; 保存單元,用于在提交頁面時,將修改或添加或刪除后的語言屬性值保存到所述控件的服務器模型中。
8. 根據(jù)權利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 第一用戶接口,用于接收用戶輸入的所述控件當前的語言屬性值; 所述修改單元,具體用于根據(jù)所述第一用戶接口接收的所述控件當前的語言屬性值,在所述頁面中修改或添加或刪除所述控件當前的語言屬性值。
9. 根據(jù)權利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括第二用戶接口,用于接收用戶輸入的翻譯命令,所述命令中包含需要翻譯的對象及類型;發(fā)送單元,用于將所述對象及類型發(fā)送給服務器,以使服務器將所述對象翻譯為所述類型對應的形式;接收單元,用于接收服務器返回的值;所述修改單元,具體用于根據(jù)所述服務器返回的值,添加所述控件當前的語言屬性值。
10.根據(jù)權利要求9所述的系統(tǒng),其特征在于,所述第二用戶接口 ,具體為顯示于所述頁面的控件按鈕。
全文摘要
本發(fā)明涉及web技術領域,公開了一種實現(xiàn)web多語言控件的方法,所述方法包括建立控件的服務器模型,并將所述控件綁定為多語言屬性;在加載頁面時,獲取所述控件的基本屬性值,并從所述控件綁定的多語言屬性中獲取當前的語言屬性值;根據(jù)所述控件的服務器模型、所述控件的基本屬性值和當前的語言屬性值將所述控件渲染到所述頁面。本發(fā)明能夠在web界面上支持多語言輸入,方便不同語言用戶的使用。
文檔編號G06F9/44GK101714080SQ20091011026
公開日2010年5月26日 申請日期2009年10月28日 優(yōu)先權日2009年10月28日
發(fā)明者資冰冰 申請人:金蝶軟件(中國)有限公司