Dominic König, RN
Sweden/Germanywww.nursix.org
Sahana InternationalisationLanguages and beyond
2
Introduction
Use Sahana worldwide?
↓Translate the User Interface!
Translations ofResource Files
3
Introduction
Internationalisation:To design the software in a way that allows adaptionto different languages and regional differenceswithout having to rework the Code.
i18n
Localisation:To adapt the software to the needs of a particular language or region.
L10N
Project Internationalisation:Interconnection and Integration of a Global Project Community
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
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
6
Maintenance of TranslationsOriginal Version Localized Versions
1x4x
→ Risk for Delays on Updates
7
Sahana Online Translation
Sahana Online Translation, Worldwide Distribution of Contributors(Source: Google Analytics, translate.sahana.lk)
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.
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
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
Customizable field options
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)
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
13
Maintenance of TranslationsOriginal Version Localized Versions
1x4x
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
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
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 13TOTAL up to 3500 2624
covering ca. 40-50% of the world's popoulation
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 60TOTAL up to 700 396
Goal: 60-70% world's population coverage by end of 2009
Other languages suggested:Persian, Filipino, Marathi, Assamese, Turkish, Hausa
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
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
20
Resources and Links
Sahana Project:● Project Homepage: http://www.sahana.lk
Sahana Localization:● Pootle Site: http://translate.sahana.lk
● Sahana L10N Discussion Group: http://groups.google.com/group/sahana-localization● Sahana L10N Blogsite: http://backus.nursix.org
● Sahana L10N Wiki: http://wiki.sahana.lk/doku.php?id=translate:home
Sahana Language Packs:● Sahana Language Packs: http://pub.nursix.org/sahana/locale
Technical Resources:● Translate Toolkit and Pootle: http://translate.sourceforge.net
● GNU/gettext: http://www.gnu.org/software/gettext
21
Speaker Contact Information
Dominic König, RN
Sahana Project Management ComitteeOnline Translation Site Admin