SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
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

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

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.