• yam天空
  • 天空部落
  • 新聞
  • 寬頻電視
  • 登入 註冊 網誌隨便逛
  • 加入天空部落

網誌 日記 相簿 影音 BlogLive PK吧!
即時新聞 影音新聞 新聞專輯 政治新聞 財經新聞 娛樂新聞 運動新聞 兩岸新聞 科技新聞
免費頻道 隨選戲劇 隨選綜合 大陸電視直播 鎖碼頻道 隨選電影 優惠活動 加入會員
管理介面 發表網誌 發表日記 上傳相片 上傳影音 管理留言
推薦這個部落格: 145

A HA! 心情雜物間

專供個人碎碎念的心得小屋,或是好物分享~~ ^_^

日記 |網誌 |相簿 |好友 |留言板 |
好笑的黑白炭又出現啦!!Q口Q | 主頁 | 【介紹】萌單
July 25, 2007
Symbian 開發日誌(18)以文找文
csylvia 在天空部落發表於14:10:51 | Symbian
鼓勵此網誌:0 
加入書籤: HemiDemiGoogle BookmarksYahoo! My WebDel.icio.usfurltechnorati加入此網頁到:你推我報MyShareUDN共享書籤BlogLive

終於把 Multi-language 的部分搞出來啦!!\(>▽<)/

真是漫長的旅程......(毆)


在Symbian 開發日誌(6)有提到,
當初在建立專案時,所有的字串都是分開放在不同的 loc 檔中,
只是真正多語系的規範沒有去遵守而已,
而這次遵照網路上的步驟,
弄好了 mmp、pkg、loc 等檔案,
卻還是不行......
同事實作過後發現所有的字串都會變成 qtn_xxx_xxx。

查了查資料,疑似因為 Carbibe 一次只能 compile 一種資源檔所造成的現象。

輪我接手時,我查了查網路資料,
在Carbide.c++ Express中如何编译多语言资源文件 at wolfg’s Weblog這一篇找到了很實用的資訊。

 

沒錯,問題的確是出在 Carbibe 一次只能 compile 一種資源檔身上,
不過會出現 qtn_xxx_xxx 則是因為沒有在專案屬性中的「Resource Compiler」 設定欄設定變數,
如下圖所示(轉自Carbide.c++ Express中如何编译多语言资源文件 at wolfg’s Weblog):

 

 

雖然此篇文章的作者有提供程式讓 Carbide 可以自動處理不同語系的檔案,
可是我不會用...用不出來......=A=|||
所以最後還是手動把 .rsc 做更名的動作。

結果是成功啦!喔耶!!XD


順帶一題,我是使用 Carbide 1.1,
請不要相信某些人所說的要使用 Carbide 1.2 才可以編譯,
因為沒用,這是我同事的慘痛經歷~~XD|||b

 

 

然後 Multilingual Application Development | NewLC 這篇文章也很棒,
在仔細看這篇之前我還詢問過同事說「有沒有在 pkg 中標明各個語系有什麼差別」,
結果這篇文中就有仔細地講解。

簡單來講,如果你是要安裝全部的語系到使用者的手機,
當使用者切換手機語系時可以自動顯示相對應的語言選單或訊息時,
可以這樣做:

 

;
; Installation file for MyApp example application
; "Silent" version: no language popup

;Languages
&EN

;
; UID is the app's UID
;
#{"MyApp"},(0x0EB00551),1,0,0

;Supports Series 60 v 2.0
;This line indicates that this installation is for the Series 60 platform v2.0
;This line must appear _exactly_ as shown below in the sis file
;If this line is missing or incorrect, the sis file will not be able
;to be installed on Series 60 v2.0 platforms
(0x101F7960), 0, 0, 0, {"Series60ProductID"}

