🍏 iOS, macOS, watchOS & Xcode

iOS App Localization for Xcode 15 & 16

Localizing iOS apps used to mean juggling painful .lproj subfolders and string formatting errors. AppText gives iOS developers a unified web platform to translate, collaborate, and sync assets directly inside Xcode with a zero-dependency Run Script phase.

Supporting Every Apple Localization Standard

Whether you are building modern SwiftUI applications with String Catalogs or maintaining established UIKit codebases with Localizable.strings, AppText handles your workflow.

.strings

Localizable.strings Bundles

Automatic generation of clean key-value files for each locale: en.lproj/Localizable.strings, de.lproj/Localizable.strings, and more.

.xcstrings

String Catalogs Support

Export structured JSON matching Apple's String Catalog schema, with state tracking for translated, review needed, and untranslated keys.

%@

Apple Format Specifiers

Validates Objective-C and Swift string formatting tokens including %@, %1$@, and %d to prevent app crashes.

CI/CD & Build Pipeline

Xcode Run Script Phase Integration

Add this bash script to your target's Build Phases → Run Script in Xcode. Every time you build your app (or in GitHub Actions CI), latest translations are synchronized automatically.

Xcode → Target → Build Phases → Run Script Shell: /bin/bash
#!/bin/bash
set -e

# Replace with your AppText project ID:
PROJECT_ID="YOUR_PROJECT_ID"
URL="https://apptext.site/public/export/ios/${PROJECT_ID}"
ZIP_FILE="${PROJECT_DIR}/Localizations.zip"
TMP_DIR="${PROJECT_DIR}/tmp_localizations"

echo "Downloading latest iOS translations from AppText..."
curl -s -f -o "$ZIP_FILE" "$URL"

# Extract to temporary directory and copy .lproj folders
rm -rf "$TMP_DIR" && mkdir -p "$TMP_DIR"
unzip -q -o "$ZIP_FILE" -d "$TMP_DIR"
cp -R "$TMP_DIR"/*.lproj "$PROJECT_DIR"/

# Clean up
rm -rf "$ZIP_FILE" "$TMP_DIR"
echo "✓ iOS localizations updated successfully!"
Features: • Zero CocoaPods or Swift Package dependencies • Works with Fastlane, Xcode Cloud, and GitHub Actions

Start Localizing Your iOS Apps in Minutes

No credit card required. Manage all your iOS translation keys and invite translators for free.

Create Free Account →