Smart Localization Suite is a production-ready localization system.
It provides a unified dashboard, key-based localization workflow and support for multiple professional translation providers.SmartLocalizationSuite is a professional localization tool built entirely inside the Unity Editor. It covers the full localization pipeline — from setting up string keys and translating them with your preferred API, to tracking coverage per language and handing off CSV files to your translation team.One dashboard for everythingAll your localization data lives in a single Editor window with five dedicated tabs: Setup, Table, Scene, Coverage and Data Integrity. Every tool you need is in one place — no scattered inspectors, no manual file management.9 translation providers, no lock-inConnect your API key and translate directly from the Editor. Switch providers at any time without touching your data. Supported providers: DeepL, Google Cloud Translate, Azure Translator, Amazon Translate, IBM Watson Language Translator, Yandex Cloud, Smartling, LibreTranslate and MyMemory. MyMemory is included free with a daily quota, so you can start translating immediately with no account required.Translate smarterTranslate a single key, a selection, or your entire table in one click. Use Missing-only mode to skip already-translated entries and avoid wasting API credits. A dry-run summary shows you the character cost before any request is sent. The translator retries failed requests automatically and supports cancellation at any time.Know your coverage before you shipThe Coverage tab shows translation completion per language as a percentage, with a precise count and list of every missing key. Set the Build Validator to Strict mode and your build will fail automatically if any language is incomplete — no manual audit needed before release.Data integrity built inThree dedicated tools keep your localization data clean throughout your project:Duplicate Detection scans all your LocalizationTable assets for duplicate keys and removes them in one click.Safe Rename propagates a key rename across all tables, prefabs and scenes simultaneously, with full undo and redo support.Orphan Scan finds keys defined in your tables but not used in any component, and components that reference keys that no longer exist.Your translators don't need UnityExport your full localization table to CSV (one column per language) or to JSON (all languages in one file, or one file per language). Hand the file to your translation team, get it back, preview all changes with Import Preview before applying, then import in one click. Missing-only and overwrite modes are both supported. Every import is undoable.Secure by defaultAPI credentials are stored in Editor-only ScriptableObject assets and never included in builds. The Build Secret Guard validates this automatically at build time.Editor-only, zero runtime footprintAll translation logic, scanning tools and import/export pipelines run in Editor-only assemblies. The runtime consists of a single lightweight ScriptableObject and the LocalizedTMPKeyed component. No third-party packages required. Fully compatible with Unity 2021.3 LTS and later.Online documentationFull guide, examples, and FAQ: https://julestools.gitbook.io/julestools-docs/documentation/tools/smart-localization-suiteSupportQuestions, bugs, feature requests: jules.gilli@live.frArchitectureSmartLocalizationSuite uses a key-based architecture where all translatable strings are identified by a unique key stored in a LocalizationTable ScriptableObject. The runtime binding is handled by a single MonoBehaviour (LocalizedTMPKeyed) that resolves a key to a translated string at runtime via LocalizationService.Data modelLocalizationTable (ScriptableObject) — list of KeyEntry objects, each holding a key, a sourceText and a list of Translation records (languageCode + value)LocalizationSettings (ScriptableObject, in Resources) — language list with code and display name per languageEditorLocalizationSettings (ScriptableObject, Editor-only folder) — provider selection, API credentials, quota tracking and build validation modeTranslation layerAll providers implement ITranslationProvider with a single TranslateAsync(text, from, to, ct) method. Provider selection and normalization (DeepL requires uppercase codes, Azure prefers two-letter codes, etc.) are handled by ProviderFactory and EditorTranslator. A RetryPolicy with 3 attempts wraps every provider call.Supported providersMyMemory · LibreTranslate · Google Cloud Translate v2 · Azure Translator · Amazon Translate (SigV4) · DeepL (free and pro) · IBM Watson Language Translator · Yandex Cloud Translate · SmartlingCSV formatkey;en;fr;de;esui.btn.start;Start;Démarrer;Starten;IniciarSeparator: semicolon (auto-detected on import, comma also accepted)Encoding: UTF-8 with BOM on exportThe source language column maps to sourceText internallyImport validates headers, detects duplicate key rows, and guards against delimiter-shift anomalies before writing any dataImport Preview runs the full import logic without writing and returns a created/updated/skipped/invalid reportBuild pipeline hooksBuildSecretGuard (IPreprocessBuildWithReport, order 0) — ensures EditorLocalizationSettings is not in a Resources folderLocalizationBuildValidator (IPreprocessBuildWithReport, order 100) — runs coverage scan and either logs warnings or throws BuildFailedException depending on the configured ValidationModeAssembly layoutSmartLocalizationSuite.Runtime — LocalizationTable, LocalizationSettings, LocalizationService, LocalizedTMPKeyedSmartLocalizationSuite.Editor — all Editor windows, translation, IO, build hooks, data integrity toolsSmartLocalizationLite.Runtime / SmartLocalizationLite.Editor — companion lite version (separate package)RequirementsUnity 2021.3 LTS or laterTextMeshPro (included with Unity since 2018.3)No additional packages requiredAI tools were used to assist in writing and organizing the documentation for this package, including the user guide, changelog, and descriptive texts.