;
; Four files to install
; The PKG file has been set up with a default SDK root.
; Symbols set up for the source location are Carbide.c++ specific symbols
"\epoc32\release\armi\urel\MyApp.app" - "!:\system\apps\MyApp\MyApp.app"
"\epoc32\data\z\system\apps\MyApp\MyApp.r01" - "!:\system\apps\MyApp\MyApp.r01"
"\epoc32\data\z\system\apps\MyApp\MyApp.r02" - "!:\system\apps\MyApp\MyApp.r02"
"\epoc32\data\z\system\apps\MyApp\MyApp.r03" - "!:\system\apps\MyApp\MyApp.r03"
"\epoc32\data\z\system\apps\MyApp\MyApp.aif" - "!:\system\apps\MyApp\MyApp.aif"

 

語系一種即可,然後所有的 resource 都要安裝部署,
當然這樣的做法很佔記憶體空間,
但是如果有此需求的話就是這樣處理。


另一種是在安裝時詢問使用者要安裝什麼語系,
然後只安裝該語系的元件到手機上,
其處理方式為

 

 ;
; Installation file for MyApp example application
; "Silent" version: no language popup

;Languages
&EN,FR,GE

;
; UID is the app's UID
;
#{"MyApp","MonApp","MeinApp"},(0x0EB00551),1,0,0

;Supports Series 60 v 2.0
;This line indicates that this installation is for the Series 60 platform v2.0
;This line must appear _exactly_ as shown below in the sis file
;If this line is missing or incorrect, the sis file will not be able
;to be installed on Series 60 v2.0 platforms
(0x101F7960), 0, 0, 0, {"Series60ProductID", "Series60ProductID", "Series60ProductID"}

;
; Four files to install
; The PKG file has been set up with a default SDK root.
; Symbols set up for the source location are Carbide.c++ specific symbols
"\epoc32\release\armi\urel\MyApp.app" - "!:\system\apps\MyApp\MyApp.app"
{
"\epoc32\data\z\system\apps\MyApp\MyApp.r01",
"\epoc32\data\z\system\apps\MyApp\MyApp.r02",
"\epoc32\data\z\system\apps\MyApp\MyApp.r03"
}
- "!:\system\apps\MyApp\MyApp.rsc"
"\epoc32\data\z\system\apps\MyApp\MyApp.aif" -"!:\system\apps\MyApp\MyApp.aif"

 

不同於第一種方案的寫法,
在 .pkg 中明確標明所含的語系,
在安裝時就會要求使用者作選擇,
將來不管使用者如何切換系統語系都不會改變。

除了標明 Lang 之外,resource 安裝寫法也不同,
將每一個 resource 檔依據不同的選擇而另外儲存成 .rsc 檔案,
所以手機內只會存在一份資源檔,自然檔案容量較小。

很實用的知識~~ ^__^

 

 

最後,如果要在程式中判斷語系以處理不同動作的話,可以使用

 

User::Language()

 

這個 API 喔~~=ˇ=

 

 

  • Carbide.c++ Express中如何编译多语言资源文件 at wolfg’s Weblog
  • Multilingual Application Development | NewLC
  • Localization | NewLC
  • How to provide the Multi-Language support at runtime for Series 60. |
    NewLC
  • How to define localization messages - Forum Nokia Wiki
  • Resource information: S60 Platform: Localization Example
  • Carbide getting started questions | NewLC (這個跟 Example 相關,但我沒試過該 Example 所以也不清楚)

 

留言 (0) | 引用 (0) | 人氣 () | 轉寄
此分類上一篇:Symbian 開發日誌(19) | 主頁 | 此分類下一篇:Symbian 開發日誌(17)
熱門:
相關閱讀
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (0筆)
發表你的留言 (字數限制 最多 2000 個中文字)
私密留言: 是 否
Name:





是 否
內容:
系統公告
  • [活動] 快來尋找飛俠蹤跡,讓你輕鬆登上天空首頁
系統工具

Sylvia 小檔案
個人圖檔
ID:csylvia
暱稱:Sylvia
地區:臺北市
  • 訂閱 |
    • 我要訂閱此部落格的
    • 日記
    • 網誌
    • 相簿
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

