Skip to main content
$ string-catalog --version 2.0
===============================================================

> Localization you can confidently ship_

Push your code. We keep your .xcstrings and strings.xml in sync across every language. Each run opens a review-ready pull or merge request in GitHub, GitLab, or Bitbucket, so you review every change with no copy-paste and no release-day surprises.

>
strings_processed:
1m+
>
supported_languages:
40+
>
setup_time:
<5min
iOS (.xcstrings) & Android (strings.xml)

Quick auth methods:

Repository sync supports GitHub, GitLab, and Bitbucket.

Featured in

  • iOS Dev Weekly Logo

> How It Works

Let String Catalog handle localization

step_01:

CONNECT_REPO()

Connect GitHub, GitLab, or Bitbucket, choose the repo and branch, and we look for .xcstrings or Android XML files on our own.

step_02:

SELECT_LANGUAGES()

Choose from over 40 languages, add tone or glossary notes when you need them, then click "Localize" and let us do the heavy lifting.

step_03:

REVIEW_PR()

We open a pull or merge request with the new strings. Review it in GitHub, GitLab, or Bitbucket, then merge and we will open another one any time the source text changes.

========================================================================================================

> Save Time, Ship Faster

Estimated engineering hours saved per release across 10+ languages

OPTIMAL string_catalog
~10hrs_saved
[████████████████████] 100%
Set it up once and get back to the work that matters
  • Zero maintenance
  • Always up to date
  • Custom tone & glossary
  • Protected terms guardrails
  • Shareable review links
  • Just 15 minutes total
custom_scripts ~4-6hrs_saved
[██████████░░░░░░░░░░] 50%
Write a script, keep patching it forever
  • ! Script maintenance
  • ! API version updates
  • ! Bug fixes & edge cases
  • ! Format changes
  • ! Team onboarding
  • ! Takes 4-6 hours
manual_localization 0hrs_saved
[░░░░░░░░░░░░░░░░░░░░] 0%
Painful every single time
  • Extract strings manually
  • Spreadsheet management
  • Email back-and-forth
  • Format validation
  • Copy-paste errors
  • Takes 8-12 hours

Annual savings: ~3+ weeks of dev time each year

Based on monthly releases to 10+ languages @ 10 hours saved per release

why_teams_choose_us:

  • Maximum time savings with zero maintenance burden
  • Costs less than a few hours of developer time per month
  • Ships with your existing workflow via GitHub, GitLab, or Bitbucket

vs_alternatives:

  • No brittle scripts that break with API changes
  • No manual spreadsheet juggling and email chains
  • No context switching between tools and platforms
========================================================================================================

> Built For Teams

The pieces we rely on to keep translations moving

fast_prs()

Automated PR generation in seconds, not hours

native_files()

Direct .xcstrings & .xml support, no conversion scripts

quality_check()

AI reviews for placeholders, tone, and obvious errors

team_collab()

Reviewers, PMs, and localization in one place

========================================================================================================

> Native Platform Support

Works directly with iOS and Android file formats

iOS

xcode_integration()

We read and write Apple's String Catalog format with comments, notes, and device variations intact. No exports, no sync scripts, just the files Xcode expects.

  • Preserves all String Catalog metadata
  • Handles device-specific variations
  • Uses per-string comments as translation context
ANDROID

android_support()

We generate strings.xml with plurals, placeholders, and all the Android quirks your app already uses. Comments stay in place so translators understand the intent, and it works with Gradle or Maven.

  • Supports plurals and quantities
  • Supports placeholders
  • Gradle and Maven compatible
========================================================================================================
execute_localization.sh

> Ready to Localize

Join the teams relying on String Catalog to keep translations caught up

1 free language • no credit card required
$ _