SlideShare a Scribd company logo
Some of my best friends are localisers
A developers guide
Dwayne Bailey, Translate
A little about me
✔ Started Translate.org.za - non-profit focused
on South African languages
✔ Translate - focused on assisting language
communities across the globe
What we do and why
●
We assist localisation teams
●
We assist companies
●
We develop tools
●
Essentially our tooling is community needs
expressed by localisers
Why this talk
●
We’ve bumped out head against developers
●
We’ve often had a different focus to
upstream
●
We’ve hit the same problems access
projects
Some history
●
Why can speak to this?
●
Localising South Africa
●
11 languages - think differently
●
Saw PO as useful
●
Built converters not because PO was great,
but because the tools where better
●
Pain * 11
This talks long term goals
●
Been threatening to do this for 11 years
●
Really to distil some of what we’ve know
●
See this as a workshop and we’ll make this
better over time
The Social
Lower the barrier to
participation
●
Technical skills mismatch
●
Web based localisation tools can help
●
Complex processes might help you but likely
don’t add any benefit to the localisers
●
You need some process, but be careful that
you aren’t designing out contributors
●
Nobody has complained
●
Try not to force localisers to be coders
Own team own goals
●
Yes, they’re part of your team and some only
do your software
●
But many are spread across multiple projects
●
They’re doing their language
●
Bad tooling? - they’ll work around it. We did
with oo2po, moz2po and Pootle
●
Bad process? - they’ll learn it, try fix, give up,
just live with it
Best localisers are your
localisers
●
They use your software
●
They care about what you do
●
Snake oil, or millions of localisers.
The Assumptions
Translators use tools
●
Introducing a new file format which matches
your projects needs won’t necessarily match
localisers needs.
●
Imagine being told that you can’t use vim,
you need to use emacs, or visa versa
●
Its kind of what you’re doing.
●
Yip you can do a quick localisation. But you
do lose things
Assumptions of language
●
The way your language works is not the way all
languages work
●
Marketing - be most careful if you are from
California
●
Idioms - it might be crucial to your software, don’t
assume everyone reads scoff or understand your
references to Faulty Towers
●
Tone/chatty/register - you can’t change it, but be
aware of it
Technical
Use a standard format
●
Either an accepted standard PO, XLIFF or
what is expected in your domain
properties, .ts, etc
●
A new file format means people can’t use
their tools
Variables
●
If only there was one variable style? We live with what upstream
language gives us
●
We’d all want to avoid the situation as in OpenOffice.org with 11 different styles
●
What do variables contain?
●
%d vs %s but then you need to be a programmer
●
Comments can help
●
Only variable info - don’t put your program name in a variable
●
Allow reordering - some languages need to reorder your variables.
●
%s %s doesn’t help here
●
%1 %2 does
●
Careful named variables
●
%(file)s -> %(leer)s
Split sentences
●
I am a good sentence.
●
“I am a “, “bad”, “ sentence”
●
Why? “I am a sentence that is “, “good”.
Punctuation and
capitalisation
●
Don’t assume that how your sentences work
works the same in other languages
●
sentence[sp]? in French
●
Name: [ ]
●
Capital N and colon are a convention that might
not work for some languages
●
Title Case is not common in most languages,
don’t force it to be built in
Terminology
●
Rasterisation and Posterisation - does
anyone know that that means
●
Your tool will have terminology
●
Office suite: format, justify, word processor
●
Audio: levels, balance, volume, track
Comments
●
The best people to add comments are localisers
- see if you can help them be able to do that
●
Too many comments are a pain when they
restate the obvious
●
Good comments enhance or explain what might
be confusing
●
All comments need to be parsed by the localiser
Context is everything
●
Don’t take away context
●
Don’t sort a list of strings
Plurals
●
We have them, let’s use them
●
They don’t work like yours
●
CLDR plurals “zero” and “one” don’t mean 0
and 1
i18n
Localisation from the start
●
Adding it later means you’ve baked in
badness
●
RTL from the start, mostly solved by
frameworks
●
Don’t assume layout goes LTR and you’e
almost there
●
Use UTF8, etc and you are almost there
Number and dates
●
While I’m comfortable with 1,000,000.00 I
actually want 1 000 000,00 and so do many
others.
●
6/10 6 November, 10 June? - it just makes
be feel foreign in your software
Names
●
Names don’t work like yours
●
Alaa and el Fattah - is my friends name, but
how exactly does he squeeze that into your
First name, Surname widgets? He hacks it,
but you made him feel foreign
●
Brand names are translated in some
languages.
Conclusion
●
Hopefully you’re not overwhelmed
●
Help me expand and clarify this list
●
Take away:
●
You have some information to help you be
better when you are localising
●
Not make assumptions about language
●
Listen and ask your localisers
●
We want to localise your software!
Baie dankie
Contact me:
Dwayne Bailey <dwayne@translate.org.za>

More Related Content

What's hot

Xconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceXconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open Source
Paras Narang
 
Writing clean scientific software Murphy cleancoding
Writing clean scientific software Murphy cleancodingWriting clean scientific software Murphy cleancoding
Writing clean scientific software Murphy cleancoding
saber tabatabaee
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
Gh-Mohammed Eldadah
 
why now is deep learning
why now is deep learningwhy now is deep learning
why now is deep learning
limeryuzaki
 
TAUS MT SHOWCASE, Moses in the Mix. A Technology Agnostic Approach to a Winni...
TAUS MT SHOWCASE, Moses in the Mix. A Technology Agnostic Approach to a Winni...TAUS MT SHOWCASE, Moses in the Mix. A Technology Agnostic Approach to a Winni...
TAUS MT SHOWCASE, Moses in the Mix. A Technology Agnostic Approach to a Winni...
TAUS - The Language Data Network
 
Captioning Best Practices for Engagement
Captioning Best Practices for EngagementCaptioning Best Practices for Engagement
Captioning Best Practices for Engagement
3Play Media
 
Living documentation mini-workshop
Living documentation mini-workshopLiving documentation mini-workshop
Living documentation mini-workshop
Matthias Noback
 
Going Beyond the Listener: Accessible Audio for Podcasting
Going Beyond the Listener: Accessible Audio for PodcastingGoing Beyond the Listener: Accessible Audio for Podcasting
Going Beyond the Listener: Accessible Audio for Podcasting
3Play Media
 

What's hot (8)

Xconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceXconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open Source
 
Writing clean scientific software Murphy cleancoding
Writing clean scientific software Murphy cleancodingWriting clean scientific software Murphy cleancoding
Writing clean scientific software Murphy cleancoding
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
 
why now is deep learning
why now is deep learningwhy now is deep learning
why now is deep learning
 
TAUS MT SHOWCASE, Moses in the Mix. A Technology Agnostic Approach to a Winni...
TAUS MT SHOWCASE, Moses in the Mix. A Technology Agnostic Approach to a Winni...TAUS MT SHOWCASE, Moses in the Mix. A Technology Agnostic Approach to a Winni...
TAUS MT SHOWCASE, Moses in the Mix. A Technology Agnostic Approach to a Winni...
 
Captioning Best Practices for Engagement
Captioning Best Practices for EngagementCaptioning Best Practices for Engagement
Captioning Best Practices for Engagement
 
Living documentation mini-workshop
Living documentation mini-workshopLiving documentation mini-workshop
Living documentation mini-workshop
 
Going Beyond the Listener: Accessible Audio for Podcasting
Going Beyond the Listener: Accessible Audio for PodcastingGoing Beyond the Listener: Accessible Audio for Podcasting
Going Beyond the Listener: Accessible Audio for Podcasting
 

Viewers also liked

Tavola Treatment Room
Tavola Treatment Room Tavola Treatment Room
Tavola Treatment Room
Alberto Bella
 
Controlled space closure with a pre adjusted appliance system /certified fixe...
Controlled space closure with a pre adjusted appliance system /certified fixe...Controlled space closure with a pre adjusted appliance system /certified fixe...
Controlled space closure with a pre adjusted appliance system /certified fixe...
Indian dental academy
 
Pythagoras ppt
Pythagoras pptPythagoras ppt
Pythagoras ppt
jeyapriyasuganthi
 
Elodie Barety Co-Fondatrice Bridges Films : "Storytelling" (PARIS 2.0, Sept ...
Elodie Barety  Co-Fondatrice Bridges Films : "Storytelling" (PARIS 2.0, Sept ...Elodie Barety  Co-Fondatrice Bridges Films : "Storytelling" (PARIS 2.0, Sept ...
Elodie Barety Co-Fondatrice Bridges Films : "Storytelling" (PARIS 2.0, Sept ...
PSST (opinions et tendances 2.0) par jeremy dumont
 
Canine retraction /certified fixed orthodontic courses by Indian dental academy
Canine retraction /certified fixed orthodontic courses by Indian dental academy Canine retraction /certified fixed orthodontic courses by Indian dental academy
Canine retraction /certified fixed orthodontic courses by Indian dental academy
Indian dental academy
 
Social service congres 3 december 2015
Social service congres 3 december 2015Social service congres 3 december 2015
Social service congres 3 december 2015
BAM Bouw en Techniek
 
Implants in orthodontics / fixed orthodontic courses
Implants in orthodontics  / fixed orthodontic coursesImplants in orthodontics  / fixed orthodontic courses
Implants in orthodontics / fixed orthodontic courses
Indian dental academy
 
moodboard double page
moodboard double pagemoodboard double page
moodboard double pagemason1
 
Project Report on Cotton Carry Bags_PPT
Project Report on Cotton Carry Bags_PPTProject Report on Cotton Carry Bags_PPT
Project Report on Cotton Carry Bags_PPT
Gurpreet Singh
 
Bio mechanics of canine retraction
Bio mechanics of canine retraction Bio mechanics of canine retraction
Bio mechanics of canine retraction
Indian dental academy
 
The political organisation of the world
The political organisation of the worldThe political organisation of the world
The political organisation of the world
almusociales
 
Rise of narendra modi
Rise of narendra modiRise of narendra modi
Rise of narendra modi
Sarthak Singhi
 

Viewers also liked (12)

Tavola Treatment Room
Tavola Treatment Room Tavola Treatment Room
Tavola Treatment Room
 
Controlled space closure with a pre adjusted appliance system /certified fixe...
Controlled space closure with a pre adjusted appliance system /certified fixe...Controlled space closure with a pre adjusted appliance system /certified fixe...
Controlled space closure with a pre adjusted appliance system /certified fixe...
 
Pythagoras ppt
Pythagoras pptPythagoras ppt
Pythagoras ppt
 
Elodie Barety Co-Fondatrice Bridges Films : "Storytelling" (PARIS 2.0, Sept ...
Elodie Barety  Co-Fondatrice Bridges Films : "Storytelling" (PARIS 2.0, Sept ...Elodie Barety  Co-Fondatrice Bridges Films : "Storytelling" (PARIS 2.0, Sept ...
Elodie Barety Co-Fondatrice Bridges Films : "Storytelling" (PARIS 2.0, Sept ...
 
Canine retraction /certified fixed orthodontic courses by Indian dental academy
Canine retraction /certified fixed orthodontic courses by Indian dental academy Canine retraction /certified fixed orthodontic courses by Indian dental academy
Canine retraction /certified fixed orthodontic courses by Indian dental academy
 
Social service congres 3 december 2015
Social service congres 3 december 2015Social service congres 3 december 2015
Social service congres 3 december 2015
 
Implants in orthodontics / fixed orthodontic courses
Implants in orthodontics  / fixed orthodontic coursesImplants in orthodontics  / fixed orthodontic courses
Implants in orthodontics / fixed orthodontic courses
 
moodboard double page
moodboard double pagemoodboard double page
moodboard double page
 
Project Report on Cotton Carry Bags_PPT
Project Report on Cotton Carry Bags_PPTProject Report on Cotton Carry Bags_PPT
Project Report on Cotton Carry Bags_PPT
 
Bio mechanics of canine retraction
Bio mechanics of canine retraction Bio mechanics of canine retraction
Bio mechanics of canine retraction
 
The political organisation of the world
The political organisation of the worldThe political organisation of the world
The political organisation of the world
 
Rise of narendra modi
Rise of narendra modiRise of narendra modi
Rise of narendra modi
 

Similar to Some of my best friends are localisers

How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)
Asier Barrenetxea
 
Lessons learned with Bdd: a tutorial
Lessons learned with Bdd: a tutorialLessons learned with Bdd: a tutorial
Lessons learned with Bdd: a tutorial
Alan Richardson
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!
helenalozano6
 
Copywriting for UX
Copywriting for UXCopywriting for UX
Copywriting for UX
Talisa Chang
 
Getting into public speaking at conferences
Getting into public speaking at conferencesGetting into public speaking at conferences
Getting into public speaking at conferences
John Stevenson
 
Picking the right architecture and sticking to it
Picking the right architecture and sticking to itPicking the right architecture and sticking to it
Picking the right architecture and sticking to it
Petter Holmström
 
Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018
Adrian Roselli
 
Agile Development: Key to smart software development
Agile Development: Key to smart software developmentAgile Development: Key to smart software development
Agile Development: Key to smart software development
Jerlyn Manohar
 
Behat - Drupal Yorkshire
Behat - Drupal YorkshireBehat - Drupal Yorkshire
Behat - Drupal Yorkshire
Nathan Lisgo
 
Kuet dreamers
Kuet dreamersKuet dreamers
Kuet dreamers
Sanjoy Dutta
 
How to be an effective Tech Lead
How to be an effective Tech LeadHow to be an effective Tech Lead
How to be an effective Tech Lead
Hattery
 
A Text To Speech Detection Methodology for Bangla in Android
A Text To Speech Detection Methodology for Bangla in AndroidA Text To Speech Detection Methodology for Bangla in Android
A Text To Speech Detection Methodology for Bangla in Android
Hozaifa Moaj
 
International Websites and Software
International Websites and SoftwareInternational Websites and Software
International Websites and Software
Melody Eye
 
Kickstarting career as an Android developer.pdf
Kickstarting career as an Android developer.pdfKickstarting career as an Android developer.pdf
Kickstarting career as an Android developer.pdf
ShreyaDhurde
 
Roots and Routes: Crowdsourced Manuscript Transcription Workshop
Roots and Routes: Crowdsourced Manuscript Transcription WorkshopRoots and Routes: Crowdsourced Manuscript Transcription Workshop
Roots and Routes: Crowdsourced Manuscript Transcription Workshop
Ben Brumfield
 
Using WordPress for Personal Development, WordCamp Milano 2017
Using WordPress for Personal Development, WordCamp Milano 2017Using WordPress for Personal Development, WordCamp Milano 2017
Using WordPress for Personal Development, WordCamp Milano 2017
Sergey Biryukov
 
Computer Programming Overview
Computer Programming OverviewComputer Programming Overview
Computer Programming Overview
agorolabs
 
Challenges in Building NLP Applications in Nepali Language
Challenges in Building NLP Applications in Nepali LanguageChallenges in Building NLP Applications in Nepali Language
Challenges in Building NLP Applications in Nepali Language
Chandan Goopta
 
The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...
Equal Experts
 
How to make a better world
How to make a better worldHow to make a better world
How to make a better world
Zoltan Hoppar
 

Similar to Some of my best friends are localisers (20)

How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)
 
Lessons learned with Bdd: a tutorial
Lessons learned with Bdd: a tutorialLessons learned with Bdd: a tutorial
Lessons learned with Bdd: a tutorial
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!
 
Copywriting for UX
Copywriting for UXCopywriting for UX
Copywriting for UX
 
Getting into public speaking at conferences
Getting into public speaking at conferencesGetting into public speaking at conferences
Getting into public speaking at conferences
 
Picking the right architecture and sticking to it
Picking the right architecture and sticking to itPicking the right architecture and sticking to it
Picking the right architecture and sticking to it
 
Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018
 
Agile Development: Key to smart software development
Agile Development: Key to smart software developmentAgile Development: Key to smart software development
Agile Development: Key to smart software development
 
Behat - Drupal Yorkshire
Behat - Drupal YorkshireBehat - Drupal Yorkshire
Behat - Drupal Yorkshire
 
Kuet dreamers
Kuet dreamersKuet dreamers
Kuet dreamers
 
How to be an effective Tech Lead
How to be an effective Tech LeadHow to be an effective Tech Lead
How to be an effective Tech Lead
 
A Text To Speech Detection Methodology for Bangla in Android
A Text To Speech Detection Methodology for Bangla in AndroidA Text To Speech Detection Methodology for Bangla in Android
A Text To Speech Detection Methodology for Bangla in Android
 
International Websites and Software
International Websites and SoftwareInternational Websites and Software
International Websites and Software
 
Kickstarting career as an Android developer.pdf
Kickstarting career as an Android developer.pdfKickstarting career as an Android developer.pdf
Kickstarting career as an Android developer.pdf
 
Roots and Routes: Crowdsourced Manuscript Transcription Workshop
Roots and Routes: Crowdsourced Manuscript Transcription WorkshopRoots and Routes: Crowdsourced Manuscript Transcription Workshop
Roots and Routes: Crowdsourced Manuscript Transcription Workshop
 
Using WordPress for Personal Development, WordCamp Milano 2017
Using WordPress for Personal Development, WordCamp Milano 2017Using WordPress for Personal Development, WordCamp Milano 2017
Using WordPress for Personal Development, WordCamp Milano 2017
 
Computer Programming Overview
Computer Programming OverviewComputer Programming Overview
Computer Programming Overview
 
Challenges in Building NLP Applications in Nepali Language
Challenges in Building NLP Applications in Nepali LanguageChallenges in Building NLP Applications in Nepali Language
Challenges in Building NLP Applications in Nepali Language
 
The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...
 
How to make a better world
How to make a better worldHow to make a better world
How to make a better world
 

Recently uploaded

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 

Recently uploaded (20)

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 

Some of my best friends are localisers

  • 1. Some of my best friends are localisers A developers guide Dwayne Bailey, Translate
  • 2. A little about me ✔ Started Translate.org.za - non-profit focused on South African languages ✔ Translate - focused on assisting language communities across the globe
  • 3. What we do and why ● We assist localisation teams ● We assist companies ● We develop tools ● Essentially our tooling is community needs expressed by localisers
  • 4. Why this talk ● We’ve bumped out head against developers ● We’ve often had a different focus to upstream ● We’ve hit the same problems access projects
  • 5. Some history ● Why can speak to this? ● Localising South Africa ● 11 languages - think differently ● Saw PO as useful ● Built converters not because PO was great, but because the tools where better ● Pain * 11
  • 6. This talks long term goals ● Been threatening to do this for 11 years ● Really to distil some of what we’ve know ● See this as a workshop and we’ll make this better over time
  • 8. Lower the barrier to participation ● Technical skills mismatch ● Web based localisation tools can help ● Complex processes might help you but likely don’t add any benefit to the localisers ● You need some process, but be careful that you aren’t designing out contributors ● Nobody has complained ● Try not to force localisers to be coders
  • 9. Own team own goals ● Yes, they’re part of your team and some only do your software ● But many are spread across multiple projects ● They’re doing their language ● Bad tooling? - they’ll work around it. We did with oo2po, moz2po and Pootle ● Bad process? - they’ll learn it, try fix, give up, just live with it
  • 10. Best localisers are your localisers ● They use your software ● They care about what you do ● Snake oil, or millions of localisers.
  • 12. Translators use tools ● Introducing a new file format which matches your projects needs won’t necessarily match localisers needs. ● Imagine being told that you can’t use vim, you need to use emacs, or visa versa ● Its kind of what you’re doing. ● Yip you can do a quick localisation. But you do lose things
  • 13. Assumptions of language ● The way your language works is not the way all languages work ● Marketing - be most careful if you are from California ● Idioms - it might be crucial to your software, don’t assume everyone reads scoff or understand your references to Faulty Towers ● Tone/chatty/register - you can’t change it, but be aware of it
  • 15. Use a standard format ● Either an accepted standard PO, XLIFF or what is expected in your domain properties, .ts, etc ● A new file format means people can’t use their tools
  • 16. Variables ● If only there was one variable style? We live with what upstream language gives us ● We’d all want to avoid the situation as in OpenOffice.org with 11 different styles ● What do variables contain? ● %d vs %s but then you need to be a programmer ● Comments can help ● Only variable info - don’t put your program name in a variable ● Allow reordering - some languages need to reorder your variables. ● %s %s doesn’t help here ● %1 %2 does ● Careful named variables ● %(file)s -> %(leer)s
  • 17. Split sentences ● I am a good sentence. ● “I am a “, “bad”, “ sentence” ● Why? “I am a sentence that is “, “good”.
  • 18. Punctuation and capitalisation ● Don’t assume that how your sentences work works the same in other languages ● sentence[sp]? in French ● Name: [ ] ● Capital N and colon are a convention that might not work for some languages ● Title Case is not common in most languages, don’t force it to be built in
  • 19. Terminology ● Rasterisation and Posterisation - does anyone know that that means ● Your tool will have terminology ● Office suite: format, justify, word processor ● Audio: levels, balance, volume, track
  • 20. Comments ● The best people to add comments are localisers - see if you can help them be able to do that ● Too many comments are a pain when they restate the obvious ● Good comments enhance or explain what might be confusing ● All comments need to be parsed by the localiser
  • 21. Context is everything ● Don’t take away context ● Don’t sort a list of strings
  • 22. Plurals ● We have them, let’s use them ● They don’t work like yours ● CLDR plurals “zero” and “one” don’t mean 0 and 1
  • 23. i18n
  • 24. Localisation from the start ● Adding it later means you’ve baked in badness ● RTL from the start, mostly solved by frameworks ● Don’t assume layout goes LTR and you’e almost there ● Use UTF8, etc and you are almost there
  • 25. Number and dates ● While I’m comfortable with 1,000,000.00 I actually want 1 000 000,00 and so do many others. ● 6/10 6 November, 10 June? - it just makes be feel foreign in your software
  • 26. Names ● Names don’t work like yours ● Alaa and el Fattah - is my friends name, but how exactly does he squeeze that into your First name, Surname widgets? He hacks it, but you made him feel foreign ● Brand names are translated in some languages.
  • 27. Conclusion ● Hopefully you’re not overwhelmed ● Help me expand and clarify this list ● Take away: ● You have some information to help you be better when you are localising ● Not make assumptions about language ● Listen and ask your localisers ● We want to localise your software!
  • 28. Baie dankie Contact me: Dwayne Bailey <dwayne@translate.org.za>