Want to help translate WhatCable? Fork the repo, copy the English .strings files into a new <lang>.lproj/ folder, translate the values, and open a PR. Partial translations are welcome. See the full steps below.
WhatCable supports localisation via standard Apple .strings and .stringsdict files. All user-facing strings are ready for translation.
What needs translating
Two directories of .strings files, one per module:
Sources/WhatCableCore/Resources/<lang>.lproj/Localizable.strings - cable diagnostics, port summaries, charging labels, trust signals (~280 keys)
Sources/WhatCable/Resources/<lang>.lproj/Localizable.strings - menu bar app UI, settings, notifications (~75 keys)
Some strings have plural variants. These live in a separate .stringsdict file alongside Localizable.strings. See the English version at Sources/WhatCable/Resources/en.lproj/Localizable.stringsdict for the format.
The CLI stays English-only.
How to contribute a translation
- Fork the repo and create a branch (e.g.
locale/fr, locale/de).
- Create a new folder for your language under each
Resources/ directory, e.g. fr.lproj/.
- Copy the English
Localizable.strings into your new folder and translate the right-hand side of each line. The format is:
"Nothing connected" = "Rien de connecte";
The left side (the key) stays in English. Only change the value on the right.
- For plural strings, copy the English
Localizable.stringsdict into your folder and add the appropriate CLDR plural categories for your language. English uses one/other, but your language may need zero, two, few, many, or other.
- Open a PR. Partial translations are welcome. You don't need to cover every key in one go.
Tips
- Technical labels like "USB 3.2 Gen 2 (10 Gbps)" and "Thunderbolt / USB4" generally stay untranslated. They appear as interpolated values, not as keys.
- Strings with
%@, %lld, %1$@ etc. are placeholders. Keep them in the same order.
- Keep wording conversational and plain. Short sentences, no jargon.
- If you're not sure how to phrase something, open a draft PR and ask.
Languages wanted
Any and all. If you're a native speaker and use a Mac, your contribution is welcome. Comment below to claim a language so work doesn't overlap.
| Language |
Code |
Status |
Contributor |
| English |
en |
Done (source) |
- |
| Simplified Chinese |
zh-Hans |
Done |
@JimmFly |
| Italian |
it |
Done |
@bovirus |
| Armenian |
hy |
Done |
@Vardan933 |
| Polish |
pl |
Done |
@nicram |
Thanks for helping make WhatCable more accessible.
WhatCable supports localisation via standard Apple
.stringsand.stringsdictfiles. All user-facing strings are ready for translation.What needs translating
Two directories of
.stringsfiles, one per module:Sources/WhatCableCore/Resources/<lang>.lproj/Localizable.strings- cable diagnostics, port summaries, charging labels, trust signals (~280 keys)Sources/WhatCable/Resources/<lang>.lproj/Localizable.strings- menu bar app UI, settings, notifications (~75 keys)Some strings have plural variants. These live in a separate
.stringsdictfile alongsideLocalizable.strings. See the English version atSources/WhatCable/Resources/en.lproj/Localizable.stringsdictfor the format.The CLI stays English-only.
How to contribute a translation
locale/fr,locale/de).Resources/directory, e.g.fr.lproj/.Localizable.stringsinto your new folder and translate the right-hand side of each line. The format is:The left side (the key) stays in English. Only change the value on the right.
Localizable.stringsdictinto your folder and add the appropriate CLDR plural categories for your language. English usesone/other, but your language may needzero,two,few,many, orother.Tips
%@,%lld,%1$@etc. are placeholders. Keep them in the same order.Languages wanted
Any and all. If you're a native speaker and use a Mac, your contribution is welcome. Comment below to claim a language so work doesn't overlap.
enzh-HansithyplThanks for helping make WhatCable more accessible.