Uppy is an open source project by Transloadit

Locale Packs

Uppy speaks multiple languages, English being the default. You can use a locale pack to translate Uppy into your language of choice.

List of our locale packs

Using a locale pack from npm

This is the recommded way. Install @uppy/locales package from npm, then choose the locale you’d like to use: @uppy/locales/lib/LANGUAGE_CODE.

npm i @uppy/core @uppy/locales
const Uppy = require('@uppy/core')
const German = require('@uppy/locales/lib/de_DE') // see below for the full list of locales
const uppy = Uppy({
  debug: true,
  locale: German
})

Using a locale pack from CDN

Add a <script> tag with Uppy bundle and the locale pack you’d like to use. You can copy/paste the link from the CDN column in the locales table. The locale will attach itself to the Uppy.locales object.

<script src="https://transloadit.edgly.net/releases/uppy/v1.3.0/uppy.min.js"></script>
<script src="https://transloadit.edgly.net/releases/uppy/locales/v1.5.0/de_DE.min.js"></script>

<script>
var uppy = Uppy.Core({
  debug: true,
  locale: Uppy.locales.de_DE
})
</script>

Overriding locale strings for a specific plugin

Many plugins come with their own locale strings, and the packs we provide consist of most of those strings. You can, however, override a locale string for a specific plugin, regardless of whether you are using locale pack or not. See the plugin documentation for the list of locale strings it uses (for example, here’s Dashboard).

const Uppy = require('@uppy/core')
const DragDrop = require('@uppy/drag-drop')
const Russian = require('@uppy/locales/lib/ru_RU')
const uppy = Uppy({
  debug: true,
  autoProceed: true,
  locale: Russian
})
uppy.use(DragDrop, {
  target: '.UppyDragDrop',
  // We are using the ru_RU locale pack (set above in Uppy options),
  // but you can also override specific strings like so:
  locale: {
    strings: {
      browse: 'выберите ;-)'
    }
  }
})

List of locale packs

20 Locales NPM CDN Source on GitHub
Arabic
Saudi Arabia
@uppy/locales/lib/ar_SA ar_SA.min.js ✏️ ar_SA.js
Chinese
China
@uppy/locales/lib/zh_CN zh_CN.min.js ✏️ zh_CN.js
Chinese
Taiwan, Province of China
@uppy/locales/lib/zh_TW zh_TW.min.js ✏️ zh_TW.js
Dutch
Netherlands
@uppy/locales/lib/nl_NL nl_NL.min.js ✏️ nl_NL.js
English
United States
@uppy/locales/lib/en_US en_US.min.js ✏️ en_US.js
Finnish
Finland
@uppy/locales/lib/fi_FI fi_FI.min.js ✏️ fi_FI.js
French
France
@uppy/locales/lib/fr_FR fr_FR.min.js ✏️ fr_FR.js
German
Germany
@uppy/locales/lib/de_DE de_DE.min.js ✏️ de_DE.js
Hungarian
Hungary
@uppy/locales/lib/hu_HU hu_HU.min.js ✏️ hu_HU.js
Indonesian
Indonesia
@uppy/locales/lib/id_ID id_ID.min.js ✏️ id_ID.js
Italian
Italy
@uppy/locales/lib/it_IT it_IT.min.js ✏️ it_IT.js
Japanese
Japan
@uppy/locales/lib/ja_JP ja_JP.min.js ✏️ ja_JP.js
Persian
Iran, Islamic Republic of
@uppy/locales/lib/fa_IR fa_IR.min.js ✏️ fa_IR.js
Portuguese
Brazil
@uppy/locales/lib/pt_BR pt_BR.min.js ✏️ pt_BR.js
Russian
Russian Federation
@uppy/locales/lib/ru_RU ru_RU.min.js ✏️ ru_RU.js
Serbian
Serbia
(Latin)
@uppy/locales/lib/sr_RS_Latin sr_RS_Latin.min.js ✏️ sr_RS_Latin.js
Spanish
Greenland
@uppy/locales/lib/es_GL es_GL.min.js ✏️ es_GL.js
Spanish
Spain
@uppy/locales/lib/es_ES es_ES.min.js ✏️ es_ES.js
Swedish
Sweden
@uppy/locales/lib/sv_SE sv_SE.min.js ✏️ sv_SE.js
Turkish
Turkey
@uppy/locales/lib/tr_TR tr_TR.min.js ✏️ tr_TR.js

Contributing a new language

If you speak a language we don’t yet support, you can contribute! Here’s how you do it:

  1. Go to the uppy/locales directory in the Uppy GitHub repo.
  2. Go to en_US.js and copy its contents, as English is the most up-to-date locale.
  3. Press “Create new file”, name it according to the language_COUNTRY format, make sure to use underscore _ as a divider. Examples: en_US, en_GB, ru_RU, ar_AE. Variants should be trailing, e.g.: sr_RS_Latin for Serbian Latin vs Cyrillic.
  4. Paste what you’ve copied from en_US.js and use it as a starting point to translate strings into your language.
  5. When you are ready, save the file — this should create a PR that we’ll then review 🎉 Thanks!