# General Translation Knowledge Base: General Translation vs. Phrase: which should you use?
URL: https://generaltranslation.com/en-US/kb/general-translation-vs-phrase.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 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 localization with a document-focused TMS, vendor management, and a broad choice of translation engines.
Category: Workflow Tools
Last updated: 2026-10-16
Authors: Kevin Wu, Jackie Chen
Published: 2026-10-16

Phrase calls itself a [Language Intelligence Platform](https://phrase.com/). For software teams it offers Phrase Strings, which stores keys and syncs them with your repository, and Phrase TMS ([formerly Memsource](https://phrase.com/memsource/)), a translation management system (TMS) and CAT (computer-assisted translation) tool for documents, vendors, and large translation programs. Language AI connects both to machine translation and LLM engines. General Translation puts app copy and documentation into the release workflow, with translation generated from source files and shared terminology across projects.

## What Phrase does well

- **Two tools in one platform.** [Phrase Strings](https://phrase.com/platform/strings/) for developers' keys and Phrase TMS for documents, vendor management, and CAT-based translation.
- **Language AI.** [30+ machine translation and LLM engines](https://phrase.com/platform/ai/) with automatic engine selection, Next GenMT that uses translation memory matches, and quality evaluation that flags the lowest-scoring segments for review.
- **Repository automation.** [Repo Sync for GitHub](https://support.phrase.com/hc/en-us/articles/5784125562012-GitHub-Strings), GitLab, and Bitbucket imports files from a monitored branch and exports translations as a pull request, and a GitHub Action runs the CLI in CI.
- **Mobile and web over-the-air updates.** [SDKs for iOS, Android, React Native, Flutter, i18next, and Rails](https://support.phrase.com/hc/en-us/articles/5804059067804-Over-the-Air-Strings) fetch new translations without a release, falling back to the last cached or bundled files.
- **Context for translators.** [Screenshots whose text is matched to keys](https://support.phrase.com/hc/en-us/articles/5822309698204-Screenshot-Management-Strings), key descriptions and character limits, and a Figma plugin.
- **Human translation.** Order from Gengo or TextMaster inside Phrase Strings; Phrase says [most translations are delivered within 24 hours](https://support.phrase.com/hc/en-us/articles/5821933165596-Ordering-Professional-Translations-Strings).
- **Hosting choice.** [Data hosted in the EU or the US](https://support.phrase.com/hc/en-us/articles/5748008399388-Data-Centers).

## What Phrase still leaves to your engineers

Phrase Strings connects software projects through a resource-file workflow:

1. Set up an i18n library and write or extract the resource files it loads.
2. Describe your files in `.phrase.yml` and send them with [`phrase push`](https://developers.phrase.com/en/developer-tools/strings-cli), or let Repo Sync import them from the monitored branch.
3. Translate the target languages with AI or translator workflows.
4. Bring the translations back with `phrase pull` or a Repo Sync export, which opens a pull request.

Repo Sync and CI can automate the file exchange. Your team still maintains the app's key structure and the mapping between code, resource files, and Phrase projects. Translators work with the key descriptions and screenshots attached to that content.

[Phrase subscriptions](https://phrase.com/pricing/) include Strings seats, managed-word capacity, and translation usage. Additional capacity can be purchased. The published software plan includes unlimited languages.

## Phrase vs. General Translation at a glance

| Feature | Phrase | General Translation |
| --- | --- | --- |
| Where strings live | Keys in Phrase Strings, synced with your resource files | In your code inside [`<T>`](/docs/react/reference/components/t), or in the resource files you already have |
| How code connects | `phrase` CLI, Repo Sync, or a GitHub Action | [`npx gt translate`](/docs/cli/reference/commands/translate) in your build, or [Locadex](/docs/platform/locadex/quickstart) pull requests |
| Who translates | Language AI engines, or vendors such as Gengo and TextMaster | AI with context from your code, Glossary, and Custom Prompts, reviewed by your team in the Dashboard |
| Context for each string | Translation memory, term base, style guide, key descriptions, and screenshots | Marked JSX structure and context notes, with shared Glossary and Custom Prompts across projects |
| Pricing | Subscriptions with Strings seats, managed words, and translation capacity | [Usage-based](https://generaltranslation.com/pricing) |
| Native mobile apps | Over-the-air SDKs for iOS, Android, React Native, and Flutter | Translates iOS and Android resource files; React Native uses `gt-react-native` |

## Why teams choose General Translation over Phrase

General Translation brings software copy and the documentation explaining it into the same translation workflow. Keep app text inside [`<T>`](/docs/react/reference/components/t), translate Markdown or MDX alongside it, and apply the same product terminology to both.

- **Faster.** Run [`npx gt translate`](/docs/cli/reference/commands/translate) in CI for the source files changed by a release. General Translation supports [Markdown and MDX](/docs/cli/reference/formats/mdx-md-files) as well as app content, so the new feature and its help page can be translated in the same release process. [Locadex](/docs/platform/locadex/quickstart) can handle ongoing updates through pull requests.
- **Cheaper to run.** General Translation reuses unchanged translations on later builds. You pay for translation work, and completed translations remain usable without buying managed-word capacity for the stored copy. Compare [General Translation's usage rates](https://generaltranslation.com/pricing) with the Strings capacity included in your Phrase subscription.
- **Higher quality.** Assign the same [Context Group](/docs/platform/dashboard/guides/defining-context-for-translations) to app and documentation projects. The same product definitions and tone instructions then guide both: a feature named in an onboarding screen uses the terminology defined for its help article. Marked JSX also carries message structure and variable placeholders, and reviewers can [edit translations in the Dashboard](/docs/platform/dashboard/guides/reviewing-translations).
- **Lower risk.** Start with one application's existing catalogs and keep its i18n library. Import reviewed translations before generating new ones, then expand to other projects when you're ready. Adopting General Translation for software localization doesn't require moving a separate document or vendor program at the same time.

Profound translates its platform and docs into 47+ locales with General Translation. (See [production deployments](https://generaltranslation.com/enterprise).)

## When Phrase is the better fit

Choose Phrase when one platform must serve both software strings and a document-heavy translation program run in a CAT tool with vendors, when you want to route translation across many machine translation and LLM engines, when native and React Native apps need over-the-air updates, when you exchange [XLIFF or Office files](https://phrase.com/platform/tms/) with vendors, or when you need a choice of EU or US hosting.

## Moving from Phrase to General Translation

Run `phrase pull` to download your current translations. For [supported formats](/docs/cli/reference/config#files), point `gt.config.json` at those source and target files, then run [`npx gt upload`](/docs/cli/reference/commands/upload) before generating with [`npx gt translate`](/docs/cli/reference/commands/translate). This keeps your reviewed translations and current application keys as the starting point.

Bring your terminology into a [Context Group](/docs/platform/dashboard/guides/defining-context-for-translations) and assign it to the app and documentation projects. Moving generation to General Translation and adopting inline JSX are separate choices; you can keep your current library. See [Why use General Translation instead of a TMS?](/kb/general-translation-vs-tms) for the broader platform comparison.

## Is General Translation an alternative to Phrase?

Yes, for software teams that want app and documentation translations in their build workflow. General Translation supports existing catalogs and inline JSX, shared terminology, and Dashboard review. Phrase TMS is a strong fit for document-heavy translation programs run in a CAT tool with vendors.

## Key takeaways

- Phrase is a strong choice when software strings and a large, document-heavy translation program share one platform, with broad engine choice and over-the-air SDKs.
- Phrase Strings automates resource-file exchange; its subscriptions include Strings seats and managed-word capacity.
- General Translation connects app and documentation releases with shared terminology, incremental translation, and review, while letting you keep your existing catalogs.

## Related questions

- [Why use General Translation instead of a TMS (Smartling, Lokalise, Phrase, Crowdin, or Transifex)?](https://generaltranslation.com/en-US/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.
- [General Translation vs. Crowdin: which should you use?](https://generaltranslation.com/en-US/kb/general-translation-vs-crowdin.mdx): Choose General Translation to keep copy in your components and generate translations with your build. Crowdin manages translation projects around resource files, translators, and review workflows, which engineers connect to the app and maintain as the product changes. Crowdin remains a strong fit for open-source community translation and vendor-led programs.
- [General Translation vs. Lokalise: which should you use?](https://generaltranslation.com/en-US/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.
- [General Translation vs. Smartling: which should you use?](https://generaltranslation.com/en-US/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.
- [General Translation vs. Transifex: which should you use?](https://generaltranslation.com/en-US/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.

## Previous and next questions

- Previous question: [General Translation vs. Paraglide JS: which should you use?](https://generaltranslation.com/en-US/kb/general-translation-vs-paraglide.mdx)
- Next question: [General Translation vs. Rails I18n: do you need both?](https://generaltranslation.com/en-US/kb/general-translation-vs-rails-i18n.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/kb/sitemap.md) for every article.
