SlideShare une entreprise Scribd logo
L10N Introduction
Localization Workshop @ Mozilla Office
      by Tomoya Asai (dynamis)
Tomoya ASAI (dynamis)
       Mozilla Japan - Technical mktg.
       http://dynamis.jp/
       http://facebook.com/dynamis
       http://twitter.com/dynamitter
       dynamis@mozilla-japan.org
dynamis (         dunamis)
Localization
What is Localization
printf("This	 class	 is	 %s.n",	 class_name);
//	 gettext()	 またはそのエイリアス	 _()	 関数で処理
printf(_("This	 class	 is	 %s.n"),	 class_name);



#:	 src/l10n.c:123
msgid	 "This	 class	 is	 %s.n"
msgstr	 ""




                                  http://www.gnu.org/software/gettext/
Mozilla's L10n
Mozilla's L10n System
sample.dtd
<!ENTITY	 lable.value	 "(>.&lt;)">
<!ENTITY	 label.style	 "font-size:	 64px;	 font-weight:	 bold">

<!DOCTYPE	 overlay	 [
	 	 <!ENTITY	 %	 sampledtd	 SYSTEM	 "sample.dtd"	 >
	 	 %sampledtd;
]>
<window	 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
	 	 <hbox	 pack="center"	 align="center"	 height="300">
	 	 	 	 <label	 value="&label.value;"	 style="&label.style;"/>
	 	 </hbox>
</window>
sample.dtd
<!ENTITY	 lable.value	 "(>.&lt;)">
<!ENTITY	 label.style	 "font-size:	 64px;	 font-weight:	 bold">

<!DOCTYPE	 overlay	 [
	 	 <!ENTITY	 %	 sampledtd	 SYSTEM	 "sample.dtd"	 >
	 	 %sampledtd;
]>
<window	 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
	 	 <hbox	 pack="center"	 align="center"	 height="300">
	 	 	 	 <label	 value="&label.value;"	 style="&label.style;"/>
	 	 </hbox>
