# WebTranslateIt > WebTranslateIt is a translation management platform. Teams upload their language > files, translate and proofread segments in a browser, and sync the results back > with a CLI, a GitHub Action or the HTTP API. The HTTP API is stable and authenticated by a project or organization API token passed in the URL path. Every endpoint is documented with a runnable curl example, and the highest-traffic endpoints also carry JavaScript, Python, Ruby and PHP examples. The Learn section is product-independent reference material on internationalization itself — locale codes, plural rules, placeholder syntaxes, file formats and framework setup — rather than instructions for using WebTranslateIt. ## Management - [Language](https://webtranslateit.com/docs/locale): How locale codes work: BCP 47 / RFC 3066 language tags, hyphen vs underscore, custom locales, language inheritance and CLDR plural rules. - [File Manager](https://webtranslateit.com/docs/file_manager): Manage the master and target language files of your project: upload, organise, download and delete them, or sync them from the command line with wti. - [Visual Context](https://webtranslateit.com/docs/visual_context): Upload screenshots of your app and annotate them to link areas of the interface to segments, so translators can see where each string appears. - [Segment Lifecycle](https://webtranslateit.com/docs/segment_lifecycle): How translation segments are created, updated, become obsolete and get deleted when you upload a new version of a language file. - [Recovery](https://webtranslateit.com/docs/recovery): Deleted files, languages, segments and discussions are moved to your project’s trash instead of being destroyed. Restore them, or empty the trash, from the Recovery tab. - [Batch Operations](https://webtranslateit.com/docs/batch_operations): Find, replace, re-status or delete hundreds of translation segments at once with batch operations, instead of editing them one by one. - [Reporting](https://webtranslateit.com/docs/reporting): Detailed statistics of the translation work over a period of time — words translated per translator, language and project — to help manage billing. - [Teams](https://webtranslateit.com/docs/teams): Group translators and managers into teams, assign a team to several projects at once, and control who can work on which language. - [Roles](https://webtranslateit.com/docs/roles): The organization, project and team roles in WebTranslateIt, and exactly which permissions each one grants to a user. - [E-mail Notifications](https://webtranslateit.com/docs/notifications): Configure hourly or daily e-mail digests telling your translators and managers about new segments to translate, proofread or verify. - [Auto-Translate](https://webtranslateit.com/docs/auto_translate): Auto-Translate fills new segments with translations already validated elsewhere in your organization, so you never translate the same string twice. - [Workflow](https://webtranslateit.com/docs/workflow_automation): How internationalization (i18n) and localization (l10n) fit together, and how to run continuous localization with feature branches and automated syncing. - [Supported File Formats](https://webtranslateit.com/docs/file_formats): Every language file format WebTranslateIt supports — YAML, JSON, .strings, XLIFF, Gettext PO, Android XML, subtitles and more — with a guide for each. - [Supported Platforms](https://webtranslateit.com/docs/platforms): How to internationalize an app in any language or framework — Rails, React, Django, Laravel, Flutter, Android, iOS and 40 more — and which format to use. ## Translation - [Overview](https://webtranslateit.com/docs/translation_interface): A tour of the WebTranslateIt translation editor: searching, filtering by status or language, sorting by context and switching between locales. - [Segments](https://webtranslateit.com/docs/translation_interface/string): What a segment is, its anatomy in the translation editor, how plural segments work and how character limits are enforced. - [How to Translate](https://webtranslateit.com/docs/translation_interface/how_to_translate): Translate your first strings on WebTranslateIt: editor basics, instructions, the character counter, autosave and keyboard shortcuts. - [Translation Memory](https://webtranslateit.com/docs/translation_interface/translation_memory): How the project and global translation memory suggest translations you have already made, and how to import an existing TMX translation memory. - [Concordance Search](https://webtranslateit.com/docs/translation_interface/concordance_search): Search your existing translations from the translation toolbar to see how a word or phrase has already been translated, and keep your wording consistent. - [Dictionary Lookup](https://webtranslateit.com/docs/translation_interface/dictionary): Look up the definition, part of speech, synonyms, examples and translations of a word from the translation toolbar, without leaving the translation interface. - [Machine Translation](https://webtranslateit.com/docs/translation_interface/machine_translation): Set up Google Translate, Microsoft Translator, Gemini and Mistral on your project, see how suggestions are ranked, and use AI to rewrite text. - [Term Base](https://webtranslateit.com/docs/translation_interface/term_base): Keep product names and key terminology consistent by building a term base (translation glossary) and sharing it across your projects. - [Advanced Search](https://webtranslateit.com/docs/translation_interface/advanced_search): Search by key, source or target text, use regular expressions and case-sensitive search, plus tricks to find the segments you need fast. - [Validations](https://webtranslateit.com/docs/translation_interface/validations): Automatic checks that catch broken placeholders, missing punctuation and markup errors, with highlighted errors, AutoCorrect and per-check toggles. - [Word & Character Count](https://webtranslateit.com/docs/translation_interface/word_character_count): How WebTranslateIt counts words and characters: Unicode-aware, and dictionary-based for languages without spaces such as Chinese, Japanese and Thai. ## Integration - [Synchronization Tool](https://webtranslateit.com/docs/web_translate_it_client): The wti command-line tool synchronizes your project’s language files with WebTranslateIt. The most used commands are `wti push` and `wti pull`. - [Webhooks](https://webtranslateit.com/docs/webhooks): Fire an HTTP callback whenever a translation changes, so you can rebuild, redeploy or notify your team automatically. - [File Converter](https://webtranslateit.com/docs/converter): Convert a language file from one format to another — Apple .strings to Android .xml, .po to .json, .resx to .yml — from the browser or over HTTP. ## API - [Overview](https://webtranslateit.com/docs/api): The WebTranslateIt REST API: schema, authentication, rate limiting, CORS and every endpoint for projects, files, segments and translations. - [Organization API](https://webtranslateit.com/docs/api/organization): Fetch an organization, its projects and its members with the WebTranslateIt Organization API. - [Collaboration API](https://webtranslateit.com/docs/api/collaboration): Remove a user from a project by deleting a collaboration with the WebTranslateIt Collaboration API, with curl, JavaScript, Python, Ruby and PHP examples. - [Project API](https://webtranslateit.com/docs/api/project): Show and create translation projects with the WebTranslateIt Project API, with curl, JavaScript, Python, Ruby and PHP examples. - [User API](https://webtranslateit.com/docs/api/user): List and create users, approve or remove invitations and update memberships with the WebTranslateIt User API. - [File API](https://webtranslateit.com/docs/api/file): Create, show, update, delete and zip language files with the WebTranslateIt File API, with curl, JavaScript, Python, Ruby and PHP examples. - [Stats API](https://webtranslateit.com/docs/api/stats): Fetch translation statistics, progress charts and top translators for a project with the WebTranslateIt Stats API. - [Locale API](https://webtranslateit.com/docs/api/locale): Add and delete target locales on a project with the WebTranslateIt Locale API, with curl, JavaScript, Python, Ruby and PHP examples. - [String API](https://webtranslateit.com/docs/api/string): List, show, create, update and delete segments with the WebTranslateIt String API, including pagination and filtering. - [Translation API](https://webtranslateit.com/docs/api/translation): Show and create the translations of a segment with the WebTranslateIt Translation API, with curl, JavaScript, Python, Ruby and PHP examples. - [TermBase API](https://webtranslateit.com/docs/api/term_base): List, create, update and delete glossary terms, and export a TermBase to TBX or CSV, with the WebTranslateIt TermBase API. - [TermBase Translation API](https://webtranslateit.com/docs/api/term_base_translation): List, create and update the translations of glossary terms with the WebTranslateIt TermBase Translation API. - [Discussion API](https://webtranslateit.com/docs/api/discussion): List, delete, lock and unlock the discussions attached to translation segments with the WebTranslateIt Discussion API. - [Team API](https://webtranslateit.com/docs/api/team): Fetch a team and its members with the WebTranslateIt Team API, with curl, JavaScript, Python, Ruby and PHP examples. - [Team Member API](https://webtranslateit.com/docs/api/team_member): List, add, update and remove team members and pending invitations with the WebTranslateIt Team Member API. ## Account - [Organization & Billing](https://webtranslateit.com/docs/organization): Manage your organization: billing details, plan and subscription, invoices, payment method, collaborators, organization API keys, and closing your account. - [Machine Translation Usage](https://webtranslateit.com/docs/machine_translation_usage): See how many characters you have machine-translated, per engine and per month, what your plan’s quota is, and how usage beyond the quota is billed. ## Learn: Foundations - [i18n vs l10n: what's the difference?](https://webtranslateit.com/learn/foundations/i18n-vs-l10n): Internationalization is the engineering work that makes translation possible. Localization is the translation itself. Here is where the line falls and why it matters. - [What is a Translation Management System?](https://webtranslateit.com/learn/foundations/translation-management-system): What a TMS actually does, the problems it solves that a spreadsheet cannot, and how to tell whether your team has outgrown passing files around by email. - [What is Translation Memory and how does it work?](https://webtranslateit.com/learn/foundations/what-is-translation-memory): How translation memory stores and reuses past translations, what fuzzy match percentages actually mean, and why placeholder syntax quietly destroys match rates. - [What is a locale? Language tags explained (BCP 47)](https://webtranslateit.com/learn/foundations/what-is-a-locale): A locale is more than a language. Here is what it controls — dates, numbers, currency, sorting, plurals — and how BCP 47 language tags are built and matched. - [Machine translation vs human translation](https://webtranslateit.com/learn/foundations/machine-translation-vs-human-translation): Where machine translation is genuinely good enough, where it is not, and how to decide per content type instead of arguing about it in the abstract. - [What is a term base (translation glossary)?](https://webtranslateit.com/learn/foundations/what-is-a-term-base): How a term base keeps product names and key terminology consistent across languages, what belongs in one, and why it is not the same thing as translation memory. - [What is pseudo-localization?](https://webtranslateit.com/learn/foundations/pseudo-localization): Pseudo-localization finds hard-coded strings and layouts that break under text expansion before you pay a translator. Here is how to generate and read it. - [Continuous localization explained](https://webtranslateit.com/learn/foundations/continuous-localization): How to run translation as a continuous process alongside development, what to do about feature branches, and when agile localization is the better fit. ## Learn: Locales & plurals - [en-GB vs en_GB: hyphen or underscore in locale codes?](https://webtranslateit.com/learn/locales/hyphen-vs-underscore-in-locale-codes): The standard says hyphen, half your toolchain says underscore. Here is which format each ecosystem expects, why the split exists, and how to convert between them safely. - [Plural rules by language: the complete CLDR guide](https://webtranslateit.com/learn/locales/plural-rules-by-language): A reference table of CLDR plural categories for 163 languages, plus why one does not mean 1 and how each i18n framework expects you to spell the rules. - [ICU MessageFormat: a practical guide](https://webtranslateit.com/learn/locales/icu-messageformat-guide): The syntax for plurals, gender selection, number and date formatting in one message string — with the escaping rules and the mistakes translators reliably make. ## Learn: File formats & placeholders - [Placeholder formats cheat sheet: %s, %@, %{name}, {{name}}, {0}](https://webtranslateit.com/learn/formats/string-placeholder-formats): Every string placeholder syntax you will meet, which language or framework uses it, and what breaks when a translator retypes one by hand. - [SRT vs VTT: which subtitle format should you use?](https://webtranslateit.com/learn/formats/srt-vs-vtt): The differences between SubRip and WebVTT that actually matter, how to convert between them, and which one to pick for the web, for broadcast and for translation. - [Subtitle file formats compared: SRT, VTT, TTML, ASS, SAMI and more](https://webtranslateit.com/learn/formats/subtitle-file-formats): Eight subtitle formats side by side — what each one looks like, what it can express, where it is used, and which to choose for web, broadcast, anime or archive. ## Learn: Framework guides - [Rails i18n: the complete guide](https://webtranslateit.com/learn/frameworks/rails-i18n): Setting up Rails internationalization properly: locale files, interpolation, pluralization, lazy lookup, fallbacks, and syncing translations from CI. - [React i18next: setup and workflow](https://webtranslateit.com/learn/frameworks/react-i18next-tutorial): Setting up i18next in a React app: namespaces, plurals, interpolation, Trans for embedded markup, lazy loading, and keeping translation files in sync. - [Vue i18n guide](https://webtranslateit.com/learn/frameworks/vue-i18n): Setting up vue-i18n in a Vue 3 app: Composition API usage, pluralization, named interpolation, lazy-loaded locales and the legacy-mode migration trap. - [Django translation guide](https://webtranslateit.com/learn/frameworks/django-i18n): Django internationalization end to end: gettext markers, lazy translation, plurals, template tags, locale middleware and the makemessages workflow. - [Laravel localization guide](https://webtranslateit.com/learn/frameworks/laravel-localization): Laravel translation files, the two lookup styles, pluralization with trans_choice, locale middleware, and syncing PHP and JSON language files from CI. - [Flutter internationalization](https://webtranslateit.com/learn/frameworks/flutter-i18n): Flutter i18n with ARB files and gen_l10n: setup, ICU plurals and select, placeholders with formatting, locale resolution and keeping ARB files in sync. - [Next.js internationalization](https://webtranslateit.com/learn/frameworks/nextjs-i18n): Internationalizing a Next.js App Router app: routing by locale segment, server and client translation, metadata, hreflang and keeping message files in sync. ## Learn: Workflow & team - [Localization QA: the validations that catch broken strings](https://webtranslateit.com/learn/workflow/localization-qa): The mechanical checks that catch broken translations before release — placeholders, plurals, HTML, character limits — and why review alone never finds them. - [Why screenshots matter: visual context for translators](https://webtranslateit.com/learn/workflow/translation-context-screenshots): A translator working from a string list is guessing. What context actually resolves ambiguity, and how to supply it without it becoming a full-time job. - [How to work with freelance translators](https://webtranslateit.com/learn/workflow/how-to-manage-translators): Finding, briefing and keeping good translators: what to pay for, which access to grant, and the setup problems that get blamed on translator quality. - [Git-based localization workflows](https://webtranslateit.com/learn/workflow/git-localization-workflow): How to keep language files in Git without merge conflicts or overwritten translations: branch strategy, CI sync, and what to review in a translation pull request. ## Learn: Comparisons - [WebTranslateIt vs Crowdin](https://webtranslateit.com/learn/compare/webtranslateit-vs-crowdin): Crowdin bills words × target languages; we bill source segments. Below three languages they win. Above ten, the same content costs less than half here. - [WebTranslateIt vs Transifex](https://webtranslateit.com/learn/compare/webtranslateit-vs-transifex): Transifex meters hosted words and no longer publishes its prices; we meter source segments and do. Where each one wins, and how to compare them honestly. - [WebTranslateIt vs Phrase](https://webtranslateit.com/learn/compare/webtranslateit-vs-phrase): Phrase is the enterprise-scale option with seat-based pricing. Where that is worth paying for, and where a simpler segment-priced tool fits better. - [WebTranslateIt vs Lokalise](https://webtranslateit.com/learn/compare/webtranslateit-vs-lokalise): Lokalise is polished, design-integrated, and meters advanced seats and processed words. Where that earns its cost, and where a segment-priced EU tool fits better. - [WebTranslateIt vs POEditor](https://webtranslateit.com/learn/compare/webtranslateit-vs-poeditor): POEditor counts terms plus translations, so target languages multiply the bill. They win at one language and on entry price; past two, segment pricing wins. - [WebTranslateIt vs Tolgee](https://webtranslateit.com/learn/compare/webtranslateit-vs-tolgee): Tolgee counts keys once per language, as we do, so the axis is seats rather than languages. Below roughly five seats they win; above it, we do. - [WebTranslateIt vs Localazy](https://webtranslateit.com/learn/compare/webtranslateit-vs-localazy): Localazy counts source keys once per language, as we do, and includes unlimited seats. This is the closest comparison in the category, and they win more of it. - [Best translation management systems in 2026](https://webtranslateit.com/learn/compare/best-translation-management-software): A buyer's guide to the main TMS platforms: how their pricing models differ, which shape of team each suits, and the questions that actually decide it. - [Why does translation software charge per word?](https://webtranslateit.com/learn/compare/why-translation-software-charges-per-word): Per-word pricing is inherited from the human translation trade, not designed for software strings. When it works, when it does not, and how to tell which you are.