A curated list of i18n tools, i18n libraries, localization software, localization programs and translation management systems.
- ๐ฉโ๐ Acronyms and keywords
- ๐ต๏ธ SEO i18n
- ๐ Libraries
- โ๏ธ React localization
- ๐ฉโ๐ป Tools & Services
- ๐ Dates & Times
- ๐ Telephone
- ๐ Blog posts & articles
- ๐ฆฎ Guides
- ๐ญ Community Tips & tricks
- โ๏ธ Translation agencies
- ๐ฆพ Automated translations
- ๐ฟ Videos
- i18n - internationalization
- l10n - localization
- xl8 - group of translation management systems
- t9n - translation
- g11n - globalization
- m17n - multilingualization
- ICU - International Components for Unicode
- TMS - translation management system
- GMS - globalization translation system (same thing as TMS)
- translation key - element in source code which is used by i18n library to replace it with translation message
- translation - translated text or message
- ECMAScript Internationalization API documentation what standard
intl
object in JS can do. - Facebook FBT FBT is an internationalization framework for JavaScript designed to be not just powerful and flexible, but also simple and intuitive
- js-lingui A readable, automated, and optimized (5kb) internationalization
- Globalize library for i18n that leverages the official Unicode CLDR JSON data
- Intl.js implementation of the ECMAScript Internationalization API
- Jed Gettext Style i18n
- FormatJS internationalize your web apps on the client & server
- FormatJS CLI Extract messages from project with FormatJS library
- googlei18n/libphonenumber Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers
- International Telephone Input plugin for entering and validating international telephone numbers.
- lisan.js fast and small i18n library
- Polyglot.js Make your application speak multiple languages
- c-3po.js library for translations based on ES6 template literals
- i18n Ally - Extension for VSCode, all in one about i18n.
- Angular NGX Translate Angular translation library
- npm i18n - Lightweight simple translation module with dynamic json storage.
- vue i18n Vue I18n is internationalization plugin for Vue.js
- MDN i18n - Functions to internationalize your browser extension. You can use these APIs to get localized strings from locale files packaged with your extension.
- Quasar I18n - App internationalization (i18n) in Quasar framework.
- eo-locale Elegant lightweight library based on Internationalization API
- bloodyowl/react-translate Internationalization for react
- react-native-localize A toolbox for your React Native app localization
- FormatJS internationalize your web apps with react-intl library
- FormatJS CLI Extract messages from project with FormatJS library
- react-localization Simple module to localize the React interface using the same syntax used in the ReactNativeLocalization module.
- react-i18nify Simple i18n translation and localization components and helpers for React
- react-persian react-persian is a set of react components for Persian localization
- i18next i18next is a full-featured i18n javascript library for translating your web application
- react-i18next - internationalization framework for React / React Native which is based on i18next
- next-translate Easy i18n for Next.js +10
- react-translated A dead simple way to add complex translations in a React project
- React-intl hooks React-intl-hooks is a small and fast library that you can use to replace Format.js components.
- Thymeleaf - modern server-side Java template engine for both web and standalone environments.
- Spring Messages Spring Boot internationalization. LocaleResolver & LocaleChangeInterceptor example usage.
- Thymeleaf i18n docs using
th:texts
for translations - Spring Boot localization Baeldun post about using Spring Messages
- i18n in Spring Boot Stackoverflow thread
- jekyll-multiple-languages-plugin Jekyll Multiple Languages is an internationalization plugin for Jekyll.
- jekyll-i18n Jekyll i18n is a plugin that enables simplistic multi-language site designs using Jekyll. (not maintained)
- SwiftGoogleTranslate - A framework to use cloud translation API by Google in Swift.
- TwitterCLDR implementation of the ICU that uses the Common Locale Data Repository to format dates, plurals
- Ruby I18n - Rails internationalization (i18n) API.
- Python-i18n - Python internationalization (i18n) package.
- deep-translator - A flexible free and unlimited (depending on the translator used) library written in Python to translate between different languages in a simple way using multiple translators, it can also be used directly in the prompt.
- FormatJS CLI Extract messages from project with FormatJS library
- simplelocalize-cli Extract translation keys and messages from various different libraries
- LocaleApp - App localization and translation.
- Crowdin - Closed source cloud-based localization service
- GitLocalize - Localization platform that syncs with your GitHub repository (sold to alconst)
- Transifex - Web-based translation platform, globalization management system.
- Weblate - Platform for one of the most positive and empowering communities of libre software.
- Zanata - Web translation platform for translators and developers to manage localisations.
- Traduora - A platform for manage translations.
- GNU gettext tool for adding native language support to applications
- RTranslator - simultaneous translator app for Android based on Google's API.
- Crow Translate - A simple and lightweight desktop translator. Allows to translate and speak text using Google, Yandex and Bing translate API.
- Copy Translator - Cross-platform app that automatically translate texts when copied in the clipboard
- Electronjs i18n - Cross-platform i18n manager
- OmegaT - Free translation memory application that works on Windows, macOS and Linux
- Argos Translate - Open source offline translation app based on OpenNMT
- LibreTranslate - self-hosted web application to translate texts
- MomentJS JavaScript library for handling times and dates
- Luxon A powerful, modern, and friendly wrapper for Javascript dates and times
- Daylight saving time and time zone best practices
- date-fns Modern JavaScript date utility library
- Random Phone Number Generator Fake phone number generator
- googlei18n/libphonenumber Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers
- Stack Overflow Q&A-1 - Localization and internationalization, what's the difference?
- Top 12 libraries for React localization Blog post on dev.to about top 12 libraries for react localization
- Development/Production parity for Rails i18n - Blog post with a warning on using different I18n backends in development/production
- Angular and i18n - Angular i18n guide.
- Message extraction Extracting translation keys from project files. JavaScript, Android, iOS/macOS
- If you have tight layouts, my rough rule of thumb is to double the English text and make sure it fits. Then you will usually have enough space for translations.
- Russian and German tend to have the longest translations, and the longest words. Get familiar with the shy-hyphen ยญ character. You put it in the words html and it will only break the word/show the hyphen when necessary. Google โonline hyphenation toolโ so you know the appropriate places to break the word.
- you need to translate numbers with decimals because the period appears as a comma in some languages.
- same goes for percent signs. Sometimes the % shows before the number, and not after. There might be a space between the number and %. It might show as %-KAL in Hungarian.
- Greek question marks look like a semicolon, that one really threw me off when I first saw it.
- Gengo Translation is made by real people but you can make an order using API
- Google Translate
- Microsoft Translator
- DeepL
- Google Developers: Internationalization
- Common Language Data Repository The Unicode CLDR provides key building blocks for software to support the world's languages, with the largest and most extensive standard repository of locale data available.
- ICU: International Components for Unicode ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications.
- W3C i18n standards
Link: https://www.youtube.com/watch?v=0j74jcxSunY
Link: https://www.youtube.com/watch?v=-5wpm-gesOY
Contributions welcome! Read the contribution guidelines first.