</window>
<!ENTITY	 tabCmd.label	 	 	 	 	 	 	 	 	 	 	 	 	 	 "New	 Tab">
<!ENTITY	 tabCmd.accesskey	 	 	 	 	 	 	 	 	 	 "T">
<!ENTITY	 tabCmd.commandkey	 	 	 	 	 	 	 	 	 "t">
<!ENTITY	 openLocationCmd.label	 	 	 	 	 "Open	 Location…⋯">
<!ENTITY	 openLocationCmd.accesskey	 "L">
<!ENTITY	 openFileCmd.label	 	 	 	 	 	 	 	 	 "Open	 File…⋯">
<!ENTITY	 openFileCmd.accesskey	 	 	 	 	 "O">
<!ENTITY	 openFileCmd.commandkey	 	 	 	 "o">
<!ENTITY	 printSetupCmd.label	 	 	 	 	 	 	 "Page	 Setup…⋯">
<!ENTITY	 printSetupCmd.accesskey	 	 	 "u">
<!ENTITY	 printPreviewCmd.label	 	 	 	 	 "Print	 Preview">
<!ENTITY	 printPreviewCmd.accesskey	 "v">
<!ENTITY	 printCmd.label	 	 	 	 	 	 	 	 	 	 	 	 "Print…⋯">
<!ENTITY	 tabCmd.label	 	 	 	 	 	 	 	 	 	 	 	 	 	 "新しいタブ">
<!ENTITY	 tabCmd.accesskey	 	 	 	 	 	 	 	 	 	 "T">
<!ENTITY	 tabCmd.commandkey	 	 	 	 	 	 	 	 	 "t">
<!ENTITY	 openLocationCmd.label	 	 	 	 	 "URL	 を開く...">
<!ENTITY	 openLocationCmd.accesskey	 "L">
<!ENTITY	 openFileCmd.label	 	 	 	 	 	 	 	 	 "ファイルを開く...">
<!ENTITY	 openFileCmd.accesskey	 	 	 	 	 "O">
<!ENTITY	 openFileCmd.commandkey	 	 	 	 "o">
<!ENTITY	 printSetupCmd.label	 	 	 	 	 	 	 "ページ設定...">
<!ENTITY	 printSetupCmd.accesskey	 	 	 "u">
<!ENTITY	 printPreviewCmd.label	 	 	 	 	 "印刷プレビュー">
<!ENTITY	 printPreviewCmd.accesskey	 "v">
<!ENTITY	 printCmd.label	 	 	 	 	 	 	 	 	 	 	 	 "印刷...">
<!ENTITY	 tabCmd.label	 	 	 	 	 	 	 	 	 	 	 	 	 	 "新しいタブ">
<!ENTITY	 tabCmd.accesskey	 	 	 	 	 	 	 	 	 	 "T">
<!ENTITY	 tabCmd.commandkey	 	 	 	 	 	 	 	 	 "t">
<!ENTITY	 openLocationCmd.label	 	 	 	 	 "URL	 を開く...">
<!ENTITY	 openLocationCmd.accesskey	 "L">
<!ENTITY	 openFileCmd.label	 	 	 	 	 	 	 	 	 "ファイルを開く...">
<!ENTITY	 openFileCmd.accesskey	 	 	 	 	 "O">
<!ENTITY	 openFileCmd.commandkey	 	 	 	 "o">
<!ENTITY	 printSetupCmd.label	 	 	 	 	 	 	 "ページ設定...">
<!ENTITY	 printSetupCmd.accesskey	 	 	 "u">
<!ENTITY	 printPreviewCmd.label	 	 	 	 	 "印刷プレビュー">
<!ENTITY	 printPreviewCmd.accesskey	 "v">
<!ENTITY	 printCmd.label	 	 	 	 	 	 	 	 	 	 	 	 "印刷...">
#	 RSS	 Pretty	 Print
feedNoFeeds	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 =	 Page	 has	 no	 feeds
feedShowFeedNew	 	 	 	 	 	 	 	 	 	 	 	 	 =	 Subscribe	 to	 '%S'…⋯
feedHasFeedsNew	 	 	 	 	 	 	 	 	 	 	 	 	 =	 Subscribe	 to	 this	 page…⋯

#	 History	 menu
menuOpenAllInTabs.label	 	 	 	 	 =	 Open	 All	 in	 Tabs
menuOpenAllInTabs.accesskey	 =	 o

#	 Unified	 Back-/Forward	 Popup
tabHistory.current	 	 	 	 	 	 	 	 	 	 =	 Stay	 on	 this	 page
tabHistory.goBack	 	 	 	 	 	 	 	 	 	 	 =	 Go	 back	 to	 this	 page
tabHistory.goForward	 	 	 	 	 	 	 	 =	 Go	 forward	 to	 this	 page

#	 Star	 button
starButtonOn.tooltip	 	 	 	 	 	 	 	 =	 Edit	 this	 bookmark
starButtonOff.tooltip	 	 	 	 	 	 	 =	 Bookmark	 this	 page
#	 RSS	 Pretty	 Print
feedNoFeeds	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 =	 ページにはフィードがありません。
feedShowFeedNew	 	 	 	 	 	 	 	 	 	 	 	 	 =	 '%S'	 を購読...
feedHasFeedsNew	 	 	 	 	 	 	 	 	 	 	 	 	 =	 このページを購読します

#	 History	 menu
menuOpenAllInTabs.label	 	 	 	 	 =	 タブですべて開く
menuOpenAllInTabs.accesskey	 =	 o

#	 Unified	 Back-/Forward	 Popup
tabHistory.current	 	 	 	 	 	 	 	 	 	 =	 現在のページです
tabHistory.goBack	 	 	 	 	 	 	 	 	 	 	 =	 このページに戻ります
tabHistory.goForward	 	 	 	 	 	 	 	 =	 このページに進みます

