12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562 |
- ---
- sidebar_position: 10
- ---
- # Internationalisation
- Uppy speaks many languages, English being the default. You can use a locale pack
- to translate Uppy into your language of choice.
- :::tip
- Checkout
- [`@uppy/locales`](https://github.com/transloadit/uppy/tree/main/packages/%40uppy/locales)
- on GitHub to see the list of supported languages.
- :::
- ## Using a locale pack from npm
- This is the recommended way. Install `@uppy/locales` package from npm, then
- choose the locale you’d like to use: `@uppy/locales/lib/LANGUAGE_CODE`.
- ```bash
- npm i @uppy/core @uppy/locales
- ```
- ```js
- import Uppy from '@uppy/core';
- import German from '@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.
- ```html
- <script src="https://releases.transloadit.com/uppy/v3.17.0/uppy.min.js"></script>
- <script src="https://releases.transloadit.com/uppy/locales/v3.3.1/de_DE.min.js"></script>
- <script>
- var uppy = new Uppy.Uppy({
- 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.
- ```js
- import Uppy from '@uppy/core';
- import DragDrop from '@uppy/drag-drop';
- import Russian from '@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 locales
- <table>
- <thead>
- <tr>
- <th>38 Locales</th>
- <th>NPM</th>
- <th>CDN</th>
- <th>Source on GitHub</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>
- Arabic <small>Saudi Arabia</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/ar_SA
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/ar_SA.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>ar_SA.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/ar_SA.js"
- target="_blank"
- rel="noopener"
- >
- <code>ar_SA.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Bulgarian <small>Bulgaria</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/bg_BG
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/bg_BG.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>bg_BG.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/bg_BG.js"
- target="_blank"
- rel="noopener"
- >
- <code>bg_BG.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Chinese <small>China</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/zh_CN
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/zh_CN.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>zh_CN.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/zh_CN.js"
- target="_blank"
- rel="noopener"
- >
- <code>zh_CN.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Chinese <small>Taiwan</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/zh_TW
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/zh_TW.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>zh_TW.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/zh_TW.js"
- target="_blank"
- rel="noopener"
- >
- <code>zh_TW.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Croatian <small>Croatia</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/hr_HR
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/hr_HR.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>hr_HR.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/hr_HR.js"
- target="_blank"
- rel="noopener"
- >
- <code>hr_HR.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Czech <small>Czechia</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/cs_CZ
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/cs_CZ.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>cs_CZ.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/cs_CZ.js"
- target="_blank"
- rel="noopener"
- >
- <code>cs_CZ.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Danish <small>Denmark</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/da_DK
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/da_DK.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>da_DK.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/da_DK.js"
- target="_blank"
- rel="noopener"
- >
- <code>da_DK.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Dutch <small>Netherlands</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/nl_NL
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/nl_NL.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>nl_NL.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/nl_NL.js"
- target="_blank"
- rel="noopener"
- >
- <code>nl_NL.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- English <small>United States</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/en_US
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/en_US.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>en_US.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/en_US.js"
- target="_blank"
- rel="noopener"
- >
- <code>en_US.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Finnish <small>Finland</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/fi_FI
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/fi_FI.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>fi_FI.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/fi_FI.js"
- target="_blank"
- rel="noopener"
- >
- <code>fi_FI.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- French <small>France</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/fr_FR
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/fr_FR.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>fr_FR.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/fr_FR.js"
- target="_blank"
- rel="noopener"
- >
- <code>fr_FR.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Galician <small>Spain</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/gl_ES
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/gl_ES.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>gl_ES.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/gl_ES.js"
- target="_blank"
- rel="noopener"
- >
- <code>gl_ES.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- German <small>Germany</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/de_DE
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/de_DE.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>de_DE.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/de_DE.js"
- target="_blank"
- rel="noopener"
- >
- <code>de_DE.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Greek <small>Greece</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/el_GR
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/el_GR.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>el_GR.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/el_GR.js"
- target="_blank"
- rel="noopener"
- >
- <code>el_GR.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Hebrew <small>Israel</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/he_IL
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/he_IL.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>he_IL.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/he_IL.js"
- target="_blank"
- rel="noopener"
- >
- <code>he_IL.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Hindi <small>India</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/hi_IN
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/hi_IN.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>hi_IN.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/hi_IN.js"
- target="_blank"
- rel="noopener"
- >
- <code>hi_IN.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Hungarian <small>Hungary</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/hu_HU
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/hu_HU.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>hu_HU.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/hu_HU.js"
- target="_blank"
- rel="noopener"
- >
- <code>hu_HU.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Icelandic <small>Iceland</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/is_IS
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/is_IS.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>is_IS.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/is_IS.js"
- target="_blank"
- rel="noopener"
- >
- <code>is_IS.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Indonesian <small>Indonesia</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/id_ID
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/id_ID.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>id_ID.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/id_ID.js"
- target="_blank"
- rel="noopener"
- >
- <code>id_ID.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Italian <small>Italy</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/it_IT
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/it_IT.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>it_IT.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/it_IT.js"
- target="_blank"
- rel="noopener"
- >
- <code>it_IT.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Japanese <small>Japan</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/ja_JP
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/ja_JP.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>ja_JP.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/ja_JP.js"
- target="_blank"
- rel="noopener"
- >
- <code>ja_JP.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Korean <small>South Korea</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/ko_KR
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/ko_KR.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>ko_KR.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/ko_KR.js"
- target="_blank"
- rel="noopener"
- >
- <code>ko_KR.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Norwegian Bokmål <small>Norway</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/nb_NO
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/nb_NO.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>nb_NO.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/nb_NO.js"
- target="_blank"
- rel="noopener"
- >
- <code>nb_NO.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Persian <small>Iran</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/fa_IR
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/fa_IR.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>fa_IR.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/fa_IR.js"
- target="_blank"
- rel="noopener"
- >
- <code>fa_IR.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Polish <small>Poland</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/pl_PL
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/pl_PL.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>pl_PL.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/pl_PL.js"
- target="_blank"
- rel="noopener"
- >
- <code>pl_PL.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Portuguese <small>Brazil</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/pt_BR
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/pt_BR.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>pt_BR.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/pt_BR.js"
- target="_blank"
- rel="noopener"
- >
- <code>pt_BR.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Portuguese <small>Portugal</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/pt_PT
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/pt_PT.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>pt_PT.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/pt_PT.js"
- target="_blank"
- rel="noopener"
- >
- <code>pt_PT.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Romanian <small>Romania</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/ro_RO
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/ro_RO.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>ro_RO.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/ro_RO.js"
- target="_blank"
- rel="noopener"
- >
- <code>ro_RO.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Russian <small>Russia</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/ru_RU
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/ru_RU.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>ru_RU.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/ru_RU.js"
- target="_blank"
- rel="noopener"
- >
- <code>ru_RU.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Serbian <small>Serbia</small>
- <small>(Cyrillic)</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/sr_RS_Cyrillic
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/sr_RS_Cyrillic.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>sr_RS_Cyrillic.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/sr_RS_Cyrillic.js"
- target="_blank"
- rel="noopener"
- >
- <code>sr_RS_Cyrillic.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Serbian <small>Serbia</small>
- <small>(Latin)</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/sr_RS_Latin
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/sr_RS_Latin.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>sr_RS_Latin.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/sr_RS_Latin.js"
- target="_blank"
- rel="noopener"
- >
- <code>sr_RS_Latin.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Slovak <small>Slovakia</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/sk_SK
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/sk_SK.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>sk_SK.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/sk_SK.js"
- target="_blank"
- rel="noopener"
- >
- <code>sk_SK.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Spanish <small>Spain</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/es_ES
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/es_ES.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>es_ES.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/es_ES.js"
- target="_blank"
- rel="noopener"
- >
- <code>es_ES.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Spanish <small>Mexico</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/es_MX
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/es_MX.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>es_MX.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/es_MX.js"
- target="_blank"
- rel="noopener"
- >
- <code>es_MX.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Swedish <small>Sweden</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/sv_SE
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/sv_SE.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>sv_SE.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/sv_SE.js"
- target="_blank"
- rel="noopener"
- >
- <code>sv_SE.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Thai <small>Thailand</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/th_TH
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/th_TH.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>th_TH.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/th_TH.js"
- target="_blank"
- rel="noopener"
- >
- <code>th_TH.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Turkish <small>Turkey</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/tr_TR
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/tr_TR.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>tr_TR.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/tr_TR.js"
- target="_blank"
- rel="noopener"
- >
- <code>tr_TR.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Ukrainian <small>Ukraine</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/uk_UA
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/uk_UA.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>uk_UA.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/uk_UA.js"
- target="_blank"
- rel="noopener"
- >
- <code>uk_UA.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Uzbek <small>Uzbekistan</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/uz_UZ
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/uz_UZ.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>uz_UZ.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/uz_UZ.js"
- target="_blank"
- rel="noopener"
- >
- <code>uz_UZ.js</code>
- </a>
- </td>
- </tr>
- <tr>
- <td>
- Vietnamese <small>Vietnam</small>
- </td>
- <td>
- <code class="raw">
- <a
- href="https://www.npmjs.com/package/@uppy/locales"
- target="_blank"
- rel="noopener"
- >
- @uppy/locales
- </a>
- /lib/vi_VN
- </code>
- </td>
- <td>
- <a
- href="https://releases.transloadit.com/uppy/locales/v3.3.1/vi_VN.min.js"
- target="_blank"
- rel="noopener"
- >
- <code>vi_VN.min.js</code>
- </a>
- </td>
- <td>
- ✏️{' '}
- <a
- href="https://github.com/transloadit/uppy/blob/main/packages/%40uppy/locales/src/vi_VN.js"
- target="_blank"
- rel="noopener"
- >
- <code>vi_VN.js</code>
- </a>
- </td>
- </tr>
- </tbody>
- </table>
- ## 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](https://github.com/transloadit/uppy/tree/main/packages/%40uppy/locales/src)
- 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](http://www.i18nguy.com/unicode/language-identifiers.html),
- make sure to use underscore `_` as a divider. Examples: `en_US`, `en_GB`,
- `ru_RU`, `ar_AE`. Variants should be trailing, for example `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](https://github.com/transloadit/uppy/issues/new).
- 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!
|