文章分類
  • 電視影集 (3)
    • 紀錄片/連續劇 (10)
    • 經典影集 (12)
    • 綜藝節目 (7)
  • 科技資訊 (17)
    • Code::Blocks 相關 (29)
    • C/C++ (54)
    • ActiveX (20)
    • WM5.0 (26)
    • Symbian (26)
    • FLASH (9)
    • 網頁相關 (4)
    • AJAX (22)
    • PHP (3)
    • ASP (9)
    • JavaScript (19)
    • Batch File (8)
    • 其他 (28)
    • Install (2)
    • SOAP (1)
    • VLC (14)
    • Linux 相關 (2)
  • 動漫遊戲 (3)
    • 西洋動漫 (9)
    • 其他動漫 (1)
    • 日本動漫 (22)
  • 生活資訊 (6)
    • 體操按摩 (5)
    • 有用資訊 (10)
    • 螢養保健 (11)
    • 小辭典 (13)
    • 飲食美味 (2)
    • 美容美髮 (2)
  • 資源連結 (4)
    • 介紹&推薦 (45)
    • BLOG小玩意 (44)
    • 資源整理 (12)
    • 噗浪 (8)
  • 真人電影 (4)
    • 國片電影 (4)
    • 電影介紹&推薦 (20)
    • 西洋電影 (35)
    • 東洋電影 (2)
  • 語言筆記 (3)
    • 其他語言 (1)
    • 日文 (6)
    • 英文 (4)
  • 創作欣賞 (6)
    • 其他創作 (1)
    • CG (8)
    • 串珠飾品 (12)
    • 文章 (1)
    • 設計 (2)
    • 不織布 DIY (5)
  • 個人記事 (6)
  • 書籍藝文 (25)
  • 話題探討 (27)
csylvia的最新的回應
  • Wesley:
    因為孔子的緣故 ...
  • 訪客:
    我可以引用你的文章嗎?...
  • Wesley:
    這本書不錯,還有標點符...
  • 容:
    應該去翻原著哦~~這樣...
  • toppy368:
    目前打算使用此服務燒至...
  • 星:
    哇~~我覺得~~你的筆...
  • 海綿米米:
    還可以繼續玩阿~ ...
  • 白開水:
    文中 ...
  • Ethan:
    若是要按照圖片而產生不...
  • 路人:
    現在正在使用VISTA...
其他據點
  • 本部
  • A HA! 心情雜物間 - Qooza HK 網上日誌
  • 眠雲軒
  • Sylvia的迷你窩
  • 歡迎使用 Gmail
  • A HA! 心情雜物間 :: 痞客邦 PIXNET :::
好用工具
  • HTML 編輯器
  • Excite エキサイト 翻訳
  • W3Schools Online Web Tutorials
  • (MSDN) Win32 and COM Development
  • Sumo Paint
  • 天空部落新版樣式結構表
  • ASCII Table - ASCII and Unicode Characters
常晃之處
  • 台灣大學日文系 - 日語教學資源
  • 熊貓與菊花
  • 白文咪咪與小鸚KIKI-天空部落
  • 宇宙囧片王
  • 台語文/中文辭典 Taiwanese - Chinese Dictionary
  • Hitoradio
  • 生活補給站
迷你窩 miniworld
aNobii 書櫃
珍惜台灣
天下雜誌綠色行動4力串聯貼紙





台灣貨‧暢其流

該推就是要推
搶救生命 棄兒不捨!





天下雜誌台灣不願面對的真相貼紙

Chine Free
天氣
台北
-
RANKING
Google PageRank Checker



Free PageRank Meter for blog.webs-tv.net/csylvia
人氣指數
當日人次:
累積人次:
網誌搜尋
搜尋:
參觀者
RSS 訂閱


RSS 訂閱
RSS2
ATOM
贊助商
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入│免費註冊