Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/permissionlesstech/bitchat/llms.txt

Use this file to discover all available pages before exploring further.

Bitchat is localized using Xcode String Catalogs (.xcstrings format). If you speak a language the app does not yet cover — or you spot a mistranslation in an existing one — contributions are welcome.

File Locations

Two separate catalogs cover the full app surface:
  • App strings: bitchat/Localizable.xcstrings
  • Share extension strings: bitchatShareExtension/Localization/Localizable.xcstrings
Each catalog is self-contained. A key present in one is independent of the same key in the other, so translations for the share extension must be added in its own file.

Key Naming

Prefer keys that describe intent rather than content. For example:
app_info.features.offline.title
This makes the key stable even if the English string changes later. Before adding a new key, search the catalog for an existing one that covers the same concept — reusing keys avoids redundant translation work for all languages.

Adding Translations

1
Open the catalog in Xcode
2
Open bitchat/Localizable.xcstrings (or the share extension catalog) in Xcode. Xcode displays it in the String Catalog editor, which shows all languages and their translation status side by side.
3
Find the key to translate
4
Browse or search for the key you want to work on. Keys with missing translations for your language are flagged in the editor.
5
Add the translation for your language
6
Click the empty translation cell for your language and enter the translated string. If your language is not listed yet, use Editor → Add Language in Xcode to add it to the catalog.
7
Build to verify
8
Run a compile-check to confirm no localization errors were introduced before opening a pull request:
9
xcodebuild -project bitchat.xcodeproj -scheme "bitchat (macOS)" -configuration Debug CODE_SIGNING_ALLOWED=NO build

Compile-Check

Before opening a PR with localization changes, always run the build command to surface any catalog errors:
xcodebuild -project bitchat.xcodeproj -scheme "bitchat (macOS)" -configuration Debug CODE_SIGNING_ALLOWED=NO build
A clean build with zero warnings or errors related to localization is the bar for a mergeable contribution.
.xcstrings is a JSON-based format and can be opened and edited in any text editor or diffed in code review like any other source file. Xcode’s String Catalog editor is more convenient for managing many languages at once, but it is not required — direct JSON edits to the catalog are fully supported.

Build docs developers (and LLMs) love