The MetaMask browser extension supports new translations added in the form of new locales files added in app/_locales
.
- Each supported language is represented by a folder in
app/_locales
whose name is that language's subtag (example:app/_locales/es/
). (look up a language subtag using the r12a "Find" tool or this wikipedia list). - Inside that folder there should be a
messages.json
. - An easy way to start your translation is to first make a copy of
app/_locales/en/messages.json
(the english translation), and then translate themessage
key for each in-app message. - The
description
key is just to add context for what the translation is about, it does not need to be translated. - Add the language to the locales index
app/_locales/index.json
That's it! When MetaMask is loaded on a computer with that language set as the system language, they will see your translation instead of the default one.
To automatically see if you are missing any phrases to translate, we have a script you can run (if you know how to use the command line). The script is:
node development/verify-locale-strings.js $YOUR_LOCALE
Where $YOUR_LOCALE
is your locale string (example: es
), i.e. the name of your language folder.
To verify that your translation works in the app, you will need to build a local copy of MetaMask. You will need to change your browser language, your operating system language, and restart your browser (sorry it's so much work!).