mirror of
https://github.com/Eugeny/tabby.git
synced 2025-10-04 14:04:56 +00:00
use languages' native names
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
option([ngValue]='null', translate) Automatic
|
||||
option(
|
||||
[value]='lang.code',
|
||||
*ngFor='let lang of locale.allLanguages'
|
||||
*ngFor='let lang of allLanguages'
|
||||
) {{lang.name|translate}}
|
||||
|
||||
.form-line
|
||||
|
@@ -13,6 +13,7 @@ import { LocaleService } from '../services/locale.service'
|
||||
})
|
||||
export class WelcomeTabComponent extends BaseTabComponent {
|
||||
enableGlobalHotkey = true
|
||||
allLanguages = LocaleService.allLanguages
|
||||
|
||||
constructor (
|
||||
public config: ConfigService,
|
||||
|
@@ -82,7 +82,7 @@ const PROVIDERS = [
|
||||
},
|
||||
{
|
||||
provide: MESSAGE_FORMAT_CONFIG,
|
||||
useValue: LocaleService.allLocales,
|
||||
useValue: LocaleService.allLanguages.map(x => x.code),
|
||||
},
|
||||
{
|
||||
provide: TranslateService,
|
||||
|
@@ -43,23 +43,53 @@ export class TranslateServiceWrapper extends TranslateService {
|
||||
export class LocaleService {
|
||||
private logger: Logger
|
||||
|
||||
static readonly allLocales = [
|
||||
'en-US',
|
||||
'da-DK',
|
||||
'de-DE',
|
||||
'es-ES',
|
||||
'fr-FR',
|
||||
'hr-HR',
|
||||
'it-IT',
|
||||
'ja-JP',
|
||||
'pl-PL',
|
||||
'ru-RU',
|
||||
'zh-CN',
|
||||
'zh-TW',
|
||||
static allLanguages = [
|
||||
{
|
||||
code: 'de-DE',
|
||||
name: 'Deutsch',
|
||||
},
|
||||
{
|
||||
code: 'en-US',
|
||||
name: 'English',
|
||||
},
|
||||
{
|
||||
code: 'es-ES',
|
||||
name: 'Español',
|
||||
},
|
||||
{
|
||||
code: 'fr-FR',
|
||||
name: 'Français',
|
||||
},
|
||||
{
|
||||
code: 'hr-HR',
|
||||
name: 'Hrvatski',
|
||||
},
|
||||
{
|
||||
code: 'it-IT',
|
||||
name: 'Italiano',
|
||||
},
|
||||
{
|
||||
code: 'pl-PL',
|
||||
name: 'Polski',
|
||||
},
|
||||
{
|
||||
code: 'ru-RU',
|
||||
name: 'Русский',
|
||||
},
|
||||
{
|
||||
code: 'ja-JP',
|
||||
name: '日本語',
|
||||
},
|
||||
{
|
||||
code: 'zh-CN',
|
||||
name: '中文(简体)',
|
||||
},
|
||||
{
|
||||
code: 'zh-TW',
|
||||
name: '中文 (繁體)',
|
||||
},
|
||||
]
|
||||
|
||||
readonly allLanguages: { code: string, name: string }[]
|
||||
|
||||
get localeChanged$ (): Observable<string> {
|
||||
return this.localeChanged.pipe(distinctUntilChanged())
|
||||
}
|
||||
@@ -80,53 +110,6 @@ export class LocaleService {
|
||||
this.refresh()
|
||||
})
|
||||
|
||||
this.allLanguages = [
|
||||
{
|
||||
code: 'en-US',
|
||||
name: translate.instant('English'),
|
||||
},
|
||||
{
|
||||
code: 'zh-CN',
|
||||
name: translate.instant('Chinese (simplified)'),
|
||||
},
|
||||
{
|
||||
code: 'zh-TW',
|
||||
name: translate.instant('Chinese (traditional)'),
|
||||
},
|
||||
{
|
||||
code: 'hr-HR',
|
||||
name: translate.instant('Croatian'),
|
||||
},
|
||||
{
|
||||
code: 'de-DE',
|
||||
name: translate.instant('German'),
|
||||
},
|
||||
{
|
||||
code: 'fr-FR',
|
||||
name: translate.instant('French'),
|
||||
},
|
||||
{
|
||||
code: 'ja-JP',
|
||||
name: translate.instant('Japanese'),
|
||||
},
|
||||
{
|
||||
code: 'it-IT',
|
||||
name: translate.instant('Italian'),
|
||||
},
|
||||
{
|
||||
code: 'pl-PL',
|
||||
name: translate.instant('Polish'),
|
||||
},
|
||||
{
|
||||
code: 'ru-RU',
|
||||
name: translate.instant('Russian'),
|
||||
},
|
||||
{
|
||||
code: 'es-ES',
|
||||
name: translate.instant('Spanish'),
|
||||
},
|
||||
]
|
||||
|
||||
this.translate.setTranslation('en-US', {})
|
||||
}
|
||||
|
||||
@@ -134,7 +117,7 @@ export class LocaleService {
|
||||
let lang = this.config.store.language
|
||||
if (!lang) {
|
||||
for (const systemLanguage of navigator.languages) {
|
||||
if (!lang && this.allLanguages.some(x => x.code === systemLanguage)) {
|
||||
if (!lang && LocaleService.allLanguages.some(x => x.code === systemLanguage)) {
|
||||
lang = systemLanguage
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user