General Translation
General Translation is an end-to-end internationalization platform for developers. It combines open-source i18n libraries, AI-powered translation, and an…
General Translation
General Translation is an end-to-end internationalization platform for developers. It combines open-source i18n libraries, AI-powered translation, and an automated coding agent in one workflow from source code to production.
-
Provide open-source SDKs for React, Next.js, and React Native, including
gt-nextandgt-react. -
Translate application content using codebase context, including component structure, variable names, surrounding UI, and product glossary.
-
Automate internationalization with Locadex, an AI agent that scans repositories, updates source code, generates translations, and opens pull requests.
-
Deliver pre-generated translations through production-ready infrastructure.
-
End-to-end localization: General Translation connects the i18n library, translation platform, and developer workflow instead of requiring separate tools for each step.
-
Code as the source of truth: Translatable content lives in the application code, reducing the need to manually extract strings, manage JSON files, or sync translation files with a TMS.
-
Context-aware AI translation: Translations are generated with awareness of the surrounding code and product context, rather than isolated strings alone.
-
Developer-first workflow: General Translation is designed to fit into modern development workflows, including local development, CI/CD, pull requests, and production deployment.
General Translation is used by developer-first teams including Cursor, Cognition, Windsurf, Ramp, Mintlify, ClickHouse, and others.
blogs
- i18n without translation files: Most i18n libraries force you to maintain JSON files for each language you support. There's a different way to handle it.
- Best localization software for developers in 2026: Why the traditional split between i18n libraries and translation management systems is the wrong approach, and what end-to-end localization actually looks like
- You're Doing Next.js i18n Wrong: Translation keys separate content from where it's used. Here's the case for keeping them together.
- How to Optimize SEO for a Multilingual Next.js App: A practical guide to multilingual SEO in Next.js — locale routing, HTML lang tags, canonical URLs, hreflang, sitemaps, and metadata, all implemented with gt-next
- Translating JSX - How to use Conditionals: Learn how to handle translations with better context and flexibility
- How to Internationalize an AI chatbot: Build and deploy a fully translated AI chatbot in minutes using gt-next
- How to Handle Pluralization in React: How to handle plural forms in React and Next.js — from simple English plurals to full multilingual i18n support with examples
- Launching gt-next: The easiest way to internationalize your Next.js app
cli
- Auth: Authenticate your project with General Translation
- Branching: Track translations separately for different git branches
- Configure: Configure your project's GT settings
- Download: How to download translations that were previously enqueued or staged
- Enqueue: How to enqueue translations without downloading them
- FAQs: Frequently asked questions about the GT CLI tool
- Generate Source Template: How to generate a source template for your project
- Translation CLI: Set up and translate your project with the General Translation command line tool
- Setup Wizard: Run the GT setup wizard
- Save Local Edits: How to save edits made to local translation files
- Stage: How to stage your translations for review
- Translate: How to translate your project
- Upload: How to upload source files and translations to the General Translation platform
- Validate: How to validate your project for translation errors
- Auto JSX Injection: Automatically wrap JSX text in translation components at build time
- Autoderive: Automatically derive interpolated values in translation functions and JSX components
- GT JSX: Automatically translate your gt-next, gt-react, or gt-react-native project
- HTML: How to use General Translation to set up automatic translation for HTML files
- JSON: How to automatically translate JSON files with General Translation
- Markdown: How to use General Translation to set up automatic translation for your project's Markdown files
- PO / POT: How to automatically translate PO/POT files with General Translation
- TypeScript: How to automatically translate TypeScript and JavaScript files with General Translation
- Text: How to use General Translation to set up automatic translation for your project's text files
- YAML: How to automatically translate YAML files with General Translation
- Configuration: Config docs for the gt.config.json file
- Keyed Metadata: Per-key translation metadata for JSON and YAML files
core
- FAQs: Frequently asked questions about generaltranslation (core library)
- Overview: Overview of the generaltranslation library
- Locales: What are locales and how are they used in the General Translation stack?
- Quickstart: Quickstart guide for the generaltranslation library
- GT Constructor: API reference for the GT class constructor
- setConfig: API reference for the GT setConfig method
- Content: Union type representing all supported content formats for translation
- TranslateManyEntry: Type definition for translation entries used in translate and translateMany operations
- Variable: Type definition for variables used in translation content
- CustomMapping: Type definition for custom locale code mappings and enhanced locale metadata
- DataFormat: Enumeration of supported content format types for translation
- EnqueueFilesOptions: Configuration options for batch file translation operations
- EntryMetadata: Type definition for metadata that customizes translation behavior
- FileToTranslate: Type definition for file objects used in batch file translation operations
- GTConstructorParams: TypeScript interface for GT class constructor parameters
- JsxChild: Union type representing individual elements within JSX content
- JsxChildren: Type definition for JSX content that can be translated and rendered
- JsxElement: Type definition for structured HTML-like elements in translatable JSX content
- LocaleProperties: TypeScript interface containing comprehensive locale information
- TranslateManyResult: Type definition for results returned by batch translation operations
- TranslationResult: Type definition for translation results returned by translate() methods
- VariableType: Enumeration of variable formatting types for dynamic content translation
- formatCutoff: Standalone function to truncate strings with locale-aware terminators
- formatDateTime: Standalone function to format dates and times according to locale conventions
- formatListToParts: Standalone function to format lists into parts while preserving original types
- formatMessage: API reference for the standalone formatMessage function
- formatNum: Standalone function to format numbers according to locale conventions
- formatRelativeTimeFromDate: Standalone function to format relative time from a Date, automatically selecting the best unit
- formatRelativeTime: Standalone function to format relative time values according to locale conventions
- determineLocale: API reference for the determineLocale function
- getLocaleDirection: API reference for the getLocaleDirection function
- getLocaleEmoji: API reference for the standalone getLocaleEmoji function
- getLocaleName: API reference for the standalone getLocaleName function
- getLocaleProperties: API reference for the standalone getLocaleProperties function
- getRegionProperties: API reference for the getRegionProperties function
- isSameDialect: API reference for the isSameDialect function
- isSameLanguage: API reference for the isSameLanguage function
- isSupersetLocale: API reference for the isSupersetLocale function
- isValidLocale: API reference for the isValidLocale function
- requiresTranslation: API reference for the requiresTranslation function
- resolveAliasLocale: API reference for the resolveAliasLocale function
- standardizeLocale: API reference for the standardizeLocale function
- formatCutoff: API reference for the GT formatCutoff method
- formatDateTime: API reference for the formatDateTime method to format dates and times according to locale conventions
- formatListToParts: API reference for the formatListToParts method to format lists into parts while preserving original types
- formatMessage: API reference for the GT formatMessage method
- formatNum: API reference for the formatNum method to format numbers according to locale conventions
- formatRelativeTimeFromDate: API reference for the formatRelativeTimeFromDate method to format relative time from a Date
- formatRelativeTime: API reference for the formatRelativeTime method to format relative time values
- determineLocale: API reference for the GT determineLocale method
- getLocaleDirection: API reference for the GT getLocaleDirection method
- getLocaleEmoji: API reference for the GT getLocaleEmoji method
- getLocaleName: API reference for the GT getLocaleName method
- getLocaleProperties: API reference for the GT getLocaleProperties method
- getRegionProperties: API reference for the GT getRegionProperties method
- isSameDialect: API reference for the GT isSameDialect method
- isSameLanguage: API reference for the GT isSameLanguage method
- isSupersetLocale: API reference for the GT isSupersetLocale method
- isValidLocale: API reference for the GT isValidLocale method
- requiresTranslation: API reference for the GT requiresTranslation method
- resolveAliasLocale: API reference for the GT resolveAliasLocale method
- resolveCanonicalLocale: API reference for the GT resolveCanonicalLocale method
- standardizeLocale: API reference for the GT standardizeLocale method
- awaitJobs: API reference for the awaitJobs method to poll and wait for translation jobs to complete
- checkJobStatus: API reference for the checkJobStatus method to monitor job progress
- createTag: API reference for the createTag method to tag translation runs for version tracking
- downloadFileBatch: API reference for the downloadFileBatch method to download multiple files in a single request
- downloadFile: API reference for the downloadFile method to download source or translated files
- enqueueFiles: API reference for the enqueueFiles method to enqueue file translation jobs
- getProjectData: API reference for the getProjectData method to retrieve project information and configuration
- queryFileData: API reference for the queryFileData method to query source and translation file data
- querySourceFile: API reference for the querySourceFile method to get source file and translation information
- setupProject: API reference for the setupProject method to initialize translation project setup
- translateMany: API reference for the GT translateMany method for batch translations
- translate: API reference for the GT translate method
- uploadSourceFiles: API reference for the uploadSourceFiles method to upload source files for translation
- uploadTranslations: API reference for the uploadTranslations method to upload pre-existing translation files
key-concepts
- Dynamic Content: A brief overview of working with Dynamic Content in GT.
- Private Information: A brief overview of working with Private Information in GT.
locadex
- Auto-merge Pull Requests: Configure Locadex to automatically merge pull requests
- FAQs: Frequently asked questions about Locadex
- Locadex VM Image: Environment and tooling included in Locadex VM images
- Locadex Agent: Get started with Locadex, the automated internationalization engineer
- Locadex for Mintlify: Automate translation for your Mintlify docs
- Monorepo Support: How to use Locadex on a Next.js app within a monorepo
- Locadex for Next.js App Router: Automate translation for your Next.js app
next
- FAQs: Frequently asked questions about gt-next
- Next.js Quickstart: Add multiple languages to your Next.js app in under 10 minutes
- Overview: Overview of General Translation's Next.js SDK
- Compiler: gt-next's Rust-based SWC plugin
- Production vs Development: Differences between production and development environments
- Standalone i18n: How to use gt-react as a standalone i18n library
- Branching Components: How to use branching components for conditional content within translations
- Cache Components: Setting up Cache Components in gt-next
- Dictionaries: How to use traditional dictionary-based translation patterns
- Dynamic Content: How to translate runtime content using server-side translation APIs
- Changing Languages: How to configure and switch between languages in your Next.js app
- Local Translation Storage: Store translations in your app bundle instead of using a CDN
- Locale Aliases and SEO: Use custom locale aliases for URL routing while maintaining BCP 47 compliance for search engines
- Middleware: Automatic language detection and URL routing based on user preferences
- Migrating: Learn how to migrate a project to gt-next
- Right-to-Left Support: Configure your Next.js app for Arabic, Hebrew, and other RTL languages
- Shared Strings: How to internationalize strings used across multiple components and files
- Static Site Generation: Pre-render internationalized pages at build time for optimal performance
- Strings: How to internationalize plain text strings using useGT
- The T Component: How to internationalize JSX components using the T component
- Variable Components: How to use variable components for dynamic content within translations
- GT JSX Data Format: Reference for the minified General Translation JSX data format
- Deploy to Production: Let's deploy your Next.js app with GT
- Translating Strings: How to translate strings
- Branch: API reference for the Branch component
- Currency: API reference for the Currency component
- DateTime: API reference for the DateTime component
- Derive: API reference for the Derive component
- GTProvider: API reference for the GTProvider component
- LocaleSelector: API reference for the LocaleSelector component
- Num: API reference for the Num component
- Plural: API reference for the Plural component
- RegionSelector: API reference for the RegionSelector component
- RelativeTime: API reference for the RelativeTime component
- T: API reference for the T component
- Tx: API reference for the Tx component
- Var: API reference for the Var component
- gt.config.json: The gt.config.json file
- loadDictionary: API reference for the loadDictionary() function
- loadTranslations: API reference for the loadTranslations() function
- withGTConfig: API reference for the withGTConfig(), formerly initGT()
- getTranslations: API reference for the getTranslations server-side translation function
- useTranslations: API reference for the useTranslations hook
- createNextMiddleware: API reference for the createNextMiddleware() method
- getDefaultLocale: API reference for the getDefaultLocale server-side method
- getLocaleDirection: API reference for the getLocaleDirection server-side method
- getLocaleProperties: API reference for the getLocaleProperties server-side method
- getLocale: API reference for the getLocale server-side method
- getLocales: API reference for the getLocales server-side method
- getRegion: API reference for the getRegion server-side method
- useDefaultLocale: API reference for the useDefaultLocale hook
- useLocaleDirection: API reference for the useLocaleDirection hook
- useLocaleProperties: API reference for the useLocaleProperties hook
- useLocaleSelector: API reference for the useLocaleSelector hook
- useLocale: API reference for the useLocale hook
- useLocales: API reference for the useLocales hook
- useRegionSelector: API reference for the useRegionSelector hook
- useRegion: API reference for the useRegion hook
- useSetLocale: API reference for the useSetLocale hook
- declareVar: API reference for the declareVar() string function
- decodeVars: API reference for the decodeVars() string function
- derive: API reference for the derive() string function
- getGT: API reference for the getGT() string translation function
- getMessages: API reference for the getMessages() string translation function
- msg: API reference for the msg() string function
- tx: API reference for the tx string translation function
- useGT: API reference for the useGT string translation function
- useMessages: API reference for the useMessages() string translation function
- DictionaryTranslationOptions: API reference for the DictionaryTranslationOptions type
- InlineTranslationOptions: API reference for the InlineTranslationOptions type
- RuntimeTranslationOptions: API reference for the RuntimeTranslationOptions type
- Setup: Set up a tutorial project
- Examples: Example Next.js apps using gt-next for internationalization
- Speedrun Next.js: Let's speedrun creating a new app and internationalizing it with GT
- Add gt-next: Let's get your project ready for translation!
- Setup: Set up a tutorial project
- Using the Component: Let's do some translation!
next-lint
- gt-next Lint: ESLint plugin for gt-next components.
overview
- AI Coding: Resources for AI coding tools including llms.txt and an MCP server
- FAQs: Frequently Asked Questions
- Introduction: Get started with General Translation's localization and internationalization stack
- Key Terms: A guide to the key terminology used by General Translation
platform
- Organization: Members and organization settings
- API Keys: Manage authentication keys with granular permissions
- FAQs: Frequently asked questions about the General Translation platform
- Overview: Manage translations, context, automation, and repository sync
- Supported Locales: A list of the locales currently supported by General Translation
- Webhooks: Send translation events from an organization to your application
- Apply Glossary: Push glossary changes into existing translated files
- Directives: Provide instructions that guide AI translation tone and style
- Glossary: Define terms that must stay consistent across translations
- Context Groups: Organize glossary and directives into shareable groups
- Roles & Permissions: Understand the default roles and permissions available in your organization
- Webhooks: Receive real-time notifications when events happen in your organization
- API Keys: Manage authentication keys for your application
- Settings: Configure project details and project-level behavior
- Annotations: Label, note, and discuss translation entries
- Editing translations: Browse, view, and edit translated content
- Retranslating content: Regenerate translations with updated source or context
python
- Python Quickstart: Add multiple languages to your Python server in under 10 minutes
- declare_var: API reference for the declare_var function
- decode_vars: API reference for the decode_vars function
- derive: API reference for the derive function
- get_default_locale: API reference for the get_default_locale function
- get_locale: API reference for the get_locale function
- get_locales: API reference for the get_locales function
- initialize_gt: API reference for the initialize_gt setup function
- t_fallback: API reference for the t_fallback interpolation function
- t: API reference for the t translation function
- Local Translation Storage: Store translations locally instead of fetching from a CDN
- Locale Detection & Middleware: How locale detection works in Flask and FastAPI, and how to customize it
- String Translation Patterns: Translating strings in Python with t(), msg(), variables, and derive()
- Custom locale detection: How to customize locale detection with get_locale, and how the default behavior works
- Using derive: How to use derive for word agreement, reusable content, and static analysis
- FastAPI Quickstart: Add internationalization to your FastAPI app with gt-fastapi
- Flask Quickstart: Add internationalization to your Flask app with gt-flask
react
- FAQs: Frequently asked questions about gt-react
- React Quickstart: Add multiple languages to your React app in under 10 minutes
- Overview: Overview of General Translation's React SDK
- Compiler: How the gt CLI processes your React source files
- Production vs Development: Differences between production and development environments
- Standalone i18n: How to use gt-react as a standalone i18n library
- Branching Components: How to use branching components for conditional content within translations
- Dictionaries: How to use traditional dictionary-based translation patterns
- Changing Languages: How to configure and switch between languages in your React app
- Local Translation Storage: Store translations in your app bundle instead of using a CDN
- Migrating: Learn how to migrate a project to gt-react
- Shared Strings: How to internationalize strings used across multiple components and files
- Strings: How to internationalize plain text strings using useGT
- The T Component: How to internationalize JSX components using the T component
- Variable Components: How to use variable components for dynamic content within translations
- GT JSX Data Format: Reference for the minified General Translation JSX data format
- Internationalize a Mini Shop: A hands-on React tutorial that internationalizes a simple shop using GT React components, hooks, and shared strings
- Deploy to Production: Let's deploy your React app with GT
- gt.config.json: The gt.config.json file
- loadDictionary: API reference for the loadDictionary() function
- loadTranslations: API reference for the loadTranslations() function
- useTranslations: API reference for the useTranslations hook
- Branch: API reference for the Branch component
- Currency: API reference for the Currency component
- DateTime: API reference for the DateTime component
- Derive: API reference for the Derive component
- GTProvider: API reference for the GTProvider component
- LocaleSelector: API reference for the LocaleSelector component
- Num: API reference for the Num component
- Plural: API reference for the Plural component
- RegionSelector: API reference for the RegionSelector component
- RelativeTime: API reference for the RelativeTime component
- T: API reference for the T component
- Var: API reference for the Var component
- useDefaultLocale: API reference for the useDefaultLocale hook
- useLocaleDirection: API reference for the useLocaleDirection hook
- useLocaleProperties: API reference for the useLocaleProperties hook
- useLocaleSelector: API reference for the useLocaleSelector hook
- useLocale: API reference for the useLocale hook
- useLocales: API reference for the useLocales hook
- useRegionSelector: API reference for the useRegionSelector hook
- useRegion: API reference for the useRegion hook
- useSetLocale: API reference for the useSetLocale hook
- declareVar: API reference for the declareVar() string function
- decodeVars: API reference for the decodeVars() string function
- derive: API reference for the derive() string function
- msg: API reference for the msg() string function
- t: API reference for the t() synchronous string translation function
- useGT: API reference for the useGT string translation function
- useMessages: API reference for the useMessages() string translation function
- DictionaryTranslationOptions: API reference for the DictionaryTranslationOptions type
- InlineTranslationOptions: API reference for the InlineTranslationOptions type
react-core-linter
- React Core Linter: ESLint plugin for GT React libraries
- React Core Linter: ESLint plugin for General Translation React Core integration
- Quickstart: Quickstart guide for the React Core Linter
- static-jsx: The component must only have static children
- static-string: Enforce static string usage in translation functions
react-native
- FAQs: Frequently asked questions about gt-react-native
- React Native: Add multiple languages to your React Native app
- Overview: Overview of General Translation's React Native SDK
- Production vs Development: Differences between production and development environments
- Standalone i18n: How to use gt-react as a standalone i18n library
- Branching Components: How to use branching components for conditional content within translations
- Dictionaries: How to use traditional dictionary-based translation patterns
- Changing Languages: How to configure and switch between languages in your React Native app
- Local Translation Storage: Store translations in your app bundle instead of using a CDN
- Migrating: Learn how to migrate a project to gt-react-native
- Shared Strings: How to internationalize strings used across multiple components and files
- Strings: How to internationalize plain text strings using useGT
- The T Component: How to internationalize JSX components using the T component
- Variable Components: How to use variable components for dynamic content within translations
- GT JSX Data Format: Reference for the minified General Translation JSX data format
- Internationalize a Mini Shop: A hands-on React Native tutorial that internationalizes a simple shop using GT React Native components, hooks, and shared strings
- Deploy to Production: Let's deploy your React Native app with GT
- React Native Quickstart with Expo: Add multiple languages to your Expo app in under 10 minutes
- React Native Quickstart: Add multiple languages to your React Native app in under 10 minutes
- Branch: API reference for the Branch component
- Currency: API reference for the Currency component
- DateTime: API reference for the DateTime component
- Derive: API reference for the Derive component
- GTProvider: API reference for the GTProvider component
- LocaleSelector: API reference for the LocaleSelector component
- Num: API reference for the Num component
- Plural: API reference for the Plural component
- RegionSelector: API reference for the RegionSelector component
- RelativeTime: API reference for the RelativeTime component
- T: API reference for the T component
- Var: API reference for the Var component
- gt.config.json: The gt.config.json file
- loadDictionary: API reference for the loadDictionary() function
- loadTranslations: API reference for the loadTranslations() function
- useTranslations: API reference for the useTranslations hook
- getLocaleFromNativeStore: Read the persisted locale from native storage without React context.
- useDefaultLocale: API reference for the useDefaultLocale hook
- useLocaleDirection: API reference for the useLocaleDirection hook
- useLocaleProperties: API reference for the useLocaleProperties hook
- useLocaleSelector: API reference for the useLocaleSelector hook
- useLocale: API reference for the useLocale hook
- useLocales: API reference for the useLocales hook
- useRegionSelector: API reference for the useRegionSelector hook
- useRegion: API reference for the useRegion hook
- useSetLocale: API reference for the useSetLocale hook
- DictionaryTranslationOptions: API reference for the DictionaryTranslationOptions type
- InlineTranslationOptions: API reference for the InlineTranslationOptions type
- declareVar: API reference for the declareVar() string function
- decodeVars: API reference for the decodeVars() string function
- derive: API reference for the derive() string function
- msg: API reference for the msg() string function
- useGT: API reference for the useGT string translation function
- useMessages: API reference for the useMessages() string translation function
sanity
- FAQs: Frequently asked questions about the GT Sanity plugin
- Introduction: Overview of the General Translation Sanity CMS plugin
- Plugin Configuration: API reference for gtPlugin configuration options
- Configuration: Configure the gt-sanity plugin for your Sanity project
- Sanity Quickstart: Integrate General Translation with Sanity CMS using gt-sanity
- Serialization: Customize how Sanity documents are serialized for translation
tanstack-start
- TanStack Start Quickstart: Internationalize your TanStack Start app with gt-tanstack-start
- Overview: Overview of General Translation's TanStack Start SDK
node
- Error Handling & Fallbacks: What happens when translations aren't available and how to handle it
- Local Translation Storage: Store translations in your app bundle instead of fetching from a CDN
- Locale Detection & Middleware: How to detect the user's locale and set it per request with withGT
- String Translation Patterns: Two approaches to translating strings in Node.js — inline and pre-registered
- getDefaultLocale: API reference for the getDefaultLocale function
- getGT: API reference for the getGT string translation function
- getLocaleProperties: API reference for the getLocaleProperties function
- getLocale: API reference for the getLocale function
- getLocales: API reference for the getLocales function
- getMessages: API reference for the getMessages function
- getRequestLocale: API reference for the getRequestLocale function
- getTranslations: API reference for the getTranslations dictionary translation function
- initializeGT: API reference for the initializeGT setup function
- withGT: API reference for the withGT request wrapper
- Node.js Quickstart: Add multiple languages to your Node.js server in under 10 minutes
- msg: API reference for the msg() string function
- tx: API reference for the tx runtime string translation function
llmtxt.app – AI SEO & Search Engine Optimization Directory