Nescroll docs
v1.0.0
Get help
● Set up · Languages

Localization
English base, Slovak included.

All interface texts live in one String Catalog, app/NoReels/Localizable.xcstrings. English is the development language (developmentLanguage: en in project.yml); Slovak is translated for all 72 strings.

String Catalogensk

01How texts are found

SwiftUI texts such as Text("Settings") and Swift strings written as String(localized: "…") are looked up in the String Catalog. The English sentence is the key. When the device language has a translation, iOS shows it; otherwise English.

XcodeGen reads the languages from the catalog: the generated project lists en and sk as known regions (checked in the generated project.pbxproj).

02Add a language

  1. Open the catalog In Xcode, select NoReels/Localizable.xcstrings.
  2. Add the language Click + at the bottom of the language list and choose, for example, German. Every string appears as "New".
  3. Translate each string. Keep placeholders such as %@ and %lld exactly as they are.
  4. Build Xcode saves the translation in the .xcstrings file itself, so it survives xcodegen generate. Run the app with the scheme's App Language set to the new language (Product → Scheme → Edit Scheme → Run → Options) to check it.
  5. Add the language in App Store Connect for your store listing if you want localized store texts.

03Feed labels are not interface texts

Some filters hide a post by the exact text a site prints on it, for example "Sponsored". Those texts are in the language of the user's site account, not the app. They are in Platform.swift: English texts in each filter's labels, and Slovak and Czech variants in the Labels enum. To support another language, add that site's exact texts there (or in a remote rules.json).

Unverified labels

The Slovak and Czech feed labels were written from memory and have not been checked on a real device (comment in Platform.swift). Capture the exact texts from a Slovak and a Czech account before you rely on them. A wrong text does no harm; it simply never matches.

04Lock screen language

The lock screen texts ("Not the endless feed", "Attempts today") come from the same String Catalog: the NescrollShield target lists NoReels/Localizable.xcstrings in its sources, so a language you add to the catalog also reaches the lock screen.