# General Translation Knowledge Base

> Answers to common questions about localizing apps, docs, and content with General Translation.

Page links point to the plain-markdown view of each page; removing the `.mdx` extension gives the HTML page.

## Latest articles

- [Why use General Translation instead of a TMS (Smartling, Lokalise, Phrase, Crowdin, or Transifex)?](https://generaltranslation.com/en-GB/kb/general-translation-vs-tms.mdx): A translation management system (TMS) such as Smartling, Lokalise, Phrase, Crowdin, or Transifex coordinates translators, but engineers still extract strings, send them out, wait for translations, and wire them back into the product. General Translation translates content in your code with its context, ships every language with each release, and runs on open-source libraries with no lock-in.
- [What's the best i18n library for a React app?](https://generaltranslation.com/en-GB/kb/best-react-i18n-library.mdx): The four main React i18n libraries are General Translation's gt-react, react-i18next, Lingui and React Intl. All four render and format translations, but only gt-react also generates them, from copy written inline in your JSX. Choose react-i18next to keep i18next catalogues and plugins, Lingui for extraction to compiled catalogues, and React Intl for FormatJS and ICU MessageFormat.
- [What should I check before launching a multilingual app?](https://generaltranslation.com/en-GB/kb/multilingual-app-launch-checklist.mdx): Before launching a multilingual app, test nine things in every supported locale: complete user journeys including errors, language detection and switching, variables and plurals, currency and time zones, text expansion, right-to-left layout, accessibility, production translation delivery, and crawlable language URLs for SEO. Each check needs an explicit pass condition.
- [Transifex alternatives: General Translation vs. Transifex](https://generaltranslation.com/en-GB/kb/general-translation-vs-transifex.mdx): Choose General Translation to translate marked JSX with its structure and developer context, then bundle the results or serve them from its CDN. Transifex Native also keeps strings in code, but publishes them through its content delivery service. Transifex is a strong fit for teams using its translation partners, quality scores or snippet-based website translation.
- [Smartling alternatives: General Translation vs. Smartling](https://generaltranslation.com/en-GB/kb/general-translation-vs-smartling.mdx): Choose General Translation when you want app translations generated from code as part of your release. Smartling combines a translation management system, AI and human services, and a website translation proxy. General Translation keeps copy in your components, carries its context into translation, and gives your team a Dashboard for review.
- [Should you build your own i18n or use General Translation?](https://generaltranslation.com/en-GB/kb/general-translation-vs-in-house-i18n.mdx): Hand-rolled i18n (a dictionary per language and a small t() helper) is fine for one or two languages and a little copy. As an app grows, you rebuild plural rules, fallbacks and file syncing, and you still need to produce translations. General Translation's open-source libraries handle rendering, and General Translation generates and updates translations from your code.
- [react-intl alternatives: General Translation vs. react-intl](https://generaltranslation.com/en-GB/kb/general-translation-vs-react-intl.mdx): General Translation lets React teams keep ICU message syntax while adding translation generation, shared terminology, and Dashboard review. react-intl supplies formatting and FormatJS catalogue tooling; General Translation produces the translations too.
- [Phrase alternatives: General Translation vs. Phrase](https://generaltranslation.com/en-GB/kb/general-translation-vs-phrase.mdx): General Translation is a strong Phrase Strings alternative when your app and documentation ship together. It generates translations from code and content files, applies shared terminology, and runs in your release workflow. Phrase combines software localisation with a document-focused TMS, vendor management, and a broad choice of translation engines.
- [next-intl alternatives: gt-next vs. next-intl](https://generaltranslation.com/en-GB/kb/next-intl-vs-gt-next.mdx): next-intl renders translations you supply in a message catalogue for each language. gt-next renders translations too, and General Translation also generates them from copy written inline in your JSX. Both are MIT-licensed and support the App Router and Server Components. If your next-intl catalogues already work, you can keep them and use General Translation to translate them without migrating.
- [Lokalise alternatives: General Translation vs. Lokalise](https://generaltranslation.com/en-GB/kb/general-translation-vs-lokalise.mdx): General Translation is a strong Lokalise alternative for teams that want readable copy in JSX and translation built into development. Lokalise is built around shared keys, design-tool integrations and mobile over-the-air delivery. General Translation generates translations from the app's marked content and supports review in its Dashboard or in GitHub pull requests.
- [i18next alternatives: General Translation vs. i18next](https://generaltranslation.com/en-GB/kb/general-translation-vs-i18next.mdx): Choose General Translation to keep copy inline in React components and generate translations with its JSX structure and product context. You can also keep i18next and use General Translation to translate existing catalogues. i18next supplies message rendering and plural selection; translation generation comes from a separate service.
- [Google Translate alternatives: General Translation vs. Google Translate](https://generaltranslation.com/en-GB/kb/general-translation-vs-google-translate.mdx): Google Translate is a quick way to translate one-off text, but shipping a product in another language also needs each string translated in context, consistent terms, correct variables and plurals, review, and a release process. General Translation understands each string's context in your code and automates the whole localisation workflow, from code to review to every release.
- [General Translation vs. Weblate: which should you use?](https://generaltranslation.com/en-GB/kb/general-translation-vs-weblate.mdx): Weblate is a self-hostable, Git-based localisation platform built for translating repository files with a community or team. General Translation integrates translation generation into development and releases, using marked JSX and shared product context. Keep your gettext files or adopt inline authoring to remove source-catalogue maintenance too.
- [General Translation vs. vue-i18n: which should you use?](https://generaltranslation.com/en-GB/kb/general-translation-vs-vue-i18n.mdx): General Translation lets Vue teams write source copy directly in templates and generate translations with the CLI. Its gt-vue plugin renders that content with locale-aware plural and number formatting. Choose it to remove keyed source-file maintenance; vue-i18n remains a good fit for teams using Nuxt's i18n module and an established catalogue workflow.
- [General Translation vs. Tolgee: which should you use?](https://generaltranslation.com/en-GB/kb/general-translation-vs-tolgee.mdx): Tolgee combines keyed messages, in-context editing and AI translation in a self-hostable platform. General Translation keeps readable copy directly in your components and generates translations from the marked JSX, so you can ship new copy in every language without maintaining message keys.
- [General Translation vs. Symfony Translation: which should you use?](https://generaltranslation.com/en-GB/kb/general-translation-vs-symfony-translation.mdx): Symfony Translation renders messages in PHP and Twig. General Translation translates its YAML catalogues in CI, keeps them up to date as your source changes, and gives reviewers a Dashboard to edit them. Keep Symfony's rendering and add automated translation to your release workflow.
- [General Translation vs. Rails I18n: do you need both?](https://generaltranslation.com/en-GB/kb/general-translation-vs-rails-i18n.mdx): Rails I18n looks up messages and formats dates and numbers. General Translation produces the translations, keeps them up to date as your English changes, and gives your team a Dashboard for review. Use both to ship translated Rails catalogues with each release.
- [General Translation vs. Paraglide JS: which should you use?](https://generaltranslation.com/en-GB/kb/general-translation-vs-paraglide.mdx): Choose General Translation to keep copy inline and generate translations with the structure of your React components, shared terminology, and Dashboard review. Choose Paraglide JS for compiled, typed message functions and per-message tree-shaking. Paraglide renders your catalogues; General Translation connects source copy to translation generation and ongoing updates.
- [General Translation vs. nestjs-i18n: which should you use?](https://generaltranslation.com/en-GB/kb/general-translation-vs-nestjs-i18n.mdx): nestjs-i18n resolves each request's language in a NestJS app and renders messages from per-language JSON or YAML catalogues, but it doesn't translate anything. General Translation's CLI translates those catalogues, and its gt-node library translates content that only exists at run time, so you can keep nestjs-i18n and add General Translation.
- [General Translation vs. Mobility: which should you use?](https://generaltranslation.com/en-GB/kb/general-translation-vs-mobility.mdx): Mobility stores translated model attributes in your database. General Translation produces those translations through its API, using your Glossary and Custom Prompts. Use both to translate product listings, posts and other database content while keeping your Rails models.

## Categories

- Internationalisation (18 articles): Setting up i18n in a codebase: libraries, frameworks, and components.
- Locale Formatting (1 article): Plurals, dates, numbers, currencies, and right-to-left text in every locale.
- Translation (1 article): Machine and AI translation, quality, context, and glossaries.
- Multilingual SEO (1 article): Locale routing, hreflang, sitemaps, and translated metadata for multilingual sites.
- Workflow Tools (13 articles): Choosing localisation tools and keeping translations in sync with continuous localisation.

## Index

- [Knowledge Base sitemap](https://generaltranslation.com/en-GB/kb/sitemap.md): Every Knowledge Base article with its summary.
