Developer Resources: Difference between revisions

From Localization Lab Wiki
Jump to navigation Jump to search
(→‎Language-Specific Resources: Updating resources and broken link.)
No edit summary
Line 1: Line 1:
__TOC__
__TOC__


=Getting Started in the Localization Lab Hub=
'''Review the [https://www.localizationlab.org/roles-guidelines 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 [https://wiki.localizationlab.org/index.php/Translation_Tools#Transifex 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 [https://wiki.localizationlab.org/index.php/Translation_Tools#Getting_Started_2 Getting Started resources] for Weblate.
=Communications=
==I18n & L10n Mailing Lists==
==I18n & 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>
'''[https://lists.riseup.net/www/info/linguine Linguine Mailing List]:''' Mailing list for developers of open source technologies focused on digital security and circumvention.
[https://lists.riseup.net/www/info/linguine Linguine Mailing List]: Mailing list for developers of open source technologies focused on digital security and circumvention.


==Quick Tips==
==Mattermost==
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=
==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 16: Line 27:
[https://www.w3.org/TR/xml-i18n-bp/#contents Best Practices for XML I18n]
[https://www.w3.org/TR/xml-i18n-bp/#contents Best Practices for XML I18n]


==General Guides==
==Guides==
 
[https://www.transifex.com/blog/2015/software-localization-guide/ Localization 101: A Beginner’s Guide to Software Localization]
[https://www.transifex.com/blog/2015/software-localization-guide/ Localization 101: A Beginner’s Guide to Software Localization]


Line 28: Line 38:
[https://www.w3.org/International/getting-started/ WC3 Internationalization Website]
[https://www.w3.org/International/getting-started/ WC3 Internationalization Website]


==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>
Line 34: Line 44:
[http://cldr.unicode.org/index/language-support-levels Language Support Levels]
[http://cldr.unicode.org/index/language-support-levels Language Support Levels]


==Language Codes and Locales==
=Language Codes and Locales=
[https://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code Language Endonyms - Language names in their own language]
[https://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code Language Endonyms - Language names in their own language]


Line 42: Line 52:
:Ex: hi (Hindi) and hi_IN (Hindi (India) will not share a glossary or translation memory.
:Ex: hi (Hindi) and hi_IN (Hindi (India) will not share a glossary or translation memory.


===[[Language Support by Platform]]===
==[[Language Support by Platform]]==


==Android==
=Android=


===Language / Locale Preferences & Resolution===
==Language / Locale Preferences & 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+]


===Google Play Store===
==Google Play Store==
Character Limitations<br>
Character Limitations<br>
*Title: 50 characters
*Title: 50 characters
Line 55: 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 multi-lingual 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]''


==Language-Specific Resources==
=Language-Specific Resources=


===Bidirectional and RTL Languages===
==Bidirectional and RTL Languages==
[https://material.io/design/usability/bidirectionality.html# Bidirectionality] - Material.io
[https://material.io/design/usability/bidirectionality.html# Bidirectionality] - Material.io
:Tips for mirroring display and icons for RTL languages.<br>
:Tips for mirroring display and icons for RTL languages.<br>
Line 71: Line 81:
[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 09:42, 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 & 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 & 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 & 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 multi-lingual 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.