Uppy is an open source project by Transloadit
New: Transloadit Community Plan — get free hosted Companion & tusd, unlimited uploading, and 5GB/month encoding traffic!

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 = new 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.19.2/uppy.min.js"></script>
<script src="https://transloadit.edgly.net/releases/uppy/locales/v1.16.3/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 how to use it with the Dashboard UI).

const Uppy = require('@uppy/core')
const DragDrop = require('@uppy/drag-drop')
const Russian = require('@uppy/locales/lib/ru_RU')
const uppy = new 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

34 Locales NPM CDN Source on GitHub
Arabic
Saudi Arabia
@uppy/locales/lib/ar_SA ar_SA.min.js ✏️ ar_SA.js
Bulgarian
Bulgaria
@uppy/locales/lib/bg_BG bg_BG.min.js ✏️ bg_BG.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
Croatian
Croatia
@uppy/locales/lib/hr_HR hr_HR.min.js ✏️ hr_HR.js
Czech
Czech Republic
@uppy/locales/lib/cs_CZ cs_CZ.min.js ✏️ cs_CZ.js
Danish
Denmark
@uppy/locales/lib/da_DK da_DK.min.js ✏️ da_DK.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
Galician
Spain
@uppy/locales/lib/gl_ES gl_ES.min.js ✏️ gl_ES.js
German
Germany
@uppy/locales/lib/de_DE de_DE.min.js ✏️ de_DE.js
Greek
Greece
@uppy/locales/lib/el_GR el_GR.min.js ✏️ el_GR.js
Hebrew
Israel
@uppy/locales/lib/he_IL he_IL.min.js ✏️ he_IL.js
Hungarian
Hungary
@uppy/locales/lib/hu_HU hu_HU.min.js ✏️ hu_HU.js
Icelandic
Iceland
@uppy/locales/lib/is_IS is_IS.min.js ✏️ is_IS.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
Korean
Korea, Republic of
@uppy/locales/lib/ko_KR ko_KR.min.js ✏️ ko_KR.js
Persian
Iran, Islamic Republic of
@uppy/locales/lib/fa_IR fa_IR.min.js ✏️ fa_IR.js
Polish
Poland
@uppy/locales/lib/pl_PL pl_PL.min.js ✏️ pl_PL.js
Portuguese
Brazil
@uppy/locales/lib/pt_BR pt_BR.min.js ✏️ pt_BR.js
Romanian
Romania
@uppy/locales/lib/ro_RO ro_RO.min.js ✏️ ro_RO.js
Russian
Russian Federation
@uppy/locales/lib/ru_RU ru_RU.min.js ✏️ ru_RU.js
Serbian
Serbia
(Cyrillic)
@uppy/locales/lib/sr_RS_Cyrillic sr_RS_Cyrillic.min.js ✏️ sr_RS_Cyrillic.js
Serbian
Serbia
(Latin)
@uppy/locales/lib/sr_RS_Latin sr_RS_Latin.min.js ✏️ sr_RS_Latin.js
Slovak
Slovakia
@uppy/locales/lib/sk_SK sk_SK.min.js ✏️ sk_SK.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
Thai
Thailand
@uppy/locales/lib/th_TH th_TH.min.js ✏️ th_TH.js
Turkish
Turkey
@uppy/locales/lib/tr_TR tr_TR.min.js ✏️ tr_TR.js
Vietnamese
Viet Nam
@uppy/locales/lib/vi_VN vi_VN.min.js ✏️ vi_VN.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. If your language has different pluralization rules than English, update the pluralize implementation. If you are unsure how to do this, please ask us for help in a GitHub issue.
  5. Paste what you’ve copied from en_US.js and use it as a starting point to translate strings into your language.
  6. When you are ready, save the file — this should create a PR that we’ll then review 🎉 Thanks!