Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
3c1a234
feat(desktop-gpui): localize the editor sidebar, segment panels, colo…
richiemcilroy Oct 26, 2026
0cf02f1
feat(desktop-gpui): localize the screenshot editor
richiemcilroy Oct 26, 2026
ff54451
feat(desktop-gpui): localize overlays, dialogs and permission onboarding
richiemcilroy Oct 26, 2026
aee75be
feat(desktop-gpui): add dialog surface catalogs and literal tests
richiemcilroy Oct 26, 2026
2523142
fix(desktop-gpui): pick screenshot corner styles from the plain table
richiemcilroy Oct 26, 2026
14f3341
fix(desktop-gpui): shorten narrow editor labels and settle the 3D sho…
richiemcilroy Oct 26, 2026
83fb58a
fix(desktop-gpui): keep the diagnostic cancel sentinel in English
richiemcilroy Oct 26, 2026
3044c83
feat(desktop-gpui): localize the editor shell, export dialog, clips, …
richiemcilroy Oct 26, 2026
075af0c
test(desktop-gpui): pin the editor shell's English to the literals it…
richiemcilroy Oct 26, 2026
92f1aac
docs(desktop-gpui): add caption, track and preset to the translation …
richiemcilroy Oct 26, 2026
423f2a3
fix(desktop-gpui): show localized mode names on the mode selection cards
richiemcilroy Oct 26, 2026
a49aae3
refactor(desktop-gpui): drop comments that restate the new label helpers
richiemcilroy Oct 26, 2026
1352727
Merge dialogs i18n
richiemcilroy Oct 26, 2026
f8ff8c7
Merge editor panels i18n
richiemcilroy Oct 26, 2026
c08865c
Merge editor shell i18n
richiemcilroy Oct 26, 2026
ab36da5
fix(desktop-gpui): translate the look name in the 3D shot ghost
richiemcilroy Oct 26, 2026
0e20783
feat(desktop-gpui): show the language picker in release builds and fo…
richiemcilroy Oct 26, 2026
3b6ced6
feat(desktop-gpui): declare the app's languages to macOS and localize…
richiemcilroy Oct 26, 2026
5f0c0be
feat(desktop-gpui): localize the update, quit and Open Recording dialogs
richiemcilroy Oct 26, 2026
b6f26ae
fix(desktop-gpui): keep a running update download disabled in the menu
richiemcilroy Oct 26, 2026
bb5a5ce
Merge remote-tracking branch 'origin/main' into HEAD
richiemcilroy Oct 28, 2026
3169d52
fix(desktop-gpui): correct and align translations after a full native…
richiemcilroy Oct 28, 2026
c7955e8
feat(desktop-gpui): localize the remaining picker hints, Turbo export…
richiemcilroy Oct 28, 2026
b9586bf
docs(desktop-gpui): record the review's terminology and the error and…
richiemcilroy Oct 28, 2026
b6ed775
fix(desktop-gpui): refine the new picker, export and error translatio…
richiemcilroy Oct 28, 2026
36cf24e
fix(desktop-gpui): localize clip merge hints, caption font names, tel…
richiemcilroy Oct 28, 2026
4c212e5
fix(desktop-gpui): shorten the French and Spanish device badges and s…
richiemcilroy Oct 28, 2026
945f799
fix(desktop-gpui): keep clip menu labels whole and wrap the disabled-…
richiemcilroy Oct 28, 2026
accf131
fix(desktop-gpui): translate the error inside the quit dialog and dro…
richiemcilroy Oct 28, 2026
4005f4f
Merge remote-tracking branch 'origin/main' into HEAD
richiemcilroy Oct 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions apps/desktop-gpui/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>zh-Hans</string>
<string>ja</string>
<string>fr</string>
<string>es</string>
<string>de</string>
<string>hi</string>
</array>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
Expand Down
33 changes: 32 additions & 1 deletion apps/desktop-gpui/locales/GLOSSARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,14 @@ from English, and `cargo test -p cap-i18n-build` fails while any key is missing.
| hi | आप | Devanagari with common English loanwords in Devanagari (रिकॉर्डिंग, स्क्रीनशॉट); product names stay in Latin script. |

