Skip to content

About

Localizations for Shell:B

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Shell:B Translations

Validate MIT

Interface languages for Shell:B, the local-first AI workspace. Part of the family with Shell-B-Themes, Shell-B-Screensavers and Shell-B-Skills.

Shell:B's interface is written in English, and every string it shows goes through t(). A catalogue is one JSON file mapping those English strings to a language; a string with no entry stays in English, so a half-finished language is still usable. keys.json lists every string the current Shell:B uses (exported from its UI source), so a catalogue can be checked for coverage and for entries that went stale after an update.

Languages

The table below and index.json are generated by scripts/validate.py.

LanguageCoverageCredit
📜 Ænglisc ang1.9 % (83 of the strings) · draftEvie & Shell:B · MIT
🏴 Brezhoneg br3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🏴󠁧󠁢󠁷󠁬󠁳󠁿 Cymraeg cy3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🏴‍☠️ Pirate Speak en-pirate1.9 % (83 of the strings) · draftEvie & Shell:B · MIT
🟢 Esperanto eo1.9 % (83 of the strings) · draftEvie & Shell:B · MIT
🇪🇸 Español es3.5 % (149 of the strings) · draftEvie & Shell:B · MIT
🟩 Euskara eu3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🇫🇷 Français fr100.0 % (4263 of the strings)Evie & Shell:B · MIT
🇮🇪 Gaeilge ga3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🏴󠁧󠁢󠁳󠁣󠁴󠁿 Gàidhlig gd3.8 % (164 of the strings) · draftEvie & Shell:B · MIT
🏺 Ἑλληνική grc1.9 % (83 of the strings) · draftEvie & Shell:B · MIT
🇮🇲 Gaelg gv3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🇯🇵 日本語 ja3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
⬛ Kernewek kw3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🏛️ Latina la1.9 % (83 of the strings) · draftEvie & Shell:B · MIT
🇱🇻 Līvõ kēļ liv3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
ᚱ Norrœnt mál non1.9 % (83 of the strings) · draftEvie & Shell:B · MIT
🇨🇭 Rumantsch rm3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🍃 Sindarin sjn1.9 % (83 of the strings) · draftEvie & Shell:B · MIT
🇫🇮 Anarâškielâ smn3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🇷🇸 Srpski sr-Latn3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🇷🇸 Српски sr3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
⚔️ tlhIngan Hol tlh1.9 % (83 of the strings) · draftEvie & Shell:B · MIT
🇺🇦 Українська uk3.4 % (144 of the strings) · draftEvie & Shell:B · MIT
🐉 Valyrio Eglie val1.9 % (83 of the strings) · draftEvie & Shell:B · MIT

How a language reaches Shell:B

French ships inside Shell:B (ui/src/i18n/fr.json in the main repository, where a test fails on any interface string without an entry). Every other language is loaded at run time: Shell:B serves the catalogue from a checkout of this repository next to it, or fetches it from here on GitHub, and keeps a copy in the browser. Pick it in Settings → General → Language; Settings → Languages shows coverage per language.

Drafts. Languages marked draft in the table are machine-made starter sets (the most common buttons and labels, drafted with AI and scripts/translate_ollama.py), not yet read through by a speaker. scripts/verify.py only runs automatic checks on them (placeholders kept, nothing left in English, a few glossary terms) and links each flagged string to a dictionary; it doesn't prove a translation right. Corrections from speakers are very welcome, and a language loses the draft mark once someone has reviewed it.

Add or improve a language

  1. Copy locales/fr.json to locales/<code>.json (a BCP 47 code: de, es, pt-BR, zh-Hant) and translate the values. Keep the keys exactly as they are: they are the English strings Shell:B looks up. Keep placeholders such as {name} or {count} in the translation. Remove entries you can't translate rather than leaving English in them. keys.json is the full list to work through; fr.json shows the tone (short, direct, no corporate voice).
  2. Add your language to locales.json: its own name (Deutsch, not German), author, optional authorUrl, license (an SPDX id), version.
  3. Run python3 -I scripts/validate.py. It checks the JSON, the placeholders, reports coverage and stale entries, and rebuilds index.json and the table above.
  4. Open a pull request (the template has the checklist), or a Submit a translation issue with the file attached.

Translations that the test in Shell:B can enforce need an entry for every string in keys.json; partial ones are welcome here and reach Shell:B at run time as soon as they're merged.

Credit

Every language names its translators in locales.json; the name, linked when authorUrl is given, shows in the table above and in index.json.

License

The scripts and this repository are MIT. Each catalogue names its own license in locales.json.

Other collections

About

Localizations for Shell:B

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages