Developer Resources
Getting Started in the Localization Lab Hub
Review the Localization Lab Roles and Guidelines: The Localization Lab Roles and Guidelines will help you understand community expectations for developers, translators, reviewers and language coordinators and how you can most effectively support Localization Lab contributors.
Familiarize yourself with Transifex: On the Translation Tools page of the wiki, you will find resources for how to get started as a developer in Transifex, including how to use the Transifex API and Git integration.
Familiarize yourself with Weblate: If you will be hosting your project on Hosted Weblate or your own Weblate instance, take a look at the Getting Started resources for Weblate.
Communications
I18n and L10n Mailing Lists
Localization Lab Discussion Forum: Discussion Forum for all Localization Lab stakeholders including developers, volunteer contributors & partner organizations.
Linguine Mailing List: Mailing list for developers of open source technologies focused on digital security and circumvention.
Mattermost
The Localization Lab Mattermost channel and Localization Lab language-focused channels are hosted on the International Freedom Festival Mattermost instance and are subject to their Code of Conduct. Be sure to read through the Code of Conduct and then contact us and we will send you a link to sign up for the channel.
General Guides and Tips
Quick Tips and Best Practices
Mozilla Localization Best Practices
12 Commandments Of Software Localization - TLDR: Don't concatenate strings! (and more)
Guides
TranslateHouse Localisation Guide
Localization 101: A Beginner’s Guide to Software Localization
The Simple Guide to Localization and Internationalization Testing
Internationalization Getting Started
Microsoft Globalization Documentation
WC3 Internationalization Website
Documenation
AngularJS Internationalization Guide
CLDR
Unicode Consortium Common Locale Data Repository
Language Matching: “Language Matching data is used to match the user’s desired language/locales against an application’s supported languages/locales.”
Language Plural Rules
Language Support Levels
Language Codes and Locales
Language Endonyms - Language names in their own language
Why does choosing the appropriate language codes and locales matter within the translation tool?
- Glossaries and Translation Memory are only shared across the same language code and locale.
- Ex: hi (Hindi) and hi_IN (Hindi (India) will not share a glossary or translation memory.
Language Support by Platform
Android
Language / Locale Preferences and Resolution
Language & Locale Resolution in Android 7.0+
Google Play Store
Character Limitations
- Title: 50 characters
- Short Description: 80 characters
- Long Description: 4000 characters
Miscellaneous
How to create a multilingual automated email
Building Tech for Diversity and Inclusion - The Bachchao Project
Language-Specific Resources
Bidirectional and RTL Language Support
Bidirectionality - Material.io
- Tips for mirroring display and icons for RTL languages.
Firefox OS in Arabic
Building RTL-Aware Web Apps & Websites: Part 1
Building RTL-Aware Web Apps & Websites: Part 2
Web Design For Right-to-Left Languages: the Basics
RTL CSS: Flipping the Web
RTL Styling 101
- An extensive guide on how to style for RTL in CSS
- Wealth of RTL resources including and intro to the bidirectional algorithm.
Designing for language accessibility: making usable technologies for non-left-to-right languages
- Slides from the 2021 RightsCon "Designing for language accessibility: making usable technologies for non-left-to-right languages" session.
Disoriented Scripts and the Text Direction Problem on the Web
- Overview of RTL design considerations from a Human Rights Centered Design community call in 2020.
Burmese
Zawgyi vs. Unicode - Context and suggestions for making tools available for non-Unicode Burmese fonts.
Zawgyi to Unicode Font Converter