mirror of https://github.com/Lissy93/dashy.git
🔀 Merge pull request #1121 from Lissy93/lang/turkish-bengali-and-refactor
[TRANSLATIONS] Links the Turkish and Bengali locales, and updates lang docs
Thanks @soaibsafi, @imsakg and @zcq100 🙌
This commit is contained in:
commit
0319b8b1ed
26
README.md
26
README.md
|
@ -400,30 +400,34 @@ All data is fully E2E encrypted before being sent to the backend (done in [`Clou
|
||||||
## Language Switching 🌎
|
## Language Switching 🌎
|
||||||
> For full internationalization documentation, see: [**Multi-Language Support**](./docs/multi-language-support.md)
|
> For full internationalization documentation, see: [**Multi-Language Support**](./docs/multi-language-support.md)
|
||||||
|
|
||||||
Dashy supports multiple languages and locales. When available, your language should be automatically detected and applied on load. But you can also select a language through the UI (under config --> Switch Language) or set `appConfig.language` to your language (specified as a 2-digit [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)).
|
Dashy supports multiple languages and locales. When available, your language should be automatically detected and applied on load. But you can also select a language through the UI (under config --> Switch Language) or set `appConfig.language` to your language (specified as a 2-digit [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), as seen below, e.g. `language: de`.
|
||||||
|
|
||||||
#### Supported Languages
|
#### Supported Languages
|
||||||
- 🇬🇧 **English**: `en` - _Default_
|
- 🇬🇧 **English**: `en` - _Default_
|
||||||
|
- 🇦🇪 **Arabic**: `ar` - _Auto-generated_
|
||||||
|
- 🇧🇩 **Bengali**: `bn` - Contributed by **[@soaibsafi](https://github.com/soaibsafi)**
|
||||||
|
- 🇧🇬 **Bulgarian**: `bg` - Contributed by **[@asenov](https://github.com/asenov)**
|
||||||
- 🇨🇳 **Chinese**: `cn` - Contributed by **[@FormatToday](https://github.com/FormatToday)**
|
- 🇨🇳 **Chinese**: `cn` - Contributed by **[@FormatToday](https://github.com/FormatToday)**
|
||||||
|
- 🇨🇿 **Czech**: `cs` - Contributed by **[@Tuzi555](https://github.com/Tuzi555)**
|
||||||
|
- 🇩🇰 **Danish**: `da` - Contributed by **[@lordpansar](https://github.com/lordpansar)**
|
||||||
- 🇳🇱 **Dutch**: `nl` - Contributed by **[@evroon](https://github.com/evroon)**
|
- 🇳🇱 **Dutch**: `nl` - Contributed by **[@evroon](https://github.com/evroon)**
|
||||||
- 🇲🇫 **French**: `fr` - Contributed by **[@EVOTk](https://github.com/EVOTk)**
|
- 🇫🇷 **French**: `fr` - Contributed by **[@EVOTk](https://github.com/EVOTk)**
|
||||||
- 🇩🇪 **German**: `de` - Contributed by **[@Niklashere](https://github.com/Niklashere)**
|
- 🇩🇪 **German**: `de` - Contributed by **[@Niklashere](https://github.com/Niklashere)**
|
||||||
|
- 🇮🇳 **Hindi**: `hi` - _Auto-generated_
|
||||||
- 🇮🇹 **Italian**: `it` - Contributed by **[@alexdelprete](https://github.com/alexdelprete)**
|
- 🇮🇹 **Italian**: `it` - Contributed by **[@alexdelprete](https://github.com/alexdelprete)**
|
||||||
|
- 🇯🇵 **Japanese**: `ja` - _Auto-generated_
|
||||||
|
- 🇰🇷 **Korean**: `ko` - Contributed by **[@boggy-cs](https://github.com/boggy-cs)**
|
||||||
- 🇳🇴 **Norwegian Bokmål**: `nb` - Contributed by **[@rubjo](https://github.com/rubjo)**
|
- 🇳🇴 **Norwegian Bokmål**: `nb` - Contributed by **[@rubjo](https://github.com/rubjo)**
|
||||||
- 🇵🇱 **Polish**: `pl` - Contributed by **[@skaarj1989](https://github.com/skaarj1989)**
|
- 🇵🇱 **Polish**: `pl` - Contributed by **[@skaarj1989](https://github.com/skaarj1989)**
|
||||||
- 🇵🇹 **Portuguese**: `pt` - Contributed by **[@LeoColman](https://github.com/LeoColman)**
|
- 🇵🇹 **Portuguese**: `pt` - Contributed by **[@LeoColman](https://github.com/LeoColman)**
|
||||||
- 🇪🇸 **Spanish**: `es` - Contributed by **[@lu4t](https://github.com/lu4t)**
|
- 🇷🇺 **Russian**: `ru` - _Auto-generated_
|
||||||
|
- 🇸🇰 **Slovak**: `sk` - Contributed by **[@Smexhy](https://github.com/Smexhy)**
|
||||||
- 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)**
|
- 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)**
|
||||||
|
- 🇪🇸 **Spanish**: `es` - Contributed by **[@lu4t](https://github.com/lu4t)**
|
||||||
- 🇸🇪 **Swedish**: `sv` - Contributed by **[@BOZG](https://github.com/BOZG)**
|
- 🇸🇪 **Swedish**: `sv` - Contributed by **[@BOZG](https://github.com/BOZG)**
|
||||||
- 🇹🇼 **Traditional Chinese**: `zh-TW` - Contributed by **[@stanly0726](https://github.com/stanly0726)**
|
- 🇹🇼 **Traditional Chinese**: `zh-TW` - Contributed by **[@stanly0726](https://github.com/stanly0726)**
|
||||||
- 🇷🇺 **Russian**: `ru`
|
- 🇹🇷 **Turkish**: `tr` - Contributed by **[@imsakg](https://github.com/imsakg)**
|
||||||
- 🇦🇪 **Arabic**: `ar`
|
- 🏴☠️ **Pirate**: `pirate` - Contributed by **[@Lissy93](https://github.com/lissy93)**
|
||||||
- 🇮🇳 **Hindi**: `hi`
|
|
||||||
- 🇯🇵 **Japanese**: `ja`
|
|
||||||
- 🇰🇷 **Korean**: `ko` - Contributed by **[@boggy-cs](https://github.com/boggy-cs)**
|
|
||||||
- 🇸🇰 **Slovak**: `sk` - Contributed by **[@Smexhy](https://github.com/Smexhy)**
|
|
||||||
- 🇩🇰 **Danish**: `da` - Contributed by **[@lordpansar](https://github.com/lordpansar)**
|
|
||||||
- 🇨🇿 **Czech**: `cs` - Contributed by **[@Tuzi555](https://github.com/Tuzi555)**
|
|
||||||
|
|
||||||
#### Add your Language
|
#### Add your Language
|
||||||
I would love Dashy to be available to everyone without language being a barrier to entry. If you've got a few minutes to spare, consider adding translations for your language. It's a quick task, and all text is in [a single JSON file](https://github.com/Lissy93/dashy/tree/master/src/assets/locales). Since any missing text will fall back to English, you don't need to translate it all.
|
I would love Dashy to be available to everyone without language being a barrier to entry. If you've got a few minutes to spare, consider adding translations for your language. It's a quick task, and all text is in [a single JSON file](https://github.com/Lissy93/dashy/tree/master/src/assets/locales). Since any missing text will fall back to English, you don't need to translate it all.
|
||||||
|
|
|
@ -66,7 +66,7 @@ export default {
|
||||||
connections: null,
|
connections: null,
|
||||||
locationSearch: null,
|
locationSearch: null,
|
||||||
connectionName: null,
|
connectionName: null,
|
||||||
defaultTitle: "Connection",
|
defaultTitle: 'Connection',
|
||||||
locations: {
|
locations: {
|
||||||
origin: undefined,
|
origin: undefined,
|
||||||
destination: undefined,
|
destination: undefined,
|
||||||
|
|
|
@ -1,29 +1,32 @@
|
||||||
// Locales - Import translation files here!
|
// Locales - Import translation files here! (sort alphabetically)
|
||||||
import en from '@/assets/locales/en.json';
|
import en from '@/assets/locales/en.json';
|
||||||
|
import ar from '@/assets/locales/ar.json';
|
||||||
|
import bg from '@/assets/locales/bg.json';
|
||||||
|
import bn from '@/assets/locales/bn.json';
|
||||||
|
import cs from '@/assets/locales/cs.json';
|
||||||
|
import da from '@/assets/locales/da.json';
|
||||||
import de from '@/assets/locales/de.json';
|
import de from '@/assets/locales/de.json';
|
||||||
|
import es from '@/assets/locales/es.json';
|
||||||
|
import fr from '@/assets/locales/fr.json';
|
||||||
|
import hi from '@/assets/locales/hi.json';
|
||||||
|
import it from '@/assets/locales/it.json';
|
||||||
|
import ja from '@/assets/locales/ja.json';
|
||||||
|
import ko from '@/assets/locales/ko.json';
|
||||||
|
import nb from '@/assets/locales/nb.json';
|
||||||
import nl from '@/assets/locales/nl.json';
|
import nl from '@/assets/locales/nl.json';
|
||||||
import pl from '@/assets/locales/pl.json';
|
import pl from '@/assets/locales/pl.json';
|
||||||
import fr from '@/assets/locales/fr.json';
|
|
||||||
import sl from '@/assets/locales/sl.json';
|
|
||||||
import es from '@/assets/locales/es.json';
|
|
||||||
import it from '@/assets/locales/it.json';
|
|
||||||
import zhCN from '@/assets/locales/zh-CN.json';
|
|
||||||
import zhTW from '@/assets/locales/zh-TW.json';
|
|
||||||
import ar from '@/assets/locales/ar.json';
|
|
||||||
import hi from '@/assets/locales/hi.json';
|
|
||||||
import ja from '@/assets/locales/ja.json';
|
|
||||||
import pt from '@/assets/locales/pt.json';
|
import pt from '@/assets/locales/pt.json';
|
||||||
import ru from '@/assets/locales/ru.json';
|
import ru from '@/assets/locales/ru.json';
|
||||||
import nb from '@/assets/locales/nb.json';
|
|
||||||
import pirate from '@/assets/locales/zz-pirate.json';
|
|
||||||
import sv from '@/assets/locales/sv.json';
|
|
||||||
import bg from '@/assets/locales/bg.json';
|
|
||||||
import ko from '@/assets/locales/ko.json';
|
|
||||||
import sk from '@/assets/locales/sk.json';
|
import sk from '@/assets/locales/sk.json';
|
||||||
import da from '@/assets/locales/da.json';
|
import sl from '@/assets/locales/sl.json';
|
||||||
import cs from '@/assets/locales/cs.json';
|
import sv from '@/assets/locales/sv.json';
|
||||||
|
import tr from '@/assets/locales/tr.json';
|
||||||
|
import zhCN from '@/assets/locales/zh-CN.json';
|
||||||
|
import zhTW from '@/assets/locales/zh-TW.json';
|
||||||
|
import pirate from '@/assets/locales/zz-pirate.json';
|
||||||
|
|
||||||
// Language data - Next register your language by adding it to this list
|
// Language data - Next register your language by adding it to this list
|
||||||
|
// Sorted alphabetically by code (except English which is first, and specials at the end)
|
||||||
export const languages = [
|
export const languages = [
|
||||||
{
|
{
|
||||||
name: 'English',
|
name: 'English',
|
||||||
|
@ -31,14 +34,86 @@ export const languages = [
|
||||||
locale: en,
|
locale: en,
|
||||||
flag: '🇬🇧',
|
flag: '🇬🇧',
|
||||||
},
|
},
|
||||||
|
{ // Arabic
|
||||||
|
name: 'العربية',
|
||||||
|
code: 'ar',
|
||||||
|
locale: ar,
|
||||||
|
flag: '🇦🇪',
|
||||||
|
},
|
||||||
|
{ // Bulgarian
|
||||||
|
name: 'Български',
|
||||||
|
code: 'bg',
|
||||||
|
locale: bg,
|
||||||
|
flag: '🇧🇬',
|
||||||
|
},
|
||||||
|
{ // Bengali
|
||||||
|
name: 'বাংলা',
|
||||||
|
code: 'bn',
|
||||||
|
locale: bn,
|
||||||
|
flag: '🇧🇩',
|
||||||
|
},
|
||||||
|
{ // Czech
|
||||||
|
name: 'Čeština',
|
||||||
|
code: 'cs',
|
||||||
|
locale: cs,
|
||||||
|
flag: '🇨🇿',
|
||||||
|
},
|
||||||
|
{ // Danish
|
||||||
|
name: 'Dansk',
|
||||||
|
code: 'da',
|
||||||
|
locale: da,
|
||||||
|
flag: '🇩🇰',
|
||||||
|
},
|
||||||
{ // German
|
{ // German
|
||||||
name: 'Deutsch',
|
name: 'Deutsch',
|
||||||
code: 'de',
|
code: 'de',
|
||||||
locale: de,
|
locale: de,
|
||||||
flag: '🇩🇪',
|
flag: '🇩🇪',
|
||||||
},
|
},
|
||||||
|
{ // Spanish
|
||||||
|
name: 'Español',
|
||||||
|
code: 'es',
|
||||||
|
locale: es,
|
||||||
|
flag: '🇪🇸',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'Dutch',
|
name: 'Français',
|
||||||
|
code: 'fr',
|
||||||
|
locale: fr,
|
||||||
|
flag: '🇲🇫',
|
||||||
|
},
|
||||||
|
{ // Hindi
|
||||||
|
name: 'नहीं',
|
||||||
|
code: 'hi',
|
||||||
|
locale: hi,
|
||||||
|
flag: '🇮🇳',
|
||||||
|
},
|
||||||
|
{ // Italian
|
||||||
|
name: 'Italiano',
|
||||||
|
code: 'it',
|
||||||
|
locale: it,
|
||||||
|
flag: '🇮🇹',
|
||||||
|
},
|
||||||
|
{ // Japanese
|
||||||
|
name: '日本語',
|
||||||
|
code: 'ja',
|
||||||
|
locale: ja,
|
||||||
|
flag: '🇯🇵',
|
||||||
|
},
|
||||||
|
{ // Korean
|
||||||
|
name: '한국어',
|
||||||
|
code: 'ko',
|
||||||
|
locale: ko,
|
||||||
|
flag: '🇰🇷',
|
||||||
|
},
|
||||||
|
{ // Norwegian
|
||||||
|
name: 'Norsk',
|
||||||
|
code: 'nb',
|
||||||
|
locale: nb,
|
||||||
|
flag: '🇳🇴',
|
||||||
|
},
|
||||||
|
{ // Dutch
|
||||||
|
name: 'Nederlands',
|
||||||
code: 'nl',
|
code: 'nl',
|
||||||
locale: nl,
|
locale: nl,
|
||||||
flag: '🇳🇱',
|
flag: '🇳🇱',
|
||||||
|
@ -49,60 +124,6 @@ export const languages = [
|
||||||
locale: pl,
|
locale: pl,
|
||||||
flag: '🇵🇱',
|
flag: '🇵🇱',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: 'Français',
|
|
||||||
code: 'fr',
|
|
||||||
locale: fr,
|
|
||||||
flag: '🇲🇫',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Slovenščina',
|
|
||||||
code: 'sl',
|
|
||||||
locale: sl,
|
|
||||||
flag: '🇸🇮',
|
|
||||||
},
|
|
||||||
{ // Spanish
|
|
||||||
name: 'Español',
|
|
||||||
code: 'es',
|
|
||||||
locale: es,
|
|
||||||
flag: '🇪🇸',
|
|
||||||
},
|
|
||||||
{ // Italian
|
|
||||||
name: 'Italiano',
|
|
||||||
code: 'it',
|
|
||||||
locale: it,
|
|
||||||
flag: '🇮🇹',
|
|
||||||
},
|
|
||||||
{ // Chinese
|
|
||||||
name: '简体中文',
|
|
||||||
code: 'cn',
|
|
||||||
locale: zhCN,
|
|
||||||
flag: '🇨🇳',
|
|
||||||
},
|
|
||||||
{ // Chinese
|
|
||||||
name: '繁體中文',
|
|
||||||
code: 'zh-TW',
|
|
||||||
locale: zhTW,
|
|
||||||
flag: '🇹🇼',
|
|
||||||
},
|
|
||||||
{ // Arabic
|
|
||||||
name: 'العربية',
|
|
||||||
code: 'ar',
|
|
||||||
locale: ar,
|
|
||||||
flag: '🇦🇪',
|
|
||||||
},
|
|
||||||
{ // Hindi
|
|
||||||
name: 'नहीं',
|
|
||||||
code: 'hi',
|
|
||||||
locale: hi,
|
|
||||||
flag: '🇮🇳',
|
|
||||||
},
|
|
||||||
{ // Japanese
|
|
||||||
name: '日本語',
|
|
||||||
code: 'ja',
|
|
||||||
locale: ja,
|
|
||||||
flag: '🇯🇵',
|
|
||||||
},
|
|
||||||
{ // Portuguese
|
{ // Portuguese
|
||||||
name: 'Português',
|
name: 'Português',
|
||||||
code: 'pt',
|
code: 'pt',
|
||||||
|
@ -115,17 +136,17 @@ export const languages = [
|
||||||
locale: ru,
|
locale: ru,
|
||||||
flag: '🇷🇺',
|
flag: '🇷🇺',
|
||||||
},
|
},
|
||||||
{ // Norwegian
|
{ // Slovak
|
||||||
name: 'Norsk',
|
name: 'Slovenčina',
|
||||||
code: 'nb',
|
code: 'sk',
|
||||||
locale: nb,
|
locale: sk,
|
||||||
flag: '🇳🇴',
|
flag: '🇸🇰',
|
||||||
},
|
},
|
||||||
{ // Joke Language - Pirate
|
{
|
||||||
name: 'Pirate',
|
name: 'Slovenščina',
|
||||||
code: 'pirate',
|
code: 'sl',
|
||||||
locale: pirate,
|
locale: sl,
|
||||||
flag: '🏴☠️',
|
flag: '🇸🇮',
|
||||||
},
|
},
|
||||||
{ // Swedish
|
{ // Swedish
|
||||||
name: 'Svenska',
|
name: 'Svenska',
|
||||||
|
@ -133,35 +154,29 @@ export const languages = [
|
||||||
locale: sv,
|
locale: sv,
|
||||||
flag: '🇸🇪',
|
flag: '🇸🇪',
|
||||||
},
|
},
|
||||||
{ // Bulgarian
|
{ // Turkish
|
||||||
name: 'Български',
|
name: 'Türkçe',
|
||||||
code: 'bg',
|
code: 'tr',
|
||||||
locale: bg,
|
locale: tr,
|
||||||
flag: '🇧🇬',
|
flag: '🇹🇷',
|
||||||
},
|
},
|
||||||
{ // Korean
|
{ // Chinese
|
||||||
name: '한국어',
|
name: '简体中文',
|
||||||
code: 'ko',
|
code: 'cn',
|
||||||
locale: ko,
|
locale: zhCN,
|
||||||
flag: '🇰🇷',
|
flag: '🇨🇳',
|
||||||
},
|
},
|
||||||
{ // Slovak
|
{ // Chinese
|
||||||
name: 'Slovenčina',
|
name: '繁體中文',
|
||||||
code: 'sk',
|
code: 'zh-TW',
|
||||||
locale: sk,
|
locale: zhTW,
|
||||||
flag: '🇸🇰',
|
flag: '🇹🇼',
|
||||||
},
|
},
|
||||||
{ // Danish
|
{ // Joke Language - Pirate
|
||||||
name: 'Dansk',
|
name: 'Pirate',
|
||||||
code: 'da',
|
code: 'pirate',
|
||||||
locale: da,
|
locale: pirate,
|
||||||
flag: '🇩🇰',
|
flag: '🏴☠️',
|
||||||
},
|
|
||||||
{ // Czech
|
|
||||||
name: 'Čeština',
|
|
||||||
code: 'cs',
|
|
||||||
locale: cs,
|
|
||||||
flag: '🇨🇿',
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue