refactor(i18n): show language names as endonyms in picker (#514)

* refactor(i18n): show language names as endonyms in picker

* docs(changelog): add language-endonyms entry for #514
This commit is contained in:
Frank Stellmacher
2026-05-08 00:19:35 +02:00
committed by GitHub
parent c982362884
commit 8b781a848d
9 changed files with 64 additions and 51 deletions
+8
View File
@@ -121,6 +121,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* **Font picker** lost its inner dropdown button. Opening the Font sub-section now reveals the full font list directly; one click sets the font. * **Font picker** lost its inner dropdown button. Opening the Font sub-section now reveals the full font list directly; one click sets the font.
* **OpenDyslexic** moves to the top of the font list so dyslexic readers don't scroll past 14 sans-serifs to find their option. * **OpenDyslexic** moves to the top of the font list so dyslexic readers don't scroll past 14 sans-serifs to find their option.
### Settings — language picker uses endonyms
**By [@Psychotoxical](https://github.com/Psychotoxical), suggested by cucadmuh, PR [#514](https://github.com/Psychotoxical/psysonic/pull/514)**
* The Settings language picker now shows each language **written in itself**`English`, `Deutsch`, `Español`, `Français`, `Nederlands`, `Norsk`, `Русский`, `中文` — same eight labels in every locale instead of translating each name into the current UI language.
* A native speaker can recognise their own language regardless of which UI language is currently active; same convention used by Wikipedia and most OS-level language pickers.
* Filled in `languageEs` for the six locales (de/fr/nl/nb/ru/zh) where it was missing — the Spanish entry was previously falling back to `'Spanish'` from `en.ts` on every non-EN/non-ES UI.
### Dependencies — npm / Cargo refresh and rodio 0.22 ### Dependencies — npm / Cargo refresh and rodio 0.22
**By [@cucadmuh](https://github.com/cucadmuh), PR [#463](https://github.com/Psychotoxical/psysonic/pull/463)** **By [@cucadmuh](https://github.com/cucadmuh), PR [#463](https://github.com/Psychotoxical/psysonic/pull/463)**
+7 -6
View File
@@ -579,13 +579,14 @@ export const deTranslation = {
settings: { settings: {
title: 'Einstellungen', title: 'Einstellungen',
language: 'Sprache', language: 'Sprache',
languageEn: 'Englisch', languageEn: 'English',
languageDe: 'Deutsch', languageDe: 'Deutsch',
languageFr: 'Französisch', languageEs: 'Español',
languageNl: 'Niederländisch', languageFr: 'Français',
languageZh: 'Chinesisch', languageNl: 'Nederlands',
languageNb: 'Norwegisch', languageNb: 'Norsk',
languageRu: 'Russisch', languageRu: 'Русский',
languageZh: '中文',
font: 'Schriftart', font: 'Schriftart',
fontHintOpenDyslexic: 'Legasthenie-freundlich · keine Chinesisch-Unterstützung', fontHintOpenDyslexic: 'Legasthenie-freundlich · keine Chinesisch-Unterstützung',
theme: 'Design', theme: 'Design',
+7 -7
View File
@@ -582,13 +582,13 @@ export const enTranslation = {
title: 'Settings', title: 'Settings',
language: 'Language', language: 'Language',
languageEn: 'English', languageEn: 'English',
languageDe: 'German', languageDe: 'Deutsch',
languageFr: 'French', languageEs: 'Español',
languageNl: 'Dutch', languageFr: 'Français',
languageZh: 'Chinese', languageNl: 'Nederlands',
languageNb: 'Norwegian', languageNb: 'Norsk',
languageRu: 'Russian', languageRu: 'Русский',
languageEs: 'Spanish', languageZh: '中文',
font: 'Font', font: 'Font',
fontHintOpenDyslexic: 'Dyslexia-friendly · no Chinese support', fontHintOpenDyslexic: 'Dyslexia-friendly · no Chinese support',
theme: 'Theme', theme: 'Theme',
+7 -7
View File
@@ -571,14 +571,14 @@ export const esTranslation = {
settings: { settings: {
title: 'Configuración', title: 'Configuración',
language: 'Idioma', language: 'Idioma',
languageEn: 'Inglés', languageEn: 'English',
languageDe: 'Alemán', languageDe: 'Deutsch',
languageFr: 'Francés',
languageNl: 'Neerlandés',
languageZh: 'Chino',
languageNb: 'Noruego',
languageRu: 'Ruso',
languageEs: 'Español', languageEs: 'Español',
languageFr: 'Français',
languageNl: 'Nederlands',
languageNb: 'Norsk',
languageRu: 'Русский',
languageZh: '中文',
font: 'Fuente', font: 'Fuente',
fontHintOpenDyslexic: 'Compatible con dislexia · sin soporte para chino', fontHintOpenDyslexic: 'Compatible con dislexia · sin soporte para chino',
theme: 'Tema', theme: 'Tema',
+7 -6
View File
@@ -569,13 +569,14 @@ export const frTranslation = {
settings: { settings: {
title: 'Paramètres', title: 'Paramètres',
language: 'Langue', language: 'Langue',
languageEn: 'Anglais', languageEn: 'English',
languageDe: 'Allemand', languageDe: 'Deutsch',
languageEs: 'Español',
languageFr: 'Français', languageFr: 'Français',
languageNl: 'Néerlandais', languageNl: 'Nederlands',
languageZh: 'Chinois', languageNb: 'Norsk',
languageNb: 'Norvégien', languageRu: 'Русский',
languageRu: 'Russe', languageZh: '中文',
font: 'Police', font: 'Police',
fontHintOpenDyslexic: 'Adapté à la dyslexie · sans prise en charge du chinois', fontHintOpenDyslexic: 'Adapté à la dyslexie · sans prise en charge du chinois',
theme: 'Thème', theme: 'Thème',
+7 -6
View File
@@ -569,13 +569,14 @@ export const nbTranslation = {
settings: { settings: {
title: 'Innstillinger', title: 'Innstillinger',
language: 'Språk', language: 'Språk',
languageEn: 'Engelsk', languageEn: 'English',
languageDe: 'Tysk', languageDe: 'Deutsch',
languageFr: 'Fransk', languageEs: 'Español',
languageNl: 'Nederlandsk', languageFr: 'Français',
languageZh: 'Kinesisk', languageNl: 'Nederlands',
languageNb: 'Norsk', languageNb: 'Norsk',
languageRu: 'Russisk', languageRu: 'Русский',
languageZh: '中文',
font: 'Skrifttype', font: 'Skrifttype',
fontHintOpenDyslexic: 'Dyslexivennlig · ingen kinesisk støtte', fontHintOpenDyslexic: 'Dyslexivennlig · ingen kinesisk støtte',
theme: 'Tema', theme: 'Tema',
+7 -6
View File
@@ -568,13 +568,14 @@ export const nlTranslation = {
settings: { settings: {
title: 'Instellingen', title: 'Instellingen',
language: 'Taal', language: 'Taal',
languageEn: 'Engels', languageEn: 'English',
languageDe: 'Duits', languageDe: 'Deutsch',
languageFr: 'Frans', languageEs: 'Español',
languageFr: 'Français',
languageNl: 'Nederlands', languageNl: 'Nederlands',
languageZh: 'Chinees', languageNb: 'Norsk',
languageNb: 'Noors', languageRu: 'Русский',
languageRu: 'Russisch', languageZh: '中文',
font: 'Lettertype', font: 'Lettertype',
fontHintOpenDyslexic: 'Dyslexie-vriendelijk · geen Chinese ondersteuning', fontHintOpenDyslexic: 'Dyslexie-vriendelijk · geen Chinese ondersteuning',
theme: 'Thema', theme: 'Thema',
+7 -7
View File
@@ -602,14 +602,14 @@ export const ruTranslation = {
settings: { settings: {
title: 'Настройки', title: 'Настройки',
language: 'Язык', language: 'Язык',
languageEn: 'Английский', languageEn: 'English',
languageDe: 'Немецкий', languageDe: 'Deutsch',
languageFr: 'Французский', languageEs: 'Español',
languageNl: 'Нидерландский', languageFr: 'Français',
languageZh: 'Китайский', languageNl: 'Nederlands',
languageNb: 'Норвежский', languageNb: 'Norsk',
languageRu: 'Русский', languageRu: 'Русский',
languageRu2: 'Русский 2', languageZh: '中文',
font: 'Шрифт', font: 'Шрифт',
fontHintOpenDyslexic: 'Подходит для дислексии · без поддержки китайского', fontHintOpenDyslexic: 'Подходит для дислексии · без поддержки китайского',
theme: 'Тема', theme: 'Тема',
+7 -6
View File
@@ -563,13 +563,14 @@ export const zhTranslation = {
settings: { settings: {
title: '设置', title: '设置',
language: '语言', language: '语言',
languageEn: '英语', languageEn: 'English',
languageDe: '德语', languageDe: 'Deutsch',
languageFr: '法语', languageEs: 'Español',
languageNl: '荷兰语', languageFr: 'Français',
languageNl: 'Nederlands',
languageNb: 'Norsk',
languageRu: 'Русский',
languageZh: '中文', languageZh: '中文',
languageNb: '挪威',
languageRu: '俄语',
font: '字体', font: '字体',
fontHintOpenDyslexic: '阅读障碍友好 · 不支持中文', fontHintOpenDyslexic: '阅读障碍友好 · 不支持中文',
theme: '主题', theme: '主题',