diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2022-05-22 16:41:16 +0000 |
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2022-05-22 16:41:16 +0000 |
| commit | 68a2c5db9829a2efaa1bf9bc29f180a77d8b9f32 (patch) | |
| tree | c44cc8357b9c04c6d87337ee81badfd10bc0f004 /src/services | |
| parent | 3b6d72ef3b57877587e48e35744954945c44a217 (diff) | |
| parent | 9725443e60bc6e147fdc8d195dab048d1d5aa461 (diff) | |
Merge branch 'revert-3b6d72ef' into 'develop'
Revert "Merge branch 'revert-a88abc7e' into 'develop'"
See merge request pleroma/pleroma-fe!1528
Diffstat (limited to 'src/services')
| -rw-r--r-- | src/services/api/api.service.js | 1 | ||||
| -rw-r--r-- | src/services/locale/locale.service.js | 27 |
2 files changed, 26 insertions, 2 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index 50fa3d50..ca84ba2c 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -197,6 +197,7 @@ const updateProfile = ({ credentials, params }) => { // homepage // location // token +// language const register = ({ params, credentials }) => { const { nickname, ...rest } = params return fetch(MASTODON_REGISTRATION_URL, { diff --git a/src/services/locale/locale.service.js b/src/services/locale/locale.service.js index 5be99d81..8cef2522 100644 --- a/src/services/locale/locale.service.js +++ b/src/services/locale/locale.service.js @@ -1,12 +1,35 @@ +import languagesObject from '../../i18n/messages' +import ISO6391 from 'iso-639-1' +import _ from 'lodash' + const specialLanguageCodes = { 'ja_easy': 'ja', - 'zh_Hant': 'zh-HANT' + 'zh_Hant': 'zh-HANT', + 'zh': 'zh-Hans' } const internalToBrowserLocale = code => specialLanguageCodes[code] || code +const internalToBackendLocale = code => internalToBrowserLocale(code).replace('_', '-') + +const getLanguageName = (code) => { + const specialLanguageNames = { + 'ja_easy': 'やさしいにほんご', + 'zh': '简体中文', + 'zh_Hant': '繁體中文' + } + const languageName = specialLanguageNames[code] || ISO6391.getNativeName(code) + const browserLocale = internalToBrowserLocale(code) + return languageName.charAt(0).toLocaleUpperCase(browserLocale) + languageName.slice(1) +} + +const languages = _.map(languagesObject.languages, (code) => ({ code: code, name: getLanguageName(code) })).sort((a, b) => a.name.localeCompare(b.name)) + const localeService = { - internalToBrowserLocale + internalToBrowserLocale, + internalToBackendLocale, + languages, + getLanguageName } export default localeService |
