Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Free Software Localization
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
趙惟倫
August 03, 2006
How-to & DIY
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Free Software Localization
自由軟體本地化
https://github.com/bluebat/.presentations/raw/master/free-software-localization.odp
趙惟倫
August 03, 2006
More Decks by 趙惟倫
See All by 趙惟倫
BASH Basics
bluebat
0
110
VDI Historical Overview
bluebat
1
200
RPM Sphere Repository
bluebat
0
1.5k
Multiplication Table in Various Programming Languages
bluebat
0
650
Gamelets Arena for AI Players
bluebat
0
740
Alternative Web Services
bluebat
0
290
Look at Yue Desktop
bluebat
0
530
msgchi L10n Tool
bluebat
0
750
Making P-Font with FontForge
bluebat
0
200
Other Decks in How-to & DIY
See All in How-to & DIY
从机器人竞赛到软件系统实践:日本创客文化对技术创新的启
takasumasakazu
0
120
251011「ひとりより、みんなで!」 九州の支部で始めた、新しい連携のかたち
east_takumi
2
170
JAWS-UG/AWS Community Update - 2026/6/13 JAWS-UG TOHOKU 仙台
awsjcpm
0
1.2k
JAWS-UG/AWS Communities Updates 2025/11/8 JAWS-UG 島根支部
awsjcpm
1
170
The Definitive? Guide To Locally Organizing RubyKaigi
sylph01
9
4k
2025版 鯖落ちパーツで安価に機械学習用マシンを作ってみる
bobfromjapan
0
940
OpenClawハンズオンでのトラブルとデバイス向けなんちゃらクロー #IoTLT vol133
n0bisuke2
0
280
MustをWillに変える技術 〜アイドル・郁田はるきが"すべき"の壁を超えるまで〜
subroh0508
1
2k
Nutanix Community Edition 超入門 25.04
ricefield66
0
430
終わりのない会議を超えて:HolacracyのTactical Meetingを体験しよう!
andrearc
0
300
なぜJAWS-UGはこんなにも活発なのか?
awsjcpm
1
250
放っておくと怖い睡眠負債について/fjordbootcamp-251122
yuukago
3
330
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
The Pragmatic Product Professional
lauravandoore
37
7.4k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Transcript
趙惟倫 <
[email protected]
> 2006 年 8 月 3 日、 2008 年
1 月 26 日 2012 年 9 月 20 日、 2016 年 6 月 7 日 自由軟體本地化 自由軟體本地化 TOSSUG
軟體使用者 軟體使用者 傳統字漢語 簡化字漢語 英語 法語 日語 德語 西班牙語 傳統字漢語
简化字汉语 English Français 日本語 Deutsch Español
軟體開發者 軟體開發者 C/C++/C# Pascal/Fortran BASIC/PHP Python/Perl Java/JavaScript 傳統字漢語 简化字汉语 English
Français 日本語 Deutsch Español
如果你曾經… 如果你曾經…
語區 語區 en de fr zh ...... zh_CN zh_HK zh_TW
zh_TW.Big5 zh_TW.UTF-8 Locale
名詞解釋 名詞解釋 NLS : 多國語言支援 (National Language Support) g11n :
全球化 (Globalization) i18n : 國際化 (Internationalization) L10n : 本地化 (Localization) m17n : 多語化 (Multilingualization) 廠商 廠商 作者 翻譯者 使用者
系統選單 系統選單 範例: /usr/share/applications/mplayer.desktop [Desktop Entry] Type=Application Encoding=UTF-8 Name=MPlayer Name[zh_TW]=MPlayer
播放器 GenericName=Multimedia player Comment=Multimedia player Comment[zh_TW]= 多媒體播放器 Icon=mplayer.xpm TryExec=gmplayer Exec=gmplayer Terminal=false Categories=Application;AudioVideo;Player; [Desktop Entry] Type=Application Encoding=UTF-8 Name=MPlayer Name[zh_TW]=MPlayer 播放器 GenericName=Multimedia player Comment=Multimedia player Comment[zh_TW]= 多媒體播放器 Icon=mplayer.xpm TryExec=gmplayer Exec=gmplayer Terminal=false Categories=Application;AudioVideo;Player;
國際化方案 國際化方案 *.c *.h *.msg *.catin(makemsg gencat) *.ts *.qm(Qt) *.properties(Java)
*.xml *.json *.po *.mo(gettext) 從前 現在
翻譯內容 翻譯內容
翻譯工具 翻譯工具 專用編輯器 (poEdit, Lokalize, Gtranslator) 文字編輯器 (vi, nano, joe)
通用編輯器 (gEdit, kWrite)
注意事項 注意事項 首項訊息記錄翻譯資訊 "Last-Translator: Wei-Lun Chao <
[email protected]
>\n" "Language-Team: Chinese (traditional)
<zh-
[email protected]
>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" 不隨意更改 msgstr 內容以外的文字 msgctxt "Software" msgid "%s: Fille shrank by %s byte" msgid_plural "%s: Fille shrank by %s bytes" msgstr[0] "%s :檔案縮減了 %s 位元組 " 快速鍵記號 (& 或 _) msgid "_Preferences..." msgstr " 偏好設定 (_P)..." msgid "Show Time&zone" msgstr " 顯示時區 (&Z)" 第二人稱單數通常翻譯為「您」 msgid "You must specify a file.\n" msgstr " 您必須指定檔案。 \n" 標點符號轉為全形 msgid "The strokes follow a \"flowing\" pattern..." msgstr " 筆劃會以「流動」的方式來鋪排… " 格式化輸出注意中文與英文的螢幕寬度比例 msgid "Idx Name Size" msgstr " 索引名稱 大小 " 必須依原型使用的名稱不需要翻譯 msgid "CLOSE, Closes the current tab" msgstr "CLOSE ,關閉目前分頁 " \ 表示跳脫字元, % 表示變數 msgid "<span weight=\"bold\">Miscellaneous\t</span>" msgstr "<span weight=\"bold\"> 其 他 \t</span>" msgid "Searching in page %d of %d...\n" msgstr " 正在搜尋 %2$d 頁中的第 %1$d 頁… \n" 訊息原文的意思是「鳴謝歷來翻譯者」 msgid "translator-credits" msgstr " 趙惟倫 <
[email protected]
>, 2006"
轉換流程 轉換流程 msginit -i name.pot -o zh_TW.po $EDITOR zh_TW.po msgfmt
zh_TW.po -cvo /dev/null msgfmt zh_TW.po -cvo zh_TW.gmo install zh_TW.gmo /usr/share/locale/zh_TW/LC_MESSAGES/name.mo gettext -e -s --domain=name "OK"
msg* msg* 命令群 命令群 msgattrib msgcmp msgen msgfmt msginit msguniq
msgcat msgcomm msgexec msggrep msgmerge msgconv msgfilter msghack msgunfmt
謝謝各位 敬請指教 簡報模板:資訊未來大自由 ( 孫賜萍 )