1 of 13

Internationalization and Localization

VC-EDU Task Force Discussion

2 of 13

Definitions

"In computing, internationalization and localization, often abbreviated i18n and L10n, are means of adapting computer software to different languages, regional peculiarities and technical requirements of a target locale."

  • Wikipedia

Internationalization: Laying the groundwork, setting standards.

Localization: Actually translating and customizing, in software.

3 of 13

in VC-EDU: Data Model, API, Guidance

What should we (as VC-EDU Task Force) do?

Some suggestions:

  1. Highlight the importance of i18n and L10n
  2. Make sure our data models (contexts, schemas, vocabularies) enable it
  3. Provide plenty of examples
  4. Provide guidance/advice for implementers

4 of 13

Data Model: Specifying VC Language

See: https://www.w3.org/TR/json-ld/#string-internationalization

We can:

  1. specify a default language for the whole VC.
  2. override the language for each property.
  3. specify language direction (left-to-right vs right-to-left)

5 of 13

Example: Setting default language (for whole VC)

{

"@context": {

"name": "http://example.org/name",

"occupation": "http://example.org/occupation",

...

"@language": "ja"

},

"name": "花澄",

"occupation": "科学者"

}

6 of 13

Example: Overriding default language per field

{

"@context": "https://schema.org/",

"@type": "Person",

"name": [{"@language": "ar", "@value": "أياس"},

{"@language": "en", "@value": "Eyas"}]

}

7 of 13

Language Direction

{

"@context": {

"@language": "ar",

"@dir": "rtl"

},

"id": {"978-111887164-5"},

"title": "HTML و CSS: تصميم و إنشاء مواقع الويب",

"authors": [ {"value": "Jon Duckett", "lang": "en", "dir": "ltr"} ],

"pubDate": "2008-01-01",

"publisher": "مكتبة",

"coverImage": "https://example.com/images/html_and_css_cover.jpg",

// etc.

}

8 of 13

API: When to localize/translate?

  1. Pre-translate in the template? (all required/target languages)�
  2. Or: Let the user ask which language to issue in?

9 of 13

UI: Labels and VC rendering/display

App specific, but we'll need to deal with it if we get to templates

10 of 13

UI: Dates

Data Model: One way to store dates, only.

UI: Lots of ways to display dates, depends on locale.

11 of 13

UI: Plurals and Formatting

Basic: Numbers (decimals, etc), Currency

Advanced: Names, Addresses

12 of 13

Links

13 of 13

Internationalization and Localization

Basics:

  • Translating values (@language). default, specific.
  • Language direction (@direction)
  • Translate at issue time?

Advanced topics:

  • dates - dictated by the VC Data Model. But, displaying them…
  • labels - app specific, but we'll need to deal with it if we get to templates
  • plurals
  • formatting (numbers, currency, units, etc).
  • names, addresses, etc etc .