SlideShare a Scribd company logo
1 of 27
Download to read offline
Transla'ng	
  Apache	
  CloudStack	
  
               (ACS)	
  
       Documenta'on	
  
         Sebas'en	
  Goasguen	
  	
  
              @sebgoa	
  
                 	
  
Outline	
  
•      CloudStack	
  documenta'on	
  
•      Transla'on	
  concepts	
  
•      Using	
  Transifex	
  website	
  
•      Using	
  the	
  Transifex	
  client	
  
•      Working	
  with	
  the	
  ACS	
  source	
  code	
  
	
  
                                                  Based	
  on:
                                                             	
  
                 hFp://sebgoa.blogspot.ch/2012/11/transla'ng-­‐apache-­‐cloudstack-­‐docs-­‐with.html    	
  
                    hFp://sebgoa.blogspot.ch/2012/12/using-­‐transifex-­‐client-­‐to-­‐translate.html
                                                                                                    	
  
                                                      	
  
                                                      	
  
                                                      	
  
                                                      	
  
                                                              	
  
  	
   	
   	
  	
   	
  	
   	
  	
   	
  	
  ACS	
  	
  Documenta'on	
  
•  Apache	
  CloudStack	
  documenta'on	
  is	
  wriFen	
  
   in	
  DocBook	
  xml	
  format.	
  
•  The	
  various	
  documenta'on	
  ar'facts	
  are	
  built	
  
   with	
  Publican	
  
•  Documenta'on	
  source	
  files	
  are	
  part	
  of	
  the	
  
   ACS	
  source	
  tree	
  under	
  the	
  docs	
  directory.	
  


                                           hFp://www.docbook.org  	
  
                 hFp://jfearn.fedorapeople.org/en-­‐US/Publican/2.7/html/Users_Guide/      	
  
                     hFps://git-­‐wip-­‐us.apache.org/repos/asf/incubator-­‐cloudstack	
  
                                                       	
  
  	
   	
   	
  	
   	
  	
   	
  	
   	
  	
  ACS	
  Documenta'on	
  
•  To	
  modify/correct	
  the	
  documenta'on:	
  
	
  
   –  Submit	
  a	
  jira	
  'cket	
  to	
  track	
  your	
  modifica'on	
  and	
  
      highlight	
  the	
  issue.	
  
   –  Clone	
  the	
  git	
  repository	
  
   –  Prepare	
  a	
  patch	
  
   –  Submit	
  the	
  patch	
  via	
  Review	
  Board	
  

                        hFps://issues.apache.org/jira/browse/CLOUDSTACK         	
  
                    hFps://git-­‐wip-­‐us.apache.org/repos/asf/incubator-­‐cloudstack	
  
                                 hFps://reviews.apache.org/dashboard/   	
  
                                                     	
  
 	
   	
   	
   	
  	
   	
  	
   	
  	
   	
  	
  Transla'on	
  concepts
                                                                             	
  
•  With	
  Publican	
  we	
  can	
  build	
  the	
  
   documenta'on	
  in	
  different	
  languages.	
  
•  To	
  do	
  this	
  we	
  need	
  every	
  string	
  of	
  the	
  
   documenta'on	
  to	
  be	
  translated	
  in	
  the	
  
   targeted	
  language.	
  
•  Anyone	
  can	
  contribute	
  string	
  transla8on	
  
   without	
  even	
  working	
  with	
  the	
  source	
  code.	
  
•  To	
  do	
  so	
  we	
  use	
  Transifex	
  
       hFp://rlandmann.fedorapeople.org/pug/sect-­‐Users_Guide-­‐Preparing_a_document_for_transla'on.html
                                                                                                        	
  
                                          hFps://www.transifex.com    	
  
                                                        	
  
                                                         	
  
Sign	
  up	
  
  	
   	
   	
  	
   	
  	
  Your	
  dashboard	
  
 	
   	
  	
  	
   	
  	
   	
  	
   	
  	
  Search	
  for	
  ACS	
  projects
                                                                               	
  
 	
   	
  	
   	
  	
  ACS	
  projects
                                                           	
  
•  There	
  are	
  currently	
  three	
  ACS	
  projects	
  that	
  
   need	
  transla'on:	
  
    –  ACS	
  UI	
  (The	
  Web	
  UI)	
  
    –  ACS	
  Runbook	
  (a.k.a	
  Quick	
  Install	
  Guide)	
  
    –  ACS	
  DOCS	
  (The	
  en're	
  documenta'on)	
  
  	
   	
   	
  	
   	
  	
   	
  	
  Pick	
  a	
  project
                                                            	
  
 	
   	
   	
   	
  	
   	
  	
   	
  	
   	
  	
  Check	
  the	
  Resources
                                                                              	
  




        Resources	
  correspond	
  to	
  the	
  DocBook	
  XML	
  files	
  in	
  the	
  source	
  tree	
  
  	
  	
   	
  	
  	
   	
  	
  Pick	
  One	
  and	
  Add	
  
                               	
  transla'on      	
  
 	
   	
  	
   	
  	
   	
   	
   	
   	
  Pick	
  the	
  target	
   	
  	
   	
  	
  	
  
                                          	
  language      	
  
  	
   	
   	
  	
   	
  	
   	
  	
   	
  	
  Translate	
  strings
                                                                     	
  
 	
   	
  	
   	
  	
   	
  	
   	
  	
  Save	
  your	
  transla'ons
             	
                                                       	
  




                NB:	
  Check	
  poten'al	
  sugges'on,	
  enter	
  the	
  transla'on,	
  submit	
  it	
  
                                                                                                     	
  
                                                     	
  
                                                           	
  
  	
  	
   	
  	
   	
  	
   	
  	
   	
  Check	
  Progress	
  
                                                                      	
  
	
  	
   	
  	
   	
  	
   	
  	
   	
  	
   	
  for	
  your	
  language
               	
                                                          	
  
 	
   	
  	
   	
  	
   	
  	
   	
  	
   	
  	
   	
  	
  Transifex	
  Client
                   	
                                                                 	
  
•  The	
  website	
  is	
  really	
  easy	
  to	
  use,	
  but	
  you	
  can	
  
     also	
  use	
  the	
  transifex	
  client	
  (tx)	
  if	
  you	
  want	
  to	
  
     work	
  from	
  the	
  command	
  line.	
  
•  You	
  s'll	
  need	
  to	
  signup	
  on	
  the	
  website	
  
	
  
                                                               	
  
       pip install transifex-client                            	
  
                                                               	
  
                                                                         !
	
  
                               hFp://help.transifex.com/features/client/   	
  
                              hFps://pypi.python.org/pypi/transifex-­‐client/   	
  
                                                   	
  
                                                        	
  
  	
  	
   	
  	
   	
  	
   	
  	
  Setup	
  the	
  Project
                  	
                                                   	
  
•  This	
  part	
  is	
  not	
  linked	
  to	
  the	
  ACS	
  source,	
  it	
  can	
  
   be	
  done	
  without	
  checking	
  the	
  ACS	
  code.	
  
•  Ini'alize	
  a	
  transifex	
  project	
  on	
  your	
  computer	
  

   	
   	
  $ mkdir txproject!
                                           	
  
  ! !$ cd txproject!                       	
  
                                           	
  



  ! !$ tx init!
  	
  	
  	
   	
  	
  Point	
  to	
  ACS	
  
                                                                        	
  
                	
  	
   	
  	
  	
   	
  	
   	
  	
  Transifex	
  project  	
  

•  For	
  the	
  main	
  documenta'on:	
  
  !    !$ tx set --auto-remote https://www.transifex.com/
                                 	
  
                                 	
  
  !    ! !projects/p/ACS_DOCS/!   	
  



•  Pull	
  all	
  resources	
  for	
  the	
  project	
  
   	
   	
  $ tx pull –s!                     	
  
                                              	
  
                                              	
  


•  Pull	
  exis'ng	
  transla'ons	
  
   	
   	
  $ tx pull –a !                    	
  
                                              	
  
                                              	
  
Translate	
  
•  Pick	
  a	
  resource	
  and	
  make	
  a	
  copy	
  with	
  the	
  
   language	
  code	
  of	
  your	
  target	
  language,	
  for	
  
   example:	
  
   $ cp translations/ACS_DOCS.pod-add/en.po
                             	
  
                             	
  
   translations/ACS_DOCS.pod-add/fr.po!
                              	
  



•  Enter	
  your	
  transla'on	
  in	
  the	
  msgstr	
  lines:	
  
                             	
  
   $ vi translations/ACS_DOCS.pod-add/fr.po!
                             	
  
                                        	
  

•  Push	
  your	
  transla'on	
  (replace	
  the	
  language	
  
   code	
  and	
  the	
  resource	
  name	
  with	
  yours):	
  
                             	
  
   $ tx push -l fr -r ACS_DOCS.pod-add -t!
                             	
  
                                         	
  
 	
   	
  	
   	
  	
   	
  	
   	
  Build	
  final	
  	
   	
  	
   	
  	
   	
  	
  	
  	
  	
  
           	
  
                            	
  	
   	
  	
  documenta'on                    	
  
•  Once	
  transla'on	
  strings	
  appear	
  on	
  Transifex	
  
•  An	
  ACS	
  commiFer	
  will	
  pull	
  them	
  directly	
  into	
  
   the	
  source	
  code	
  
•  Build	
  the	
  guides	
  with	
  publican	
  	
  
•  And	
  Voila…	
  
 	
   	
  	
   	
  	
   	
  	
   	
   	
   Working	
  with	
  the	
  
                                                     	
  source	
  
•  You	
  can	
  translate	
  directly	
  in	
  the	
  ACS	
  source	
  
   and	
  submit	
  patches	
  or	
  commit	
  directly	
  (if	
  you	
  
   are	
  a	
  commiFer)	
  
•  Go	
  to	
  the	
  docs	
  directory,	
  note	
  the	
  pot	
  
   directory.	
  
•  Create	
  a	
  directory	
  corresponding	
  to	
  your	
  
   target	
  language	
  if	
  it	
  does	
  not	
  exist	
  yet	
  (use	
  
   publican	
  commands)	
  
•  Use	
  the	
  publican	
  language	
  codes	
  
       hFp://rlandmann.fedorapeople.org/pug/sect-­‐Users_Guide-­‐Preparing_a_document_for_transla'on.html
                                                                                                        	
  
                                                        	
  
Example	
  
•  The	
  docs/runbook	
  directory	
  contains:	
  
  !en-US!
  !fr-FR!
  !it_IT!
  !ja-JP!
                               	
  
  !pot!                        	
  
                               	
  
  !publican.cfg!
  !tmp!
  !zh-CN!
  !zh-TW!
Example	
  
•  In	
  docs/runbook/it_IT	
  you	
  see	
  the	
  PO	
  files	
  
   which	
  contain	
  the	
  strings	
  that	
  need	
  to	
  be	
  
   translated	
  
  !    !Book_Info.po!
  !    !Environment.po!
  !    !Management.po!
  !    !Overview.po!         	
  
                             	
  
  !    !Preface.po!           	
  

  !    !Revision_History.po!
  !    !config.po!
  !    !kvm.po!
Example	
  
•  Pick	
  a	
  resource,	
  use	
  your	
  text	
  editor	
  to	
  view	
  it,	
  
     edit	
  the	
  missing	
  strings	
  
•  Commit	
  the	
  changed	
  files	
  via	
  review	
  board	
  or	
  
     git	
  
	
  
#. Tag: title!
#, no-c-format!           	
  
                          	
  
msgid "Database Installation and Configuration"!
                           	
  

msgstr "Installazione e Configurazione del Database"!
 	
   	
  	
  Conclusions	
  
•  We	
  are	
  aiming	
  to	
  release	
  ACS	
  4.1	
  on	
  March	
  22nd	
  
   2013.	
  
•  We	
  need	
  as	
  much	
  transla'on	
  as	
  possible.	
  
•  We	
  need	
  your	
  help	
  
•  Even	
  if	
  you	
  can	
  do	
  one	
  string	
  it’s	
  great.	
  
•  If	
  you	
  cannot	
  complete	
  the	
  en're	
  transla'on	
  for	
  
   the	
  4.1	
  release,	
  keep	
  at	
  it,	
  it	
  will	
  make	
  it	
  for	
  4.2.	
  	
  

More Related Content

Viewers also liked

BtrCloud CloudStack Plugin
BtrCloud CloudStack PluginBtrCloud CloudStack Plugin
BtrCloud CloudStack Pluginbuildacloud
 
Apalia/Amysta Cloud Usage Metering and Billing
Apalia/Amysta Cloud Usage Metering and BillingApalia/Amysta Cloud Usage Metering and Billing
Apalia/Amysta Cloud Usage Metering and Billingbuildacloud
 
Network Automation with Salt and NAPALM: a self-resilient network
Network Automation with Salt and NAPALM: a self-resilient networkNetwork Automation with Salt and NAPALM: a self-resilient network
Network Automation with Salt and NAPALM: a self-resilient networkCloudflare
 
Vivienda romana
Vivienda romana Vivienda romana
Vivienda romana mfierro1
 
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesCloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesRicardo Martins ☁
 
INRIA continuous integration plaftorm
INRIA continuous integration plaftormINRIA continuous integration plaftorm
INRIA continuous integration plaftormbuildacloud
 

Viewers also liked (8)

BtrCloud CloudStack Plugin
BtrCloud CloudStack PluginBtrCloud CloudStack Plugin
BtrCloud CloudStack Plugin
 
Build a Cloud Day Paris
Build a Cloud Day ParisBuild a Cloud Day Paris
Build a Cloud Day Paris
 
Apalia/Amysta Cloud Usage Metering and Billing
Apalia/Amysta Cloud Usage Metering and BillingApalia/Amysta Cloud Usage Metering and Billing
Apalia/Amysta Cloud Usage Metering and Billing
 
Network Automation with Salt and NAPALM: a self-resilient network
Network Automation with Salt and NAPALM: a self-resilient networkNetwork Automation with Salt and NAPALM: a self-resilient network
Network Automation with Salt and NAPALM: a self-resilient network
 
Vivienda romana
Vivienda romana Vivienda romana
Vivienda romana
 
Docker and CloudStack
Docker and CloudStackDocker and CloudStack
Docker and CloudStack
 
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesCloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
 
INRIA continuous integration plaftorm
INRIA continuous integration plaftormINRIA continuous integration plaftorm
INRIA continuous integration plaftorm
 

More from Sebastien Goasguen

Kubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessKubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessSebastien Goasguen
 
On Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNOn Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNSebastien Goasguen
 
CloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use CasesCloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use CasesSebastien Goasguen
 
Kubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSSebastien Goasguen
 
Moving from Publican to Read The Docs
Moving from Publican to Read The DocsMoving from Publican to Read The Docs
Moving from Publican to Read The DocsSebastien Goasguen
 
SDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSebastien Goasguen
 
CloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps AmsterdamCloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps AmsterdamSebastien Goasguen
 
Intro to CloudStack Build a Cloud Day
Intro to CloudStack Build a Cloud DayIntro to CloudStack Build a Cloud Day
Intro to CloudStack Build a Cloud DaySebastien Goasguen
 
CloudStack for Java User Group
CloudStack for Java User GroupCloudStack for Java User Group
CloudStack for Java User GroupSebastien Goasguen
 
Cloud Standards and CloudStack
Cloud Standards and CloudStackCloud Standards and CloudStack
Cloud Standards and CloudStackSebastien Goasguen
 

More from Sebastien Goasguen (20)

Kubernetes Sealed secrets
Kubernetes Sealed secretsKubernetes Sealed secrets
Kubernetes Sealed secrets
 
Kubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessKubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: Kubeless
 
Serverless on Kubernetes
Serverless on KubernetesServerless on Kubernetes
Serverless on Kubernetes
 
Kubernetes kubecon-roundup
Kubernetes kubecon-roundupKubernetes kubecon-roundup
Kubernetes kubecon-roundup
 
On Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNOn Docker and its use for LHC at CERN
On Docker and its use for LHC at CERN
 
CloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use CasesCloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use Cases
 
Kubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOS
 
Apache Libcloud
Apache LibcloudApache Libcloud
Apache Libcloud
 
Moving from Publican to Read The Docs
Moving from Publican to Read The DocsMoving from Publican to Read The Docs
Moving from Publican to Read The Docs
 
Cloud and Big Data trends
Cloud and Big Data trendsCloud and Big Data trends
Cloud and Big Data trends
 
SDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSDN: Network Agility in the Cloud
SDN: Network Agility in the Cloud
 
CloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps AmsterdamCloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps Amsterdam
 
CloudStack Clients and Tools
CloudStack Clients and ToolsCloudStack Clients and Tools
CloudStack Clients and Tools
 
Intro to CloudStack Build a Cloud Day
Intro to CloudStack Build a Cloud DayIntro to CloudStack Build a Cloud Day
Intro to CloudStack Build a Cloud Day
 
Apache CloudStack AlpesJUG
Apache CloudStack AlpesJUGApache CloudStack AlpesJUG
Apache CloudStack AlpesJUG
 
Building FOSS clouds
Building FOSS cloudsBuilding FOSS clouds
Building FOSS clouds
 
CloudStack for Java User Group
CloudStack for Java User GroupCloudStack for Java User Group
CloudStack for Java User Group
 
Avoiding cloud lock-in
Avoiding cloud lock-inAvoiding cloud lock-in
Avoiding cloud lock-in
 
Cloud Standards and CloudStack
Cloud Standards and CloudStackCloud Standards and CloudStack
Cloud Standards and CloudStack
 
MyCloud for $100k
MyCloud for $100kMyCloud for $100k
MyCloud for $100k
 

Recently uploaded

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

How to Translate Apache CloudStack Docs

  • 1. Transla'ng  Apache  CloudStack   (ACS)   Documenta'on   Sebas'en  Goasguen     @sebgoa    
  • 2. Outline   •  CloudStack  documenta'on   •  Transla'on  concepts   •  Using  Transifex  website   •  Using  the  Transifex  client   •  Working  with  the  ACS  source  code     Based  on:   hFp://sebgoa.blogspot.ch/2012/11/transla'ng-­‐apache-­‐cloudstack-­‐docs-­‐with.html   hFp://sebgoa.blogspot.ch/2012/12/using-­‐transifex-­‐client-­‐to-­‐translate.html            
  • 3.                      ACS    Documenta'on   •  Apache  CloudStack  documenta'on  is  wriFen   in  DocBook  xml  format.   •  The  various  documenta'on  ar'facts  are  built   with  Publican   •  Documenta'on  source  files  are  part  of  the   ACS  source  tree  under  the  docs  directory.   hFp://www.docbook.org   hFp://jfearn.fedorapeople.org/en-­‐US/Publican/2.7/html/Users_Guide/   hFps://git-­‐wip-­‐us.apache.org/repos/asf/incubator-­‐cloudstack    
  • 4.                      ACS  Documenta'on   •  To  modify/correct  the  documenta'on:     –  Submit  a  jira  'cket  to  track  your  modifica'on  and   highlight  the  issue.   –  Clone  the  git  repository   –  Prepare  a  patch   –  Submit  the  patch  via  Review  Board   hFps://issues.apache.org/jira/browse/CLOUDSTACK   hFps://git-­‐wip-­‐us.apache.org/repos/asf/incubator-­‐cloudstack   hFps://reviews.apache.org/dashboard/    
  • 5.                        Transla'on  concepts   •  With  Publican  we  can  build  the   documenta'on  in  different  languages.   •  To  do  this  we  need  every  string  of  the   documenta'on  to  be  translated  in  the   targeted  language.   •  Anyone  can  contribute  string  transla8on   without  even  working  with  the  source  code.   •  To  do  so  we  use  Transifex   hFp://rlandmann.fedorapeople.org/pug/sect-­‐Users_Guide-­‐Preparing_a_document_for_transla'on.html   hFps://www.transifex.com      
  • 7.              Your  dashboard  
  • 8.                      Search  for  ACS  projects  
  • 9.            ACS  projects   •  There  are  currently  three  ACS  projects  that   need  transla'on:   –  ACS  UI  (The  Web  UI)   –  ACS  Runbook  (a.k.a  Quick  Install  Guide)   –  ACS  DOCS  (The  en're  documenta'on)  
  • 10.                  Pick  a  project  
  • 11.                        Check  the  Resources   Resources  correspond  to  the  DocBook  XML  files  in  the  source  tree  
  • 12.                Pick  One  and  Add    transla'on  
  • 13.                    Pick  the  target              language  
  • 14.                      Translate  strings  
  • 15.                    Save  your  transla'ons     NB:  Check  poten'al  sugges'on,  enter  the  transla'on,  submit  it        
  • 16.                    Check  Progress                          for  your  language    
  • 17.                            Transifex  Client     •  The  website  is  really  easy  to  use,  but  you  can   also  use  the  transifex  client  (tx)  if  you  want  to   work  from  the  command  line.   •  You  s'll  need  to  signup  on  the  website       pip install transifex-client     !   hFp://help.transifex.com/features/client/   hFps://pypi.python.org/pypi/transifex-­‐client/      
  • 18.                  Setup  the  Project     •  This  part  is  not  linked  to  the  ACS  source,  it  can   be  done  without  checking  the  ACS  code.   •  Ini'alize  a  transifex  project  on  your  computer      $ mkdir txproject!   ! !$ cd txproject!     ! !$ tx init!
  • 19.            Point  to  ACS                      Transifex  project   •  For  the  main  documenta'on:   ! !$ tx set --auto-remote https://www.transifex.com/     ! ! !projects/p/ACS_DOCS/!   •  Pull  all  resources  for  the  project      $ tx pull –s!       •  Pull  exis'ng  transla'ons      $ tx pull –a !      
  • 20. Translate   •  Pick  a  resource  and  make  a  copy  with  the   language  code  of  your  target  language,  for   example:   $ cp translations/ACS_DOCS.pod-add/en.po     translations/ACS_DOCS.pod-add/fr.po!   •  Enter  your  transla'on  in  the  msgstr  lines:     $ vi translations/ACS_DOCS.pod-add/fr.po!     •  Push  your  transla'on  (replace  the  language   code  and  the  resource  name  with  yours):     $ tx push -l fr -r ACS_DOCS.pod-add -t!    
  • 21.                  Build  final                                documenta'on   •  Once  transla'on  strings  appear  on  Transifex   •  An  ACS  commiFer  will  pull  them  directly  into   the  source  code   •  Build  the  guides  with  publican     •  And  Voila…  
  • 22.
  • 23.                     Working  with  the    source   •  You  can  translate  directly  in  the  ACS  source   and  submit  patches  or  commit  directly  (if  you   are  a  commiFer)   •  Go  to  the  docs  directory,  note  the  pot   directory.   •  Create  a  directory  corresponding  to  your   target  language  if  it  does  not  exist  yet  (use   publican  commands)   •  Use  the  publican  language  codes   hFp://rlandmann.fedorapeople.org/pug/sect-­‐Users_Guide-­‐Preparing_a_document_for_transla'on.html    
  • 24. Example   •  The  docs/runbook  directory  contains:   !en-US! !fr-FR! !it_IT! !ja-JP!   !pot!     !publican.cfg! !tmp! !zh-CN! !zh-TW!
  • 25. Example   •  In  docs/runbook/it_IT  you  see  the  PO  files   which  contain  the  strings  that  need  to  be   translated   ! !Book_Info.po! ! !Environment.po! ! !Management.po! ! !Overview.po!     ! !Preface.po!   ! !Revision_History.po! ! !config.po! ! !kvm.po!
  • 26. Example   •  Pick  a  resource,  use  your  text  editor  to  view  it,   edit  the  missing  strings   •  Commit  the  changed  files  via  review  board  or   git     #. Tag: title! #, no-c-format!     msgid "Database Installation and Configuration"!   msgstr "Installazione e Configurazione del Database"!
  • 27.        Conclusions   •  We  are  aiming  to  release  ACS  4.1  on  March  22nd   2013.   •  We  need  as  much  transla'on  as  possible.   •  We  need  your  help   •  Even  if  you  can  do  one  string  it’s  great.   •  If  you  cannot  complete  the  en're  transla'on  for   the  4.1  release,  keep  at  it,  it  will  make  it  for  4.2.