Developer Resources: Difference between revisions

From Localization Lab Wiki
Jump to navigation Jump to search
(→‎Guides: Added TranslateHouse Localisation Guide)
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 15: Line 15:


==Mattermost==
==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.
The Localization Lab Mattermost channel and Localization Lab language-focused channels are hosted on the [https://internetfreedomfestival.org/ Team CommUNITY] Mattermost instance and are subject to their [https://www.internetfreedomfestival.org/wiki/index.php/Code_of_Conduct Code of Conduct]. To join Mattermost, follow the instructions on the [https://wiki.digitalrights.community/index.php?title=TCU_Mattermost Team CommUNITY wiki] and indicate that you are joining as a member of the Localization Lab community. Once you have created a Mattermost account, you can join the [https://community.internetfreedomfestival.org/community/channels/localization-lab-chat Localization Lab main channel] and any language team channels.


=General Guides and 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://mozilla-l10n.github.io/documentation/localization/dev_best_practices.html Mozilla Localization Best Practices]


[https://www.smashingmagazine.com/2012/07/12-commandments-software-localization/ 12 Commandments Of Software Localization] - TLDR: Don't concatenate strings! (and more)
[https://www.smashingmagazine.com/2012/07/12-commandments-software-localization/ 12 Commandments Of Software Localization] - TLDR: Don’t concatenate strings! (and more)


[https://www.w3.org/International/quicktips/ WC3 I18n Quick Tips]
[https://www.w3.org/International/quicktips/ WC3 I18n Quick Tips]
Line 39: Line 39:


[https://www.w3.org/International/getting-started/ WC3 Internationalization Website]
[https://www.w3.org/International/getting-started/ WC3 Internationalization Website]
=Documentation=
[https://angular.io/guide/i18n AngularJS Internationalization Guide]


=CLDR=
=CLDR=
Line 56: Line 59:
==[[Language Support by Platform]]==
==[[Language Support by Platform]]==


=Android=
==Android==


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


==Google Play Store==
===Google Play Store===
Character Limitations<br>
Character Limitations<br>
*Title: 50 characters
*Title: 50 characters
Line 74: Line 77:
=Language-Specific Resources=
=Language-Specific Resources=


==Bidirectional and RTL Languages==
==Bidirectional and RTL Language Support==
[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 81: Line 84:
[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]<br>
[https://rtlstyling.com/ RTL Styling 101]<br>
:An extensive guide on how to style for RTL in CSS<br>
[https://rtl.wtf/ RTL.WTF]
:Wealth of RTL resources including and [https://rtl.wtf/explained/bidiintro.html intro to the bidirectional algorithm].<br>
[http://bit.ly/rtl-ltr-rc Designing for language accessibility: making usable technologies for non-left-to-right languages]<br>
:Slides from the 2021 RightsCon “Designing for language accessibility: making usable technologies for non-left-to-right languages” session.<br>
[https://hrcd.pubpub.org/pub/rtlusability/release/3 Disoriented Scripts and the Text Direction Problem on the Web]<br>
:Overview of RTL design considerations from a [https://hrcd.pubpub.org/ Human Rights Centered Design] community call in 2020.
 
==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.<br>
[https://github.com/topics/myanmar-zawgyi-to-unicode-converter Zawgyi to Unicode Font Converter]

Latest revision as of 18:30, 4 January 2024

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 Team CommUNITY Mattermost instance and are subject to their Code of Conduct. To join Mattermost, follow the instructions on the Team CommUNITY wiki and indicate that you are joining as a member of the Localization Lab community. Once you have created a Mattermost account, you can join the Localization Lab main channel and any language team channels.

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

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

Documentation

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

RTL.WTF

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