Menu bar items follow the wording macOS itself uses in each language, so they
sit naturally next to the items AppKit adds.
sit naturally next to the items AppKit adds. That is why the Japanese Window
menu says ウインドウ while the rest of the app says ウィンドウ, and Chinese menus
say 拷贝 while the app says 复制.

Within a catalog, one term per concept: the same English word gets the same
translation in the editor, the screenshot editor, settings and automations.
French uses the straight apostrophe `'`. German puts no space before `…` or
`...`.

Keep the English punctuation style of each string: `...` stays three dots and
`…` stays one character, because both appear in the source. Duration units
Expand All @@ -44,6 +51,15 @@ Instant-Modus, Instantモード).
Error messages that end in `{error}` show a technical message from the
recording engine, which stays in English.

Recording and upload errors that Cap writes in English (they are also logged,
matched and saved) live under `message.*` and are translated where they are
shown, by `i18n::messages::localize`. A new error sentence the user can see
goes into its table and the catalog together; the tests fail if the English
in the code and in the table drift apart.

Numbers inside a sentence go through `i18n::decimal`, which writes the decimal
comma French, Spanish and German use (`1,5 GB`).

## Terms

| English | zh-CN | ja | fr | es | de | hi |
Expand Down Expand Up @@ -78,7 +94,22 @@ recording engine, which stays in English.
| clip | 片段 | クリップ | clip | clip | Clip | क्लिप |
| segment (of a recording) | 分段 | セグメント | segment | segmento | Segment | सेगमेंट |
| recover / discard | 恢复 / 丢弃 | 復元 / 破棄 | récupérer / supprimer | recuperar / descartar | wiederherstellen / verwerfen | रिकवर करें / हटाएँ |
| shot (3D camera) | 镜头 | ショット | plan | toma | Einstellung | शॉट |
| Personal / Commercial plan | 个人版 / 商业版 | 個人 / 商用 | Personnel / Commercial | Personal / Comercial | Privat / Kommerziell | पर्सनल / कमर्शियल |
| caption (subtitle) | 字幕 | 字幕 | sous-titre | subtítulo | Untertitel | कैप्शन |
| track (timeline) | 轨道 | トラック | piste | pista | Spur | ट्रैक |
| preset | 预设 | プリセット | préréglage | preajuste | Vorlage | प्रीसेट |
| video | 视频 | 動画 | vidéo | vídeo | Video | वीडियो |
| audio | 音频 | 音声 | audio | audio | Audio | ऑडियो |
| copy (to the clipboard) | 复制 | コピー | copier | copiar | kopieren | कॉपी करें |
| transcription | 转写 | 文字起こし | transcription | transcripción | Transkription | ट्रांसक्रिप्शन |
| click | 点击 | クリック | cliquer | hacer clic | klicken | क्लिक करें |
| plan (paid tier) | 套餐 | プラン | offre | plan | Tarif | प्लान |
| aspect ratio | 宽高比 | アスペクト比 | format d'image | relación de aspecto | Seitenverhältnis | आस्पेक्ट रेशियो |
| shadow | 阴影 | 影 | ombre | sombra | Schatten | छाया |
| frames per second | FPS | FPS | i/s | FPS | FPS | FPS |
| key (on the keyboard, licence key) | 键 / 密钥 | キー | touche / clé | tecla / clave | Taste / Schlüssel | कुंजी |
| restart / resume | 重新开始 / 继续 | やり直す / 再開 | recommencer / reprendre | reiniciar / reanudar | neu starten / fortsetzen | रीस्टार्ट करें / फिर से शुरू करें |

## Fitting the UI

Expand Down
1,842 changes: 1,772 additions & 70 deletions apps/desktop-gpui/locales/de.toml

Large diffs are not rendered by default.

1,702 changes: 1,702 additions & 0 deletions apps/desktop-gpui/locales/en.toml

Large diffs are not rendered by default.

Loading
Loading