Difference between revisions of "Developer Resources"

From Localization Lab Wiki
Jump to navigation Jump to search
Line 9: Line 9:
  
 
=Communications=
 
=Communications=
==I18n & L10n Mailing Lists==
+
==I18n and L10n Mailing Lists==
 
'''[https://groups.google.com/d/forum/otfl10n Localization Lab Discussion Forum]:''' Discussion Forum for all Localization Lab stakeholders including developers, volunteer contributors & partner organizations.<br>
 
'''[https://groups.google.com/d/forum/otfl10n Localization Lab Discussion Forum]:''' Discussion Forum for all Localization Lab stakeholders including developers, volunteer contributors & partner organizations.<br>
  
Line 17: Line 17:
 
The Localization Lab Mattermost channel and Localization Lab language-focused channels are hosted on the [https://internetfreedomfestival.org/ International Freedom Festival] Mattermost instance and are subject to their [https://www.internetfreedomfestival.org/wiki/index.php/Code_of_Conduct Code of Conduct]. Be sure to read through the [https://www.internetfreedomfestival.org/wiki/index.php/Code_of_Conduct Code of Conduct] and then [mailto:info@localizationlab.org?subject=Mattermost%20Sign-up&body=Please%20send%20me%20a%20link%20to%20sign%20up%20for%20Mattermost. contact us] and we will send you a link to sign up for the channel.
 
The Localization Lab Mattermost channel and Localization Lab language-focused channels are hosted on the [https://internetfreedomfestival.org/ International Freedom Festival] Mattermost instance and are subject to their [https://www.internetfreedomfestival.org/wiki/index.php/Code_of_Conduct Code of Conduct]. Be sure to read through the [https://www.internetfreedomfestival.org/wiki/index.php/Code_of_Conduct Code of Conduct] and then [mailto:info@localizationlab.org?subject=Mattermost%20Sign-up&body=Please%20send%20me%20a%20link%20to%20sign%20up%20for%20Mattermost. contact us] and we will send you a link to sign up for the channel.
  
=General Guides & Tips=
+
=General Guides and Tips=
 
==Quick Tips and Best Practices==
 
==Quick Tips and Best Practices==
 
[https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_content_best_practices Mozilla Localization Best Practices]
 
[https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_content_best_practices Mozilla Localization Best Practices]
Line 40: Line 40:
 
=CLDR=
 
=CLDR=
 
Unicode Consortium [http://cldr.unicode.org/ Common Locale Data Repository]<br>
 
Unicode Consortium [http://cldr.unicode.org/ Common Locale Data Repository]<br>
[https://www.unicode.org/cldr/charts/latest/supplemental/language_matching.html Language Matching]: "Language Matching data is used to match the user’s desired language/locales against an application’s supported languages/locales."<br>
+
[https://www.unicode.org/cldr/charts/latest/supplemental/language_matching.html Language Matching]: “Language Matching data is used to match the user’s desired language/locales against an application’s supported languages/locales.<br>
 
[https://unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html Language Plural Rules]<br>
 
[https://unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html Language Plural Rules]<br>
 
[http://cldr.unicode.org/index/language-support-levels Language Support Levels]
 
[http://cldr.unicode.org/index/language-support-levels Language Support Levels]
Line 56: Line 56:
 
=Android=
 
=Android=
  
==Language / Locale Preferences & Resolution==
+
==Language / Locale Preferences and Resolution==
 
[https://developer.android.com/guide/topics/resources/multilingual-support Language & Locale Resolution in Android 7.0+]
 
[https://developer.android.com/guide/topics/resources/multilingual-support Language & Locale Resolution in Android 7.0+]
  
Line 65: Line 65:
 
*Long Description: 4000 characters
 
*Long Description: 4000 characters
  
=Miscellaneous=  
+
=Miscellaneous=
[https://softwareengineering.stackexchange.com/questions/190513/how-to-create-an-automated-email-in-several-languages-multipart-alternative How to create a multi-lingual automated email]
+
[https://softwareengineering.stackexchange.com/questions/190513/how-to-create-an-automated-email-in-several-languages-multipart-alternative How to create a multilingual automated email]
  
 
[https://github.com/thebachchaoproject/Manual-to-build-tech-for-diversity-and-Inclusion/blob/master/Building%20Tech%20for%20Diversity%20and%20Inclusion%20101%20ver%201.3.pdf Building Tech for Diversity and Inclusion] - ''[http://thebachchaoproject.org/ The Bachchao Project]''
 
[https://github.com/thebachchaoproject/Manual-to-build-tech-for-diversity-and-Inclusion/blob/master/Building%20Tech%20for%20Diversity%20and%20Inclusion%20101%20ver%201.3.pdf Building Tech for Diversity and Inclusion] - ''[http://thebachchaoproject.org/ The Bachchao Project]''
Line 79: Line 79:
 
[https://hacks.mozilla.org/2015/10/building-rtl-aware-web-apps-websites-part-2/ Building RTL-Aware Web Apps & Websites: Part 2]<br>
 
[https://hacks.mozilla.org/2015/10/building-rtl-aware-web-apps-websites-part-2/ Building RTL-Aware Web Apps & Websites: Part 2]<br>
 
[https://medium.muz.li/web-design-for-right-to-left-languages-the-basics-287329d508cf Web Design For Right-to-Left Languages: the Basics]<br>
 
[https://medium.muz.li/web-design-for-right-to-left-languages-the-basics-287329d508cf Web Design For Right-to-Left Languages: the Basics]<br>
[https://rtl-css.net/ RTL CSS: Flipping the Web]
+
[https://rtl-css.net/ RTL CSS: Flipping the Web]
 
 
 
==Burmese==
 
==Burmese==
 
[https://www.globalapptesting.com/blog/zawgyi-vs-unicode Zawgyi vs. Unicode] - Context and suggestions for making tools available for non-Unicode Burmese fonts.
 
[https://www.globalapptesting.com/blog/zawgyi-vs-unicode Zawgyi vs. Unicode] - Context and suggestions for making tools available for non-Unicode Burmese fonts.

Revision as of 14:25, 15 October 2020

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)

WC3 I18n Quick Tips

Best Practices for XML I18n

Guides

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

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 Languages

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

Burmese

Zawgyi vs. Unicode - Context and suggestions for making tools available for non-Unicode Burmese fonts.