2. Introduction
Use Sahana worldwide?
↓
Translate the User Interface!
Translations of
Resource Files
2
3. Introduction
Internationalisation: i18n
To design the software in a way that allows adaption
to different languages and regional differences
without having to rework the Code.
Localisation: L10N
To adapt the software to the needs of a particular language or region.
Project Internationalisation:
Interconnection and Integration of a Global Project Community
3
4. Translation of the Sahana User Interface
All text of the user interface is
stored in resource strings.
The resource strings are stored in
a separate resource file.
GNU/gettext() functions load the
string at runtime as needed
The appropriate resource file is
chosen depending on the current
locale settings
The resource files are relatively
easy to translate
4
5. Translation of the Sahana User Interface
Pootle = (PO-based Online Translation and Localisation Engine)
FOSS Server Software for Translation, based on the Translate Toolkit
Collaborative Web-based Translation of the Sahana Language Files
Sahana Pootle-Site: http://translate.sahana.lk
5
7. Sahana Online Translation
Sahana Online Translation, Worldwide Distribution of Contributors
(Source: Google Analytics, translate.sahana.lk)
7
8. Character Encoding
UTF-8 encoding
UTF-8 is natively supported
by the most platforms and
client applications.
Additional software or the
●
installation of specific
fonts can be required in
some cases.
8
9. Writing Direction and other Writing Conventions
Right-To-Left Orientation needed for e.g., Arabic,
Hebrew and Persian
Requires adapted stylesheets and other code
modifications
Should be as pre-packaged and
as easy as possible to apply by the user
Ideally switching all locale settings at once by just
one click
➔ suggested for GsoC 2009
9
10. Data Model
Names, addresses and Government Assigned
Numbers must be consistently readable and
searchable even when switching to another (parallel)
locale
Identification numbers must be unique across all
contexts
Conventions and tradition, structures and
relationships can differ considerably betweens
regions or different ethnical groups in the same
region
Solutions for data model localization – Locale-
independent part vs. Locale-dependent part
10
11. Regulatory Compliance
Management of private information
Data protection and integrity
Freedom of information
…
Flexible AAA
Additional functionality for certain regulations
Mapping of data use and access levels
Implementation of Standards (required for e.g. US,
EU)
11
12. Terminology
Speak a ”common language”
Avoid ambiguous terms and fuzzy phrases
Comprehensibility and Appropriateness of terms
Diverse competences = diverse terminology
Serious risk for translation errors and
misunderstandings
Limited usability, unsafe application
Domain Ontologies and expert level translations of
them
Sahana glossary of terms
Styleguide for interface messages
12
14. Community Integration
Local Language Support
Local Events and Exchange of Ideas
Localisation of the developer documentation
Lower Barriers-Of-Entry for new contributors
Public Relations in local languages
14
15. Current focus - overview
Translations
Sahana Localisation Knowledge Base
Right-To-Left Support
Automatic Translation/Translation pools
Localisation Add-on Packages
Promotion of Local Sahana Teams
15
16. Sahana - Available Translations
Ranking Language Total Speakers (millions) Native Speakers (millions)
#1 Chinese 1150 870
#2 Hindi 650 370
#3 Spanish 417 320
#4 English 1500 310
#5 Arabic 422 206
#6 Portuguese 235 180
#8 Russian 275 145
#10 German 180 100
#19 Tamil 80 68
#37 Burmese 42 22
#50 Indonesian 160 20
#63 Sinhalese 15 13
TOTAL up to 3500 2624
covering ca. 40-50% of the world's popoulation
16
17. Ongoing Translation Projects
Ranking Language Total Speakers (millions) Native Speakers (millions)
#7 Bengali 200 170
#11 Punjabi 105 88
#12 French 360 78
#20 Italian 120 60
TOTAL up to 700 396
Other languages suggested:
Persian, Filipino, Marathi, Assamese, Turkish, Hausa
Goal: 60-70% world's population coverage by end of 2009
17
18. Sahana Localization Knowledge Base
Useful Knowledge regarding Sahana Localisation
General as well as Region-specific Information
Focus on Sahana 1.0 Release
Portions already available:
Sahana Translation Guide
Sahana Glossary of Terms
UI Messages Style Guide for English
18
19. Current focus - overview
Translations
Sahana Localisation Knowledge Base
Right-To-Left Support
Automatic Translation/Translation pools
Localisation Add-on Packages
Promotion of Local Sahana Teams
19