66 lines
2.2 KiB
JSON
66 lines
2.2 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "OmniRoute i18n config",
|
|
"description": "Canonical list of locales used by both the UI (next-intl) and the docs translation pipeline.",
|
|
"type": "object",
|
|
"required": ["default", "rtl", "locales"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"$schema": { "type": "string" },
|
|
"default": {
|
|
"type": "string",
|
|
"description": "Default fallback locale code (must exist in `locales`)."
|
|
},
|
|
"rtl": {
|
|
"type": "array",
|
|
"description": "Locale codes that should be rendered right-to-left.",
|
|
"items": { "type": "string" }
|
|
},
|
|
"uiOnly": {
|
|
"type": "array",
|
|
"description": "Locale codes shipped in the UI but not produced as a docs translation target.",
|
|
"items": { "type": "string" }
|
|
},
|
|
"docsExcluded": {
|
|
"type": "array",
|
|
"description": "Locale codes that should NOT receive docs translations (e.g. the source language).",
|
|
"items": { "type": "string" }
|
|
},
|
|
"locales": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["code", "label", "name", "flag"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"code": {
|
|
"type": "string",
|
|
"description": "Locale code (ISO-639-1, optionally with region — e.g. `pt-BR`)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "Short uppercase label for compact UI badges."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Display name in the locale's native script (kept for compatibility with existing LanguageSelector)."
|
|
},
|
|
"native": {
|
|
"type": "string",
|
|
"description": "Same as `name` — present as an alias so new code can rely on a stable field name."
|
|
},
|
|
"english": {
|
|
"type": "string",
|
|
"description": "English name of the language (used by the docs translator system prompt)."
|
|
},
|
|
"flag": {
|
|
"type": "string",
|
|
"description": "Flag emoji shown next to the locale."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|