21
Dominic König, RN Sweden/Germany www.nursix.org Sahana Internationalisation Languages and beyond

Sahana Internationalisation Languages and beyond

Embed Size (px)

DESCRIPTION

Talk by Dominic König at the Sahana Conference 2009, Colombo. Sri Lanka. March 24-25 2009.

Citation preview

Page 1: Sahana Internationalisation Languages and beyond

Dominic König, RN

Sweden/Germanywww.nursix.org

Sahana InternationalisationLanguages and beyond

Page 2: Sahana Internationalisation Languages and beyond

2

Introduction

Use Sahana worldwide?

↓Translate the User Interface!

Translations ofResource Files

Page 3: Sahana Internationalisation Languages and beyond

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

Page 4: Sahana Internationalisation Languages and beyond

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

Page 5: Sahana Internationalisation Languages and beyond

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

Page 6: Sahana Internationalisation Languages and beyond

6

Maintenance of TranslationsOriginal Version Localized Versions

1x4x

→ Risk for Delays on Updates

Page 7: Sahana Internationalisation Languages and beyond

7

Sahana Online Translation

Sahana Online Translation, Worldwide Distribution of Contributors(Source: Google Analytics, translate.sahana.lk)

Page 8: Sahana Internationalisation Languages and beyond

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.

Page 9: Sahana Internationalisation Languages and beyond

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

Page 10: Sahana Internationalisation Languages and beyond

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

Page 11: Sahana Internationalisation Languages and beyond

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)

Page 12: Sahana Internationalisation Languages and beyond

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

Page 13: Sahana Internationalisation Languages and beyond

13

Maintenance of TranslationsOriginal Version Localized Versions

1x4x

Page 14: Sahana Internationalisation Languages and beyond

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

Page 15: Sahana Internationalisation Languages and beyond

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

Page 16: Sahana Internationalisation Languages and beyond

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

Page 17: Sahana Internationalisation Languages and beyond

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

Page 18: Sahana Internationalisation Languages and beyond

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

Page 19: Sahana Internationalisation Languages and beyond

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

Page 20: Sahana Internationalisation Languages and beyond

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

Page 21: Sahana Internationalisation Languages and beyond

21

Speaker Contact Information

Dominic König, RN

Sahana Project Management ComitteeOnline Translation Site Admin

[email protected]