Re: [請益] 開發多國語系的系統

看板Soft_Job (軟體人)作者 (Willie Liao)時間18年前 (2007/10/05 12:01), 編輯推噓4(403)
留言7則, 4人參與, 最新討論串2/3 (看更多)
※ 引述《RoxetteI (累積資產,降低負債)》之銘言: : 最近部門開始討論以後可能要開發多國語系的系統, : 方式好像有多種,有的是讀自己先定好的多國語系的文字檔, : 有的是利用資料庫的方式, : 不曉得各位目前都是用什麼方式以方便將來的維護與擴充....tks... 這個要看您程式用的是啥系統,像敝公司的gui從vb,asp,c#,jsp到java一應俱全 backend的c++也要輸出localized的error message,因此沒辦法用單一的解決方案 目前的做法是把strings 放到database(目前用的是sql server)裡面,欄位像這樣: ID Component Symbolic Name String_EN String_ZH_TW String_JP ... 1 3 IDS_DSK_OPEN &Open 開啟文件(&O) .... 之後寫一個perl的程式,build的時候component是3(vb desktop)的就編譯成dll, web的編成resource bundle,java gui的編成property file或是.java等等。 實際上使用的話以JAVA為例,編成.java的話像這樣 Res_ZH_TW.java .. static String IDS_DSK_OPEN="開啟文件(&O)" GUIStrings.java static init (Locale locale) {...} static getString (String symbolicName) {..看哪個locale去哪個class 用reflection找string...} web就沒這麼麻煩,弄個文字檔 1=開啟文件(&O) 就好了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 76.111.69.123

10/05 12:30, , 1F
這招真是不簡單
10/05 12:30, 1F

10/05 16:26, , 2F
web那邊還是不太懂意思@@"
10/05 16:26, 2F

10/05 18:46, , 3F
web就是類似config , 比方說 "$1" 就自己去找出"1=開啟文件"
10/05 18:46, 3F

10/05 18:46, , 4F
某過去知名線上遊戲(Lineage)也是這樣做 有5000多個字串:P
10/05 18:46, 4F

10/05 18:47, , 5F
存在某個文字檔內. :P
10/05 18:47, 5F

10/05 21:26, , 6F
是的,這種做法的好處是方便客戶自己在web介面增加語系
10/05 21:26, 6F

10/05 21:27, , 7F
我們自己支援11種語言,但是有某歐洲客戶自己加了12種
10/05 21:27, 7F
文章代碼(AID): #171RR-ze (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #171RR-ze (Soft_Job)