Skip to content

Translation/internationalization (i18n) of (certain) string properties #396

@Crissov

Description

@Crissov

Before starting

  • I have searched existing issues and there is not already an open issue on the subject.

Summary

For textual properties like $description or the proposed $name/$label #112, it would be helpful if authors could substitute a string value by an object (or array) of ISO 639 language code keys and the respective localized string values. Note that translations are different from aliases.

{
  "color": {
    "red": {
      "$value": {
        "colorSpace": "srgb",
        "components": [1, 0, 0],
        "hex": "#FF0000"
      },
      "$name": {
        "en": "red",
        "de": "rot",
        "fr": "rouge"
} } } }

Version

2025.10 (current stable version)

Problem & motivation

GUI tools could display the localized name to users instead of the (usually English) dotted code name.

This avoids automatic translations getting it wrong, which happens more often (and sometimes in hilarious ways, more often in disruptive ways) than one would like to know.

Prior art

No response

Pros & cons

This would be an optional feature, but existing implementations may complain if they encounter a standard property like $description that does not use a string value like "a color" but an object like {"en": "a color"}.

Alternatives

No response

Required

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions