- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
Translate Medusa Admin
The Medusa Admin supports multiple languages, with the default being English. In this documentation, you'll learn how to contribute to the community by translating the Medusa Admin to a language you're fluent in.
You can contribute either by translating the admin to a new language, or fixing translations for existing languages. As we can't validate every language's translations, some translations may be incorrect. Your contribution is welcome to fix any translation errors you find.
How to Contribute Translation#
- Clone the Medusa monorepository to your local machine:
If you already have it cloned, make sure to pull the latest changes from the develop
branch.
- Install the monorepository's dependencies. Since it's a Yarn workspace, it's highly recommended to use yarn:
- Create a branch that you'll use to open the pull request later:
Where <LANGUAGE>
is your language name. For example, feat/translate-da
.
-
Translation files are under
packages/admin/dashboard/src/i18n/translations
as JSON files whose names are the ISO-2 name of the language.- If you're adding a new language, copy the file
packages/admin/dashboard/src/i18n/translations/en.json
and paste it with the ISO-2 name for your language. For example, if you're adding Danish translations, copy theen.json
file and paste it aspackages/admin/dashboard/src/i18n/translations/de.json
. - If you're fixing a translation, find the JSON file of the language under
packages/admin/dashboard/src/i18n/translations
.
- If you're adding a new language, copy the file
-
Start translating the keys in the JSON file (or updating the targeted ones). All keys in the JSON file must be translated, and your PR tests will fail otherwise.
- You can check whether the JSON file is valid by running the following command in
packages/admin/dashboard
, replacingda.json
with the JSON file's name:
- You can check whether the JSON file is valid by running the following command in
- After finishing the translation, if you're adding a new language, import its JSON file in
packages/admin/dashboard/src/i18n/translations/index.ts
and add it to the exported object:
The language's key in the object is the ISO-2 name of the language.
- If you're adding a new language, add it to the file
packages/admin/dashboard/src/i18n/languages.ts
:
languages
is an array having the following properties:
code
: The ISO-2 name of the language. For example,da
for Danish.display_name
: The language's name to be displayed in the admin.ltr
: Whether the language supports a left-to-right layout. For example, set this tofalse
for languages like Arabic.date_locale
: An instance of the locale imported from the date-fns/locale package.
- Once you're done, push the changes into your branch and open a pull request on GitHub.
Our team will perform a general review on your PR and merge it if no issues are found. The translation will be available in the admin after the next release.