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.
Whether you are building modern SwiftUI applications with String Catalogs or maintaining established UIKit codebases with Localizable.strings, AppText handles your workflow.
Automatic generation of clean key-value files for each locale: en.lproj/Localizable.strings, de.lproj/Localizable.strings, and more.
Export structured JSON matching Apple's String Catalog schema, with state tracking for translated, review needed, and untranslated keys.
Validates Objective-C and Swift string formatting tokens including %@, %1$@, and %d to prevent app crashes.
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.
#!/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!"
No credit card required. Manage all your iOS translation keys and invite translators for free.
Create Free Account →