Skip to content

Help translate WhatCable into your language #81

Description

@darrylmorley

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

  1. Fork the repo and create a branch (e.g. locale/fr, locale/de).
  2. Create a new folder for your language under each Resources/ directory, e.g. fr.lproj/.
  3. 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.

  1. 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.
  2. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions