Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internationalization (i18n) and Localization (l10n) Support #127

Open
3 of 5 tasks
gcotelli opened this issue Jun 20, 2024 · 0 comments
Open
3 of 5 tasks

Internationalization (i18n) and Localization (l10n) Support #127

gcotelli opened this issue Jun 20, 2024 · 0 comments
Assignees
Milestone

Comments

@gcotelli
Copy link
Member

gcotelli commented Jun 20, 2024

Background

Internationalization, often shortened to "i18n", is the practice of designing a system in such a way that it can easily be adapted for different target audiences, that may vary in region, language, or culture.
The complementary process of adapting a system for a specific target audience is called Localization. Localization (l10n) is the process of adapting a software user interface to a specific culture.

The following are common factors to consider:

  • language
  • unit of measure (e.g., kilometers in Europe, miles in U.S.)
  • text direction (e.g., European languages are left-to-right, Arabic right-to-left)
  • capitalization in Latin script (e.g., English uses capitals for weekdays, Spanish uses lowercase)
  • adaptation of idioms (e.g., "raining cats and dogs" makes no sense when translated literally)
  • use of register (e.g., in Japanese respectful speech differs exceptionally from casual speech)
  • number format (e.g., 10 000,00 in Germany vs. 10,000.00 in the U.S.)
  • date format
  • currency
  • cultural references
  • paper size
  • color psychology
  • compliance with local laws
  • local holidays
  • personal names

Scope

This feature intends to provide basic building blocks easing the localization of an application using Buoy as a dependency. The initial scope includes:

Other projects can complement this behavior once the building blocks are in place, like Aconcagua adding localization support for units of measure, Chalten adding localization support for its chronology abstractions, and so on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant