uppy/packages/@uppy/utils
Renée Kooi 5e25b2a939
Fix translations that did not respect word order (#2077)
* Fix translations that did not respect word order

Fixes #2069

We were still using raw string concatenation in these two places. To
maintain backwards compatibility, this commit adds _new_ translations
that are substitution-based instead of concatenation-based. The old
translation is passed in as a possible substitution parameter
`backwardsCompat`, and the default (English) translations use this
parameter.

With this, if you are using a custom locale that overrides eg. the
`exceedsSize` string, Uppy will first get your `exceedsSize`
translation, and then use the default `exceedsSize2` translation which
concatenates that result and the file size. So it works the same as it
did in the past.
If a translation requires a different word order, it can override the
`exceedsSize2` translation instead.
```js
new Uppy({
  locale: {
    strings: {
      exceedsSize2: 'Maximum file size of %{size} exceeded',
      poweredBy2: '%{uppy} made this!'
    }
  }
})
```

In 2.0, we can remove all the old strings and only use `poweredBy2` (and
probably rename them to `poweredBy` too, heh)

* website: add missing dashboard strings to docs

* locales: remove unused second plural form from EN and NL

* build: allow different numbers of plural forms

* utils: add test for new throwing behaviour

* docs: insert PR url

* locales: revert ko_KR changes

* changelog: add 2.0 backlog entry

* locales: var → const

* docs: add brief note that translators should supply a pluralize function

* locales: update en_US with new template

* fix HEIGHT_MD = 400

Co-authored-by: Artur Paikin <artur@arturpaikin.com>
2020-03-19 14:41:14 +01:00
..
src Fix translations that did not respect word order (#2077) 2020-03-19 14:41:14 +01:00
types Actually check types (#1918) 2020-02-12 16:22:09 +01:00
LICENSE Add @uppy/utils skeleton. 2018-06-14 16:31:19 +02:00
package.json Release 2020-02-14 23:17:48 +01:00
README.md Add @uppy/utils skeleton. 2018-06-14 16:31:19 +02:00

@uppy/utils

Uppy logo: a superman puppy in a pink suit

Build Status

Shared utility functions for Uppy Core and the "official" plugins maintained by the Uppy team.

Uppy is being developed by the folks at Transloadit, a versatile file encoding service.

Installation

Unless you are creating a custom plugin, you should not need to install this manually.

$ npm install @uppy/utils --save

License

The MIT License.