• yam天空
  • 天空部落
  • 新聞
  • 登入 註冊 網誌隨便逛
  • 加入天空部落
  • 聽不見我愛你活動

網誌 相簿 影音 PK吧! Honda嬉遊趣
即時新聞 影音新聞 新聞專輯 政治新聞 財經新聞 娛樂新聞 運動新聞 兩岸新聞 科技新聞
管理介面 發表網誌 發表日記 上傳相片 上傳影音 管理留言
推薦這個部落格: 186

A HA! 心情雜物間

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

日記 |網誌 |相簿 |好友 |留言板
好笑的黑白炭又出現啦!!Q口Q | 主頁 | 【介紹】萌單
July 25, 2007
Symbian 開發日誌(18)以文找文
csylvia 在天空部落發表於14:10:51 | Symbian
鼓勵此網誌:0 

終於把 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
地區:臺北市
  • 訂閱 |
    • 我要訂閱此部落格的
    • 日記
    • 網誌
    • 相簿
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

文章分類
  • 生活資訊 (6)
    • 螢養保健 (11)
    • 小辭典 (13)
    • 飲食美味 (2)
    • 美容美髮 (2)
    • 體操按摩 (5)
    • 有用資訊 (10)
  • 資源連結 (4)
    • 資源整理 (12)
    • 噗浪 (8)
    • 介紹&推薦 (45)
    • BLOG小玩意 (44)
  • 真人電影 (4)
    • 電影介紹&推薦 (20)
    • 西洋電影 (35)
    • 東洋電影 (2)
    • 國片電影 (4)
  • 語言筆記 (3)
    • 英文 (4)
    • 其他語言 (1)
    • 日文 (6)
  • 創作欣賞 (7)
    • 串珠飾品 (12)
    • 毛線球 (2)
    • 文章 (1)
    • 設計 (2)
    • 不織布 DIY (5)
    • 其他創作 (1)
    • CG (8)
  • 電視影集 (3)
    • 綜藝節目 (7)
    • 紀錄片/連續劇 (11)
    • 經典影集 (12)
  • 科技資訊 (19)
    • C/C++ (57)
    • AJAX (36)
    • Code::Blocks 相關 (29)
    • WM5.0 (26)
    • Symbian (26)
    • ActiveX (20)
    • AIR (2)
    • ASP (9)
    • JavaScript (28)
    • FLASH (9)
    • 網頁相關 (7)
    • PHP (3)
    • Database (3)
    • 其他 (29)
    • Install (2)
    • SOAP (1)
    • VLC (14)
    • Linux 相關 (2)
    • Batch File (8)
  • 動漫遊戲 (3)
    • 西洋動漫 (9)
    • 其他動漫 (1)
    • 日本動漫 (22)
  • Amway (3)
    • 其他筆記 (0)
    • 智囊團 (0)
    • 紀錄 (4)
  • 個人記事 (6)
  • 書籍藝文 (29)
  • 話題探討 (28)
csylvia的最新的回應
  • 小鼻:
    喔喔~我是說透明png...
  • 小鼻:
    可以請教一下喔~ ...
  • 宣宣:
    引用沒問題,歡迎引用 ^_^
  • 小牛:
    其實我也是有在看的~...
  • 小豬仔:
    為何看不見你的回覆?
  • 小豬仔:
    Hi Sylvia,...
  • 小豬仔:
    Hello,...
  • 小豬仔:
    Hello,...
  • Kai:
    Hi...
  • elia1976:
    私密留言
其他據點
  • 本部
  • A HA! 心情雜物間 - Qooza HK 網上日誌
  • 眠雲軒
  • Sylvia的迷你窩
  • 歡迎使用 Gmail
  • A HA! 心情雜物間 :: 痞客邦 PIXNET :::
好用工具
  • HTML 編輯器
  • Excite エキサイト 翻訳
  • W3Schools Online Web Tutorials
  • (MSDN) Win32 and COM Development
  • C++ Tutorial
  • CodeColorizer
  • Online syntax highlighting for "JavaScript"
  • Sumo Paint
  • 天空部落新版樣式結構表
  • ASCII Table - ASCII and Unicode Characters
常晃之處
  • 台灣大學日文系 - 日語教學資源
  • 熊貓與菊花
  • 白文咪咪與小鸚KIKI-天空部落
  • 宇宙囧片王
  • 台語文/中文辭典 Taiwanese - Chinese Dictionary
  • Hitoradio
  • 生活補給站
  • StickerAction! 串連、串聯貼紙平台
  • 中國哲學書電子化計劃(Chinese Text Project)
迷你窩 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 天空部落
會員登入│免費註冊