type: docs order: 6 title: "Locale Packs" permalink: docs/locales/ category: "Docs"
Uppy speaks multiple languages, English being the default. You can use a locale pack to translate Uppy into your language of choice.
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
})
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://releases.transloadit.com/uppy/v1.25.1/uppy.min.js"></script>
<script src="https://releases.transloadit.com/uppy/locales/v1.17.1/de_DE.min.js"></script>
<script>
var uppy = Uppy.Core({
debug: true,
locale: Uppy.locales.de_DE
})
</script>
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: 'выберите ;-)'
}
}
})
If you speak a language we don’t yet support, you can contribute! Here’s how you do it:
en_US.js
and copy its contents, as English is the most up-to-date locale.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.pluralize
implementation. If you are unsure how to do this, please ask us for help in a GitHub issue.en_US.js
and use it as a starting point to translate strings into your language.