#	 Star	 button
starButtonOn.tooltip	 =	 このページのブックマークを編集します
starButtonOff.tooltip=	 このページをブックマークに追加します
#	 RSS	 Pretty	 Print
feedNoFeeds	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 =	 ページにはフィードがありません。
feedShowFeedNew	 	 	 	 	 	 	 	 	 	 	 	 	 =	 '%S'	 を購読...
feedHasFeedsNew	 	 	 	 	 	 	 	 	 	 	 	 	 =	 このページを購読します

#	 History	 menu
menuOpenAllInTabs.label	 	 	 	 	 =	 タブですべて開く
menuOpenAllInTabs.accesskey	 =	 o

#	 Unified	 Back-/Forward	 Popup
tabHistory.current	 	 	 	 	 	 	 	 	 	 =	 現在のページです
tabHistory.goBack	 	 	 	 	 	 	 	 	 	 	 =	 このページに戻ります
tabHistory.goForward	 	 	 	 	 	 	 	 =	 このページに進みます

#	 Star	 button
starButtonOn.tooltip	 =	 このページのブックマークを編集します
starButtonOff.tooltip=	 このページをブックマークに追加します
Rapid Release
Rapid Release & L10N
http://hg.mozilla.org/releases/mozilla-aurora
http://hg.mozilla.org/releases/comm-aurora


http://hg.mozilla.org/releases/l10n/mozilla-aurora/ja
http://hg.mozilla.org/releases/l10n/mozilla-aurora/ja-JP-mac


https://code.google.com/p/mozja/
Japanese L10n
ja L10n System
QA Test
Testing with Langpack
hg	 clone	 https://code.google.com/p/mozja.lot/	 lot;	 cd	 lot
ant	 setupl10n


ant	 auto	 onlyfx	 buildfx



ant	 auto	 convert	 insertnew	 pack
firefox.exe	 -no-remote	 -P




  /Applications/Firefox.app/Contents/MacOS/firefox	 -P
firefox.exe	 -no-remote	 -P




  /Applications/Firefox.app/Contents/MacOS/firefox	 -P
firefox.exe	 -no-remote	 -P




  /Applications/Firefox.app/Contents/MacOS/firefox	 -P
Other Localization
Web Site, Fx Home etc...
L10n introduction
L10n introduction
L10n introduction
L10n introduction
L10n introduction

Contenu connexe

Similaire à L10n introduction

Nothing Hard Baked: Designing the Inclusive Web
Nothing Hard Baked: Designing the Inclusive WebNothing Hard Baked: Designing the Inclusive Web
Nothing Hard Baked: Designing the Inclusive Webcolinbdclark
 
Getting property based testing to work after struggling for 3 years
Getting property based testing to work after struggling for 3 yearsGetting property based testing to work after struggling for 3 years
Getting property based testing to work after struggling for 3 yearsSaurabh Nanda
 
Embracing Capybara
Embracing CapybaraEmbracing Capybara
Embracing CapybaraTim Moore
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryQConLondon2008
 
You do not need automation engineer - Sqa Days - 2015 - EN
You do not need automation engineer  - Sqa Days - 2015 - ENYou do not need automation engineer  - Sqa Days - 2015 - EN
You do not need automation engineer - Sqa Days - 2015 - ENIakiv Kramarenko
 
The Ring programming language version 1.9 book - Part 52 of 210
The Ring programming language version 1.9 book - Part 52 of 210The Ring programming language version 1.9 book - Part 52 of 210
The Ring programming language version 1.9 book - Part 52 of 210Mahmoud Samir Fayed
 
Dicas de palestra
Dicas de palestraDicas de palestra
Dicas de palestraFabio Akita
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on labNAVER D2
 
E3 appspresso hands on lab
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on labNAVER D2
 

Similaire à L10n introduction (12)

Backbone - TDC 2011 Floripa
Backbone - TDC 2011 FloripaBackbone - TDC 2011 Floripa
Backbone - TDC 2011 Floripa
 
Nothing Hard Baked: Designing the Inclusive Web
Nothing Hard Baked: Designing the Inclusive WebNothing Hard Baked: Designing the Inclusive Web
Nothing Hard Baked: Designing the Inclusive Web
 
