Skip to main content
Documentation

Reliably upload existing translations and download production-ready JSON files. Preview changes before committing.

Navigation

Manually upload or download translation files when automated syncing isn't preferred. Support is included for standard localization formats like JSON, YAML, and XLIFF, ensuring compatibility with legacy systems.

1Workspace
2Project
3Settings
4Import / Export

File Workflows

Flat & Nested JSON

Upload your existing localization files. StringsOS automatically parses both flat key-value pairs and nested JSON structures.

Locale Auto-detection

The system detects the target locale directly from the filename (e.g., fr-FR.json, es.json) to map languages automatically.

Validation & Preview

Before applying changes, StringsOS validates your JSON for syntax errors and broken placeholders, letting you preview exactly what will change.

Export Anytime

Manual JSON export is always available, even if you rely on the GitHub integration. You are never locked in.

Placeholder Safety

During import, StringsOS scans values for common interpolation patterns (like {{name}} or {0}). It ensures that translations don't inadvertently break variables required by your application code, reducing runtime errors in production.

  • Syntax validation
  • Variable preservation
  • Conflict resolution previews

Ingestion

You can bring your existing translations into StringsOS by uploading standard JSON localization files. StringsOS supports nested JSON structures commonly used by frameworks like i18next and react-intl. During import, you will see a preview of all new keys being created and any existing values that will be updated.

Delivery

Once your translations are approved, you can export them back into JSON files for use in your application. The export process ensures that only fully approved translations are included, safeguarding your production environment from draft or unreviewed strings.

Support

If StringsOS detects a mismatch between the placeholders in your source string and a target translation, it will flag a QA error. To resolve this, review the translation and ensure all variables (e.g. {count}, %s) are present and correctly formatted according to your framework's requirements.

Next Steps

If manual file passing is too slow, connect your repository for automatic PR-native synchronization.

GitHub Workflows

Drop a JSON file into StringsOS and start managing it visually.

Free during beta · No credit card required