Getting property based testing to work after struggling for 3 years
Getting property based testing to work after struggling for 3 yearsGetting property based testing to work after struggling for 3 years
Getting property based testing to work after struggling for 3 years
 
Embracing Capybara
Embracing CapybaraEmbracing Capybara
Embracing Capybara
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J Query
 
Phylogenetic tree
Phylogenetic treePhylogenetic tree
Phylogenetic tree
 
You do not need automation engineer - Sqa Days - 2015 - EN
You do not need automation engineer  - Sqa Days - 2015 - ENYou do not need automation engineer  - Sqa Days - 2015 - EN
You do not need automation engineer - Sqa Days - 2015 - EN
 
Reacting to a Virtual World
Reacting to a Virtual WorldReacting to a Virtual World
Reacting to a Virtual World
 
The Ring programming language version 1.9 book - Part 52 of 210
The Ring programming language version 1.9 book - Part 52 of 210The Ring programming language version 1.9 book - Part 52 of 210
The Ring programming language version 1.9 book - Part 52 of 210
 
Dicas de palestra
Dicas de palestraDicas de palestra
Dicas de palestra
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on lab
 
E3 appspresso hands on lab
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on lab
 

Plus de dynamis

HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)dynamis
 
HTTP and 5G
HTTP and 5GHTTP and 5G
HTTP and 5Gdynamis
 
HTTP and 5G partial draft
HTTP and 5G partial draftHTTP and 5G partial draft
HTTP and 5G partial draftdynamis
 
Web App Platform Strategy
Web App Platform StrategyWeb App Platform Strategy
Web App Platform Strategydynamis
 
HTML5 & Renesas RZ/G
HTML5 & Renesas RZ/GHTML5 & Renesas RZ/G
HTML5 & Renesas RZ/Gdynamis
 
Life of html5 (osaka)
Life of html5 (osaka)Life of html5 (osaka)
Life of html5 (osaka)dynamis
 
Web updates 2017
Web updates 2017Web updates 2017
Web updates 2017dynamis
 
Life of HTML5
Life of HTML5Life of HTML5
Life of HTML5dynamis
 
Browsers in IoT Era
Browsers in IoT EraBrowsers in IoT Era
Browsers in IoT Eradynamis
 
New Norm of HTML5
New Norm of HTML5New Norm of HTML5
New Norm of HTML5dynamis
 
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)dynamis
 
OSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig TalkOSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig Talkdynamis
 
Demo for Gecko Embedded
Demo for Gecko EmbeddedDemo for Gecko Embedded
Demo for Gecko Embeddeddynamis
 
Project Gecko Embedded
Project Gecko EmbeddedProject Gecko Embedded
Project Gecko Embeddeddynamis
 
The New Norm of The Web
The New Norm of The WebThe New Norm of The Web
The New Norm of The Webdynamis
 
Progressive Mobile Web Apps
Progressive Mobile Web AppsProgressive Mobile Web Apps
Progressive Mobile Web Appsdynamis
 
Modern Mobile Web Apps
Modern Mobile Web AppsModern Mobile Web Apps
Modern Mobile Web Appsdynamis
 
Web Tech & Architecture
Web Tech & ArchitectureWeb Tech & Architecture
Web Tech & Architecturedynamis
 
Java script.trend(spec)
Java script.trend(spec)Java script.trend(spec)
Java script.trend(spec)dynamis
 
Data Privacy meeting
Data Privacy meetingData Privacy meeting
Data Privacy meetingdynamis
 

Plus de dynamis (20)

HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
 
HTTP and 5G
HTTP and 5GHTTP and 5G
HTTP and 5G
 
HTTP and 5G partial draft
HTTP and 5G partial draftHTTP and 5G partial draft
HTTP and 5G partial draft
 
Web App Platform Strategy
Web App Platform StrategyWeb App Platform Strategy
Web App Platform Strategy
 
HTML5 & Renesas RZ/G
HTML5 & Renesas RZ/GHTML5 & Renesas RZ/G
HTML5 & Renesas RZ/G
 
Life of html5 (osaka)
Life of html5 (osaka)Life of html5 (osaka)
Life of html5 (osaka)
 
Web updates 2017
Web updates 2017Web updates 2017
Web updates 2017
 
Life of HTML5
Life of HTML5Life of HTML5
Life of HTML5
 
Browsers in IoT Era
Browsers in IoT EraBrowsers in IoT Era
Browsers in IoT Era
 
New Norm of HTML5
New Norm of HTML5New Norm of HTML5
New Norm of HTML5
 
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
 
OSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig TalkOSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig Talk
 
Demo for Gecko Embedded
Demo for Gecko EmbeddedDemo for Gecko Embedded
Demo for Gecko Embedded
 
Project Gecko Embedded
Project Gecko EmbeddedProject Gecko Embedded
Project Gecko Embedded
 
The New Norm of The Web
The New Norm of The WebThe New Norm of The Web
The New Norm of The Web
 
Progressive Mobile Web Apps
Progressive Mobile Web AppsProgressive Mobile Web Apps
Progressive Mobile Web Apps
 
Modern Mobile Web Apps
Modern Mobile Web AppsModern Mobile Web Apps
Modern Mobile Web Apps
 
Web Tech & Architecture
Web Tech & ArchitectureWeb Tech & Architecture
Web Tech & Architecture
 
Java script.trend(spec)
Java script.trend(spec)Java script.trend(spec)
Java script.trend(spec)
 
Data Privacy meeting
Data Privacy meetingData Privacy meeting
Data Privacy meeting
 

Dernier

Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfEasyPrinterHelp
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 

Dernier (20)

Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 

L10n introduction

  • 1. L10N Introduction Localization Workshop @ Mozilla Office by Tomoya Asai (dynamis)
  • 2. Tomoya ASAI (dynamis) Mozilla Japan - Technical mktg. http://dynamis.jp/ http://facebook.com/dynamis http://twitter.com/dynamitter dynamis@mozilla-japan.org dynamis ( dunamis)
  • 3.
  • 5.
  • 6.
  • 7.
  • 8. printf("This class is %s.n", class_name); // gettext() またはそのエイリアス _() 関数で処理 printf(_("This class is %s.n"), class_name); #: src/l10n.c:123 msgid "This class is %s.n" msgstr "" http://www.gnu.org/software/gettext/
  • 9.
  • 10.
  • 11.
  • 12.
  • 14.
  • 15. sample.dtd <!ENTITY lable.value "(>.&lt;)"> <!ENTITY label.style "font-size: 64px; font-weight: bold"> <!DOCTYPE overlay [ <!ENTITY % sampledtd SYSTEM "sample.dtd" > %sampledtd; ]> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <hbox pack="center" align="center" height="300"> <label value="&label.value;" style="&label.style;"/> </hbox> </window>
  • 16. sample.dtd <!ENTITY lable.value "(>.&lt;)"> <!ENTITY label.style "font-size: 64px; font-weight: bold"> <!DOCTYPE overlay [ <!ENTITY % sampledtd SYSTEM "sample.dtd" > %sampledtd; ]> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <hbox pack="center" align="center" height="300"> <label value="&label.value;" style="&label.style;"/> </hbox> </window>
  • 17. <!ENTITY tabCmd.label "New Tab"> <!ENTITY tabCmd.accesskey "T"> <!ENTITY tabCmd.commandkey "t"> <!ENTITY openLocationCmd.label "Open Location…⋯"> <!ENTITY openLocationCmd.accesskey "L"> <!ENTITY openFileCmd.label "Open File…⋯"> <!ENTITY openFileCmd.accesskey "O"> <!ENTITY openFileCmd.commandkey "o"> <!ENTITY printSetupCmd.label "Page Setup…⋯"> <!ENTITY printSetupCmd.accesskey "u"> <!ENTITY printPreviewCmd.label "Print Preview"> <!ENTITY printPreviewCmd.accesskey "v"> <!ENTITY printCmd.label "Print…⋯">
  • 18. <!ENTITY tabCmd.label "新しいタブ"> <!ENTITY tabCmd.accesskey "T"> <!ENTITY tabCmd.commandkey "t"> <!ENTITY openLocationCmd.label "URL を開く..."> <!ENTITY openLocationCmd.accesskey "L"> <!ENTITY openFileCmd.label "ファイルを開く..."> <!ENTITY openFileCmd.accesskey "O"> <!ENTITY openFileCmd.commandkey "o"> <!ENTITY printSetupCmd.label "ページ設定..."> <!ENTITY printSetupCmd.accesskey "u"> <!ENTITY printPreviewCmd.label "印刷プレビュー"> <!ENTITY printPreviewCmd.accesskey "v"> <!ENTITY printCmd.label "印刷...">
  • 19. <!ENTITY tabCmd.label "新しいタブ"> <!ENTITY tabCmd.accesskey "T"> <!ENTITY tabCmd.commandkey "t"> <!ENTITY openLocationCmd.label "URL を開く..."> <!ENTITY openLocationCmd.accesskey "L"> <!ENTITY openFileCmd.label "ファイルを開く..."> <!ENTITY openFileCmd.accesskey "O"> <!ENTITY openFileCmd.commandkey "o"> <!ENTITY printSetupCmd.label "ページ設定..."> <!ENTITY printSetupCmd.accesskey "u"> <!ENTITY printPreviewCmd.label "印刷プレビュー"> <!ENTITY printPreviewCmd.accesskey "v"> <!ENTITY printCmd.label "印刷...">
  • 20. # RSS Pretty Print feedNoFeeds = Page has no feeds feedShowFeedNew = Subscribe to '%S'…⋯ feedHasFeedsNew = Subscribe to this page…⋯ # History menu menuOpenAllInTabs.label = Open All in Tabs menuOpenAllInTabs.accesskey = o # Unified Back-/Forward Popup tabHistory.current = Stay on this page tabHistory.goBack = Go back to this page tabHistory.goForward = Go forward to this page # Star button starButtonOn.tooltip = Edit this bookmark starButtonOff.tooltip = Bookmark this page
  • 21. # RSS Pretty Print feedNoFeeds = ページにはフィードがありません。 feedShowFeedNew = '%S' を購読... feedHasFeedsNew = このページを購読します # History menu menuOpenAllInTabs.label = タブですべて開く menuOpenAllInTabs.accesskey = o # Unified Back-/Forward Popup tabHistory.current = 現在のページです tabHistory.goBack = このページに戻ります tabHistory.goForward = このページに進みます # Star button starButtonOn.tooltip = このページのブックマークを編集します starButtonOff.tooltip= このページをブックマークに追加します
  • 22. # RSS Pretty Print feedNoFeeds = ページにはフィードがありません。 feedShowFeedNew = '%S' を購読... feedHasFeedsNew = このページを購読します # History menu menuOpenAllInTabs.label = タブですべて開く menuOpenAllInTabs.accesskey = o # Unified Back-/Forward Popup tabHistory.current = 現在のページです tabHistory.goBack = このページに戻ります tabHistory.goForward = このページに進みます # Star button starButtonOn.tooltip = このページのブックマークを編集します starButtonOff.tooltip= このページをブックマークに追加します
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 32.
  • 33.
  • 34.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 47. hg clone https://code.google.com/p/mozja.lot/ lot; cd lot ant setupl10n ant auto onlyfx buildfx ant auto convert insertnew pack
  • 48.
  • 49. firefox.exe -no-remote -P /Applications/Firefox.app/Contents/MacOS/firefox -P
  • 50. firefox.exe -no-remote -P /Applications/Firefox.app/Contents/MacOS/firefox -P
  • 51. firefox.exe -no-remote -P /Applications/Firefox.app/Contents/MacOS/firefox -P
  • 52.
  • 53.
  • 54.