From 589575021748149bc7307e3ea8f7a6331a1cc0be Mon Sep 17 00:00:00 2001 From: Academion Date: Sat, 8 Aug 2026 23:52:51 +0200 Subject: [PATCH 1/9] Create de.ui.ts Needed to create "de" subfolder --- src/app/common/language/translations/de/de.ui.ts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/app/common/language/translations/de/de.ui.ts diff --git a/src/app/common/language/translations/de/de.ui.ts b/src/app/common/language/translations/de/de.ui.ts new file mode 100644 index 0000000..5f327aa --- /dev/null +++ b/src/app/common/language/translations/de/de.ui.ts @@ -0,0 +1,7 @@ +export class TranslationUI { + buttons = { + previousShort: "Letzte", + nextShort: "Nächste", + finish: "Beenden", + } +} From 1ca87bc01418ffdfee5e41a53bbb083343f7669d Mon Sep 17 00:00:00 2001 From: Academion Date: Sat, 8 Aug 2026 23:55:37 +0200 Subject: [PATCH 2/9] Update language.x.ts files --- src/app/common/language/language.interface.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/common/language/language.interface.ts b/src/app/common/language/language.interface.ts index 40098f3..4d279cd 100644 --- a/src/app/common/language/language.interface.ts +++ b/src/app/common/language/language.interface.ts @@ -1,4 +1,4 @@ -export const Locales = ["EN", "RU"] as const +export const Locales = ["EN", "RU", "DE"] as const // make union type from array of locales export type Locale = typeof Locales[number] From 36a1cab0d1643987e473cdb2cc97f0a4d91df151 Mon Sep 17 00:00:00 2001 From: Academion Date: Sat, 8 Aug 2026 23:58:43 +0200 Subject: [PATCH 3/9] Update translations.ts --- src/app/common/language/translations/translations.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/common/language/translations/translations.ts b/src/app/common/language/translations/translations.ts index dcad287..928808a 100644 --- a/src/app/common/language/translations/translations.ts +++ b/src/app/common/language/translations/translations.ts @@ -1,9 +1,11 @@ import { Translation } from "./en/en.translation" import { TranslationRU } from "./ru/ru.translation" +import { TranslatienDE } from "./de/de.translation" export function getTranslations(): Translation[] { const Default = new Translation() const RU = new TranslationRU() + const DE = new TranslationDE() - return [Default, RU] + return [Default, RU, DE] } From 671c98ac2b9fa0018cd1c0e3518bf05d067217e6 Mon Sep 17 00:00:00 2001 From: Academion Date: Sun, 9 Aug 2026 00:00:14 +0200 Subject: [PATCH 4/9] Add german translation --- .../language/translations/de/de.countries.ts | 234 ++++++++++++++++++ .../language/translations/de/de.game-page.ts | 41 +++ .../language/translations/de/de.games-page.ts | 9 + .../translations/de/de.settings-page.ts | 43 ++++ .../translations/de/de.statistics-page.ts | 7 + .../language/translations/de/de.statistics.ts | 7 + .../translations/de/de.translation.ts | 26 ++ 7 files changed, 367 insertions(+) create mode 100644 src/app/common/language/translations/de/de.countries.ts create mode 100644 src/app/common/language/translations/de/de.game-page.ts create mode 100644 src/app/common/language/translations/de/de.games-page.ts create mode 100644 src/app/common/language/translations/de/de.settings-page.ts create mode 100644 src/app/common/language/translations/de/de.statistics-page.ts create mode 100644 src/app/common/language/translations/de/de.statistics.ts create mode 100644 src/app/common/language/translations/de/de.translation.ts diff --git a/src/app/common/language/translations/de/de.countries.ts b/src/app/common/language/translations/de/de.countries.ts new file mode 100644 index 0000000..5f38082 --- /dev/null +++ b/src/app/common/language/translations/de/de.countries.ts @@ -0,0 +1,234 @@ +export interface CountryTranslation { + name: string + capital: string +} + +export class TranslationCountries { + readonly AF: CountryTranslation = { name: "Afghanistan", capital: "Kabul" } + readonly AL: CountryTranslation = { name: "Albanien", capital: "Tirana" } + readonly DZ: CountryTranslation = { name: "Algerien", capital: "Algier" } + readonly AS: CountryTranslation = { name: "Amerikanisch-Samoa", capital: "Pago Pago" } + readonly AD: CountryTranslation = { name: "Andorra", capital: "Andorra la Vella" } + readonly AO: CountryTranslation = { name: "Angola", capital: "Luanda" } + readonly AI: CountryTranslation = { name: "Anguilla", capital: "The Valley" } + readonly AG: CountryTranslation = { name: "Antigua und Barbuda", capital: "Saint John's" } + readonly AR: CountryTranslation = { name: "Argentinien", capital: "Buenos Aires" } + readonly AM: CountryTranslation = { name: "Armenien", capital: "Yerevan" } + readonly AW: CountryTranslation = { name: "Aruba", capital: "Oranjestad" } + readonly AU: CountryTranslation = { name: "Australien", capital: "Canberra" } + readonly AT: CountryTranslation = { name: "Österreich", capital: "Wien" } + readonly AZ: CountryTranslation = { name: "Aserbaidschan", capital: "Baku" } + readonly AX: CountryTranslation = { name: "Åland", capital: "Mariehamn" } + readonly BS: CountryTranslation = { name: "Bahamas", capital: "Nassau" } + readonly BH: CountryTranslation = { name: "Bahrain", capital: "Manama" } + readonly BD: CountryTranslation = { name: "Bangladesch", capital: "Dhaka" } + readonly BB: CountryTranslation = { name: "Barbados", capital: "Bridgetown" } + readonly BY: CountryTranslation = { name: "Belarus", capital: "Minsk" } + readonly BE: CountryTranslation = { name: "Belgier", capital: "Brüssel" } + readonly BZ: CountryTranslation = { name: "Belize", capital: "Belmopan" } + readonly BJ: CountryTranslation = { name: "Benin", capital: "Porto-Novo" } + readonly BM: CountryTranslation = { name: "Bermuda", capital: "Hamilton" } + readonly BT: CountryTranslation = { name: "Bhutan", capital: "Thimphu" } + readonly BO: CountryTranslation = { name: "Bolivien", capital: "Sucre" } + readonly BA: CountryTranslation = { name: "Bosnien und Herzegowina", capital: "Sarajevo" } + readonly BW: CountryTranslation = { name: "Botswana", capital: "Gaborone" } + readonly BR: CountryTranslation = { name: "Brasilien", capital: "Brasilia" } + readonly BN: CountryTranslation = { name: "Brunei", capital: "Bandar Seri Begawan" } + readonly BG: CountryTranslation = { name: "Bulgarien", capital: "Sofia" } + readonly BF: CountryTranslation = { name: "Burkina Faso", capital: "Ouagadougou" } + readonly BI: CountryTranslation = { name: "Burundi", capital: "Gitega" } + readonly CV: CountryTranslation = { name: "Kap Verde", capital: "Praia" } + readonly KH: CountryTranslation = { name: "Kambodscha", capital: "Phnom Penh" } + readonly CM: CountryTranslation = { name: "Kamerun", capital: "Yaounde" } + readonly CA: CountryTranslation = { name: "Kanada", capital: "Ottawa" } + readonly KY: CountryTranslation = { name: "Kaimaninseln", capital: "George Town" } + readonly CF: CountryTranslation = { name: "Zentralafrikanische Republik", capital: "Bangui" } + readonly TD: CountryTranslation = { name: "Tschad", capital: "N'Djamena" } + readonly CL: CountryTranslation = { name: "Chile", capital: "Santiago de Chile" } + readonly CN: CountryTranslation = { name: "China", capital: "Peking" } + readonly CX: CountryTranslation = { name: "Weihnachtsinsel", capital: "Flying Fish Cove" } + readonly CC: CountryTranslation = { name: "Kokosinseln", capital: "West Island" } + readonly CO: CountryTranslation = { name: "Kolumbien", capital: "Bogota" } + readonly KM: CountryTranslation = { name: "Komoren", capital: "Moroni" } + readonly CD: CountryTranslation = { name: "Demokratische Rep. Kongo", capital: "Kinshasa" } + readonly CG: CountryTranslation = { name: "Rep. Kongo", capital: "Brazzaville" } + readonly CK: CountryTranslation = { name: "Cookinseln", capital: "Avarua" } + readonly CR: CountryTranslation = { name: "Costa Rica", capital: "San Jose" } + readonly HR: CountryTranslation = { name: "Kroatien", capital: "Zagreb" } + readonly CU: CountryTranslation = { name: "Kuba", capital: "Havanna" } + readonly CW: CountryTranslation = { name: "Curacao", capital: "Willemstad" } + readonly CY: CountryTranslation = { name: "Zypern", capital: "Nicosia" } + readonly CZ: CountryTranslation = { name: "Tschechien", capital: "Prag" } + readonly CI: CountryTranslation = { name: "Elfenbeinküste", capital: "Yamoussoukro" } + readonly DK: CountryTranslation = { name: "Dänemark", capital: "Kopenhagen" } + readonly DJ: CountryTranslation = { name: "Dschibuti", capital: "Dschibuti" } + readonly DM: CountryTranslation = { name: "Dominica", capital: "Roseau" } + readonly DO: CountryTranslation = { name: "Dominikanische Republik", capital: "Santo Domingo" } + readonly EC: CountryTranslation = { name: "Ecuador", capital: "Quito" } + readonly EG: CountryTranslation = { name: "Ägypten", capital: "Kairo" } + readonly SV: CountryTranslation = { name: "El Salvador", capital: "San Salvador" } + readonly GQ: CountryTranslation = { name: "Äquatorialguinea", capital: "Ciudad de la Paz" } + readonly ER: CountryTranslation = { name: "Eritrea", capital: "Asmara" } + readonly EE: CountryTranslation = { name: "Estland", capital: "Tallinn" } + readonly SZ: CountryTranslation = { name: "Eswatini", capital: "Lobamba" } + readonly ET: CountryTranslation = { name: "Äthiopien", capital: "Addis Abeba" } + readonly TL: CountryTranslation = { name: "Osttimor", capital: "Dili" } + readonly FK: CountryTranslation = { name: "Falklandinseln", capital: "Stanley" } + readonly FO: CountryTranslation = { name: "Färöer", capital: "Torshavn" } + readonly FJ: CountryTranslation = { name: "Fidschi", capital: "Suva" } + readonly FI: CountryTranslation = { name: "Finnland", capital: "Helsinki" } + readonly FR: CountryTranslation = { name: "Frankreich", capital: "Paris" } + readonly GA: CountryTranslation = { name: "Gabun", capital: "Libreville" } + readonly GM: CountryTranslation = { name: "Gambia", capital: "Banjul" } + readonly GE: CountryTranslation = { name: "Georgien", capital: "Tiflis" } + readonly DE: CountryTranslation = { name: "Deutschland", capital: "Berlin" } + readonly GH: CountryTranslation = { name: "Ghana", capital: "Accra" } + readonly GI: CountryTranslation = { name: "Gibraltar", capital: "Gibraltar" } + readonly GR: CountryTranslation = { name: "Griechenland", capital: "Athen" } + readonly GL: CountryTranslation = { name: "Grönland", capital: "Nuuk" } + readonly GD: CountryTranslation = { name: "Grenada", capital: "St. George's" } + readonly GU: CountryTranslation = { name: "Guam", capital: "Hagatna" } + readonly GT: CountryTranslation = { name: "Guatemala", capital: "Guatemala-Stadt" } + readonly GG: CountryTranslation = { name: "Guernsey", capital: "St. Peter Port" } + readonly GN: CountryTranslation = { name: "Guinea", capital: "Conakry" } + readonly GW: CountryTranslation = { name: "Guinea-Bissau", capital: "Bissau" } + readonly GY: CountryTranslation = { name: "Guyana", capital: "Georgetown" } + readonly HT: CountryTranslation = { name: "Haiti", capital: "Port-au-Prince" } + readonly VA: CountryTranslation = { name: "Holy See", capital: "Vatican City" } + readonly HN: CountryTranslation = { name: "Honduras", capital: "Tegucigalpa" } + readonly HK: CountryTranslation = { name: "Hongkong", capital: "HongKong" } + readonly HU: CountryTranslation = { name: "Ungarn", capital: "Budapest" } + readonly IS: CountryTranslation = { name: "Island", capital: "Reykjavik" } + readonly IN: CountryTranslation = { name: "Indien", capital: "Neu-Delhi" } + readonly ID: CountryTranslation = { name: "Indonesien", capital: "Nusantara" } + readonly IR: CountryTranslation = { name: "Iran", capital: "Teheran" } + readonly IQ: CountryTranslation = { name: "Irak", capital: "Bagdad" } + readonly IE: CountryTranslation = { name: "Irland", capital: "Dublin" } + readonly IM: CountryTranslation = { name: "Isle of Man", capital: "Douglas" } + readonly IL: CountryTranslation = { name: "Israel", capital: "Jerusalem" } + readonly IT: CountryTranslation = { name: "Italien", capital: "Rom" } + readonly JM: CountryTranslation = { name: "Jamaika", capital: "Kingston" } + readonly JP: CountryTranslation = { name: "Japan", capital: "Tokio" } + readonly JE: CountryTranslation = { name: "Jersey", capital: "Saint Helier" } + readonly JO: CountryTranslation = { name: "Jordanien", capital: "Amman" } + readonly KZ: CountryTranslation = { name: "Kasachstan", capital: "Astana" } + readonly KE: CountryTranslation = { name: "Kenia", capital: "Nairobi" } + readonly KI: CountryTranslation = { name: "Kiribati", capital: "South Tarawa" } + readonly KW: CountryTranslation = { name: "Kuwait", capital: "Kuwait" } + readonly KG: CountryTranslation = { name: "Kirgistan", capital: "Bischkek" } + readonly LA: CountryTranslation = { name: "Laos", capital: "Vientiane" } + readonly LV: CountryTranslation = { name: "Lettland", capital: "Riga" } + readonly LB: CountryTranslation = { name: "Libanon", capital: "Beirut" } + readonly LS: CountryTranslation = { name: "Lesotho", capital: "Maseru" } + readonly LR: CountryTranslation = { name: "Liberia", capital: "Monrovia" } + readonly LY: CountryTranslation = { name: "Libyen", capital: "Tripolis" } + readonly LI: CountryTranslation = { name: "Liechtenstein", capital: "Vaduz" } + readonly LT: CountryTranslation = { name: "Litauen", capital: "Vilnius" } + readonly LU: CountryTranslation = { name: "Luxemburg", capital: "Luxemburg" } + readonly MG: CountryTranslation = { name: "Madagaskar", capital: "Antananarivo" } + readonly MW: CountryTranslation = { name: "Malawi", capital: "Lilongwe" } + readonly MY: CountryTranslation = { name: "Malaysia", capital: "Kuala Lumpur" } + readonly MV: CountryTranslation = { name: "Malediven", capital: "Malé" } + readonly ML: CountryTranslation = { name: "Mali", capital: "Bamako" } + readonly MT: CountryTranslation = { name: "Malta", capital: "Valletta" } + readonly MH: CountryTranslation = { name: "Marshallinseln", capital: "Majuro" } + readonly MR: CountryTranslation = { name: "Mauretanien", capital: "Nouakchott" } + readonly MU: CountryTranslation = { name: "Mauritius", capital: "Port Louis" } + readonly MX: CountryTranslation = { name: "Mexiko", capital: "Mexiko-Stadt" } + readonly FM: CountryTranslation = { name: "Mikronesien", capital: "Palikir" } + readonly MD: CountryTranslation = { name: "Moldau", capital: "Chișinău" } + readonly MC: CountryTranslation = { name: "Monaco", capital: "Monaco" } + readonly MN: CountryTranslation = { name: "Mongolei", capital: "Ulaanbaatar" } + readonly ME: CountryTranslation = { name: "Montenegro", capital: "Podgorica" } + readonly MS: CountryTranslation = { name: "Montserrat", capital: "Plymouth" } + readonly MA: CountryTranslation = { name: "Marokko", capital: "Rabat" } + readonly MZ: CountryTranslation = { name: "Mosambik", capital: "Maputo" } + readonly MM: CountryTranslation = { name: "Myanmar", capital: "Naypyidaw" } + readonly KP: CountryTranslation = { name: "Nordkorea", capital: "Pyongyang" } + readonly NA: CountryTranslation = { name: "Namibia", capital: "Windhoek" } + readonly NR: CountryTranslation = { name: "Nauru", capital: "Yaren" } + readonly NP: CountryTranslation = { name: "Nepal", capital: "Kathmandu" } + readonly NL: CountryTranslation = { name: "Niederlande", capital: "Amsterdam" } + readonly NC: CountryTranslation = { name: "Neukaledonien", capital: "Nouméa" } + readonly NZ: CountryTranslation = { name: "Neuseeland", capital: "Wellington" } + readonly NI: CountryTranslation = { name: "Nicaragua", capital: "Managua" } + readonly NE: CountryTranslation = { name: "Niger", capital: "Niamey" } + readonly NG: CountryTranslation = { name: "Nigeria", capital: "Abuja" } + readonly NU: CountryTranslation = { name: "Niue", capital: "Alofi" } + readonly NF: CountryTranslation = { name: "Norfolkinsel", capital: "Kingston" } + readonly MP: CountryTranslation = { name: "Nördliche Marianen", capital: "Saipan" } + readonly NO: CountryTranslation = { name: "Norwegen", capital: "Oslo" } + readonly MK: CountryTranslation = { name: "Nordmazedonien", capital: "Skopje" } + readonly OM: CountryTranslation = { name: "Oman", capital: "Maskat" } + readonly PK: CountryTranslation = { name: "Pakistan", capital: "Islamabad" } + readonly PW: CountryTranslation = { name: "Palau", capital: "Ngerulmud" } + readonly PS: CountryTranslation = { name: "Palästina", capital: "Ramallah" } + readonly PA: CountryTranslation = { name: "Panama", capital: "Panama Stadt" } + readonly PG: CountryTranslation = { name: "Papua-Neuguinea", capital: "Port Moresby" } + readonly PY: CountryTranslation = { name: "Paraguay", capital: "Asunción" } + readonly PE: CountryTranslation = { name: "Peru", capital: "Lima" } + readonly PH: CountryTranslation = { name: "Philippinen", capital: "Manila" } + readonly PN: CountryTranslation = { name: "Pitcairninseln", capital: "Adamstown" } + readonly PL: CountryTranslation = { name: "Polen", capital: "Warschau" } + readonly PT: CountryTranslation = { name: "Portugal", capital: "Lissabon" } + readonly PR: CountryTranslation = { name: "Puerto Rico", capital: "San Juan" } + readonly QA: CountryTranslation = { name: "Katar", capital: "Doha" } + readonly RO: CountryTranslation = { name: "Rumänien", capital: "Bukarest" } + readonly RU: CountryTranslation = { name: "Russland", capital: "Moskau" } + readonly RW: CountryTranslation = { name: "Ruanda", capital: "Kigali" } + readonly KR: CountryTranslation = { name: "Südkorea", capital: "Seoul" } + readonly KN: CountryTranslation = { name: "St. Kitts und Nevis", capital: "Basseterre" } + readonly LC: CountryTranslation = { name: "St. Lucia", capital: "Castries" } + readonly VC: CountryTranslation = { name: "St. Vincent und die Grenadinen", capital: "Kingstown" } + readonly WS: CountryTranslation = { name: "Samoa", capital: "Apia" } + readonly SM: CountryTranslation = { name: "San Marino", capital: "San Marino" } + readonly ST: CountryTranslation = { name: "São Tomé und Príncipe", capital: "São Tomé" } + readonly SA: CountryTranslation = { name: "Saudi-Arabien", capital: "Riad" } + readonly SN: CountryTranslation = { name: "Senegal", capital: "Dakar" } + readonly RS: CountryTranslation = { name: "Serbien", capital: "Belgrad" } + readonly SC: CountryTranslation = { name: "Seychellen", capital: "Victoria" } + readonly SL: CountryTranslation = { name: "Sierra Leone", capital: "Freetown" } + readonly SG: CountryTranslation = { name: "Singapur", capital: "Singapur" } + readonly SX: CountryTranslation = { name: "Sint Maarten", capital: "Philipsburg" } + readonly SK: CountryTranslation = { name: "Slowakei", capital: "Bratislava" } + readonly SI: CountryTranslation = { name: "Slowenien", capital: "Ljubljana" } + readonly SB: CountryTranslation = { name: "Salomonen", capital: "Honiara" } + readonly SO: CountryTranslation = { name: "Somalia", capital: "Mogadischu" } + readonly ZA: CountryTranslation = { name: "Südafrika", capital: "Pretoria" } + readonly SS: CountryTranslation = { name: "Südsudan", capital: "Juba" } + readonly ES: CountryTranslation = { name: "Spanien", capital: "Madrid" } + readonly LK: CountryTranslation = { name: "Sri Lanka", capital: "Colombo" } + readonly SD: CountryTranslation = { name: "Sudan", capital: "Khartum" } + readonly SR: CountryTranslation = { name: "Suriname", capital: "Paramaribo" } + readonly SJ: CountryTranslation = { name: "Spitzbergen", capital: "Longyearbyen" } + readonly SE: CountryTranslation = { name: "Schweden", capital: "Stockholm" } + readonly CH: CountryTranslation = { name: "Schweiz", capital: "Bern" } + readonly SY: CountryTranslation = { name: "Syrien", capital: "Damaskus" } + readonly TW: CountryTranslation = { name: "Taiwan", capital: "Taipeh" } + readonly TJ: CountryTranslation = { name: "Tadschikistan", capital: "Duschanbe" } + readonly TZ: CountryTranslation = { name: "Tansania", capital: "Dodoma" } + readonly TH: CountryTranslation = { name: "Thailand", capital: "Bangkok" } + readonly TG: CountryTranslation = { name: "Togo", capital: "Lome" } + readonly TK: CountryTranslation = { name: "Tokelau", capital: "Atafu, Fakaofo, Nukunonu" } + readonly TO: CountryTranslation = { name: "Tonga", capital: "Nuku'alofa" } + readonly TT: CountryTranslation = { name: "Trinidad und Tobago", capital: "Port of Spain" } + readonly TN: CountryTranslation = { name: "Tunesien", capital: "Tunis" } + readonly TR: CountryTranslation = { name: "Türkei", capital: "Ankara" } + readonly TM: CountryTranslation = { name: "Turkmenistan", capital: "Aschgabat" } + readonly TC: CountryTranslation = { name: "Turks- und Caicosinseln", capital: "Cockburn Town" } + readonly TV: CountryTranslation = { name: "Tuvalu", capital: "Funafuti" } + readonly UG: CountryTranslation = { name: "Uganda", capital: "Kampala" } + readonly UA: CountryTranslation = { name: "Ukraine", capital: "Kiew" } + readonly AE: CountryTranslation = { name: "Vereinigte Arabische Emirate", capital: "Abu Dhabi" } + readonly GB: CountryTranslation = { name: "Vereinigtes Königreich", capital: "London" } + readonly US: CountryTranslation = { name: "Vereinigte Staaten", capital: "Washington D.C." } + readonly UY: CountryTranslation = { name: "Uruguay", capital: "Montevideo" } + readonly UZ: CountryTranslation = { name: "Usbekistan", capital: "Taschkent" } + readonly VU: CountryTranslation = { name: "Vanuatu", capital: "Port Vila" } + readonly VE: CountryTranslation = { name: "Venezuela", capital: "Caracas" } + readonly VN: CountryTranslation = { name: "Vietnam", capital: "Hanoi" } + readonly EH: CountryTranslation = { name: "Westsahara", capital: "El Aaiun" } + readonly YE: CountryTranslation = { name: "Jemen", capital: "Sanaa" } + readonly ZM: CountryTranslation = { name: "Sambia", capital: "Lusaka" } + readonly ZW: CountryTranslation = { name: "Simbabwe", capital: "Harare" } +} diff --git a/src/app/common/language/translations/de/de.game-page.ts b/src/app/common/language/translations/de/de.game-page.ts new file mode 100644 index 0000000..2877f5d --- /dev/null +++ b/src/app/common/language/translations/de/de.game-page.ts @@ -0,0 +1,41 @@ +import { CountryCode } from "src/app/interfaces/iso-3166.interface" +import { CountryTranslation, TranslationCountries } from "./de.countries" + +export class TranslationGamePage { + protected translationCountries = new TranslationCountries() + + guessCountryTitle = "Zu welchem Land gehört diese Flagge?"" + + finishModal = { + title: "Spiel beenden?", + totalAnswers: "Antworten Gesamt", + correctAnswers: "Richtige Antworten", + wrongAnswers: "Falsche Antworten", + timePassed: "Time passed", + buttons: { + finish: "Beenden", + }, + } + + getGuessCapitalTitle({ countryCode }: { countryCode: CountryCode }): string { + const countryName = this.getCountryNameTranslation(countryCode) + + return `Was ist die Hauptstadt von ${countryName} ?` + } + + getGuessPopulationTitle({ countryCode }: { countryCode: CountryCode }): string { + const countryName = this.getCountryNameTranslation(countryCode) + + return `Was ist die Bevölkerung von ${countryName} ?` + } + + protected getCountryNameTranslation(countryCode: CountryCode) { + const { name: countryName } = this.getCountryTranslation(countryCode) + + return countryName + } + + protected getCountryTranslation(countryCode: CountryCode): CountryTranslation { + return this.translationCountries[countryCode] + } +} diff --git a/src/app/common/language/translations/de/de.games-page.ts b/src/app/common/language/translations/de/de.games-page.ts new file mode 100644 index 0000000..a106d45 --- /dev/null +++ b/src/app/common/language/translations/de/de.games-page.ts @@ -0,0 +1,9 @@ +export class TranslationGamesPage { + title = "Spiele" + + games = { + guessCountry: "Land erraten", + guessCapital: "Hauptstadt erraten", + guessPopulation: "Bevölkerung erraten". + } +} diff --git a/src/app/common/language/translations/de/de.settings-page.ts b/src/app/common/language/translations/de/de.settings-page.ts new file mode 100644 index 0000000..1e38b4a --- /dev/null +++ b/src/app/common/language/translations/de/de.settings-page.ts @@ -0,0 +1,43 @@ +export class TranslationSettingsPage { + title = "Einstellungen" + + difficulty = { + title: "Schwierigkeit", + easy: "Einfach", + medium: "Mittel", + hard: "Schwer", + } + + gameLength = { + title: "Spiellänge", + short: "Kurz", + medium: "Mittel", + long: "Lang", + } + + background = { + title: "Hintergrund", + light: "Hell", + nord: "Nord", + github: "GitHub", + retro: "Retro", + dark: "Dunkel", + black: "Schwarz", + } + + accent = { + title: "Akzent", + } + + readonly language = { + title: "Sprache", + english: "Englisch", + russian: "Russisch", + german: "Deutsch" + } + + categories = { + general: "Generell", + theme: "Thema", + } +} diff --git a/src/app/common/language/translations/de/de.statistics-page.ts b/src/app/common/language/translations/de/de.statistics-page.ts new file mode 100644 index 0000000..95dd10d --- /dev/null +++ b/src/app/common/language/translations/de/de.statistics-page.ts @@ -0,0 +1,7 @@ +export class TranslationStatisticsPage { + title = "Statistiken" + + history = "Geschichte" + + historyIsEmpty = "Keine Geschichte" +} diff --git a/src/app/common/language/translations/de/de.statistics.ts b/src/app/common/language/translations/de/de.statistics.ts new file mode 100644 index 0000000..095a016 --- /dev/null +++ b/src/app/common/language/translations/de/de.statistics.ts @@ -0,0 +1,7 @@ +export class TranslationStatistics { + correctAnswers = "Richtige Antworten" + + date = "Datum" + + timeTaken = "Zeit" +} diff --git a/src/app/common/language/translations/de/de.translation.ts b/src/app/common/language/translations/de/de.translation.ts new file mode 100644 index 0000000..c9e91b7 --- /dev/null +++ b/src/app/common/language/translations/de/de.translation.ts @@ -0,0 +1,26 @@ +import { Locale } from "../../language.interface" +import { TranslationCountries } from "./de.countries" +import { TranslationGamePage } from "./de.game-page" +import { TranslationGamesPage } from "./de.games-page" +import { TranslationSettingsPage } from "./de.settings-page" +import { TranslationStatistics } from "./de.statistics" +import { TranslationStatisticsPage } from "./de.statistics-page" +import { TranslationUI } from "./de.ui" + +export class Translation { + readonly localeKey: Locale = "DE" + + readonly ui = new TranslationUI() + + readonly settingsPage = new TranslationSettingsPage() + + readonly gamesPage = new TranslationGamesPage() + + readonly gamePage = new TranslationGamePage() + + readonly statisticsPage = new TranslationStatisticsPage() + + readonly statistics = new TranslationStatistics() + + readonly countries = new TranslationCountries() +} From 4717e84e50e5e4b8a607552f5be61f40e8e7e72e Mon Sep 17 00:00:00 2001 From: Academion Date: Sun, 9 Aug 2026 00:08:40 +0200 Subject: [PATCH 5/9] Update de.game-page.ts forgor a translation --- src/app/common/language/translations/de/de.game-page.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/common/language/translations/de/de.game-page.ts b/src/app/common/language/translations/de/de.game-page.ts index 2877f5d..0106db3 100644 --- a/src/app/common/language/translations/de/de.game-page.ts +++ b/src/app/common/language/translations/de/de.game-page.ts @@ -11,7 +11,7 @@ export class TranslationGamePage { totalAnswers: "Antworten Gesamt", correctAnswers: "Richtige Antworten", wrongAnswers: "Falsche Antworten", - timePassed: "Time passed", + timePassed: "Vergangene Zeit", buttons: { finish: "Beenden", }, From 37dab6a2e9ca2265eb03e9a166a02fc61bf69b42 Mon Sep 17 00:00:00 2001 From: Academion Date: Mon, 17 Aug 2026 03:01:43 +0200 Subject: [PATCH 6/9] Update de.game-page.ts Chose Einwohner(zahl) for now --- src/app/common/language/translations/de/de.game-page.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/common/language/translations/de/de.game-page.ts b/src/app/common/language/translations/de/de.game-page.ts index 0106db3..e9c03e8 100644 --- a/src/app/common/language/translations/de/de.game-page.ts +++ b/src/app/common/language/translations/de/de.game-page.ts @@ -26,7 +26,7 @@ export class TranslationGamePage { getGuessPopulationTitle({ countryCode }: { countryCode: CountryCode }): string { const countryName = this.getCountryNameTranslation(countryCode) - return `Was ist die Bevölkerung von ${countryName} ?` + return `Wie viele Einwohner hat ${countryName}?` } protected getCountryNameTranslation(countryCode: CountryCode) { From b22b07ec938a5781254161ea367b7b0249c7f5c5 Mon Sep 17 00:00:00 2001 From: Academion Date: Mon, 17 Aug 2026 03:09:50 +0200 Subject: [PATCH 7/9] Update de.games-page.ts Changed to Einwohnerzahl so that it matches "de.game-page.ts" --- src/app/common/language/translations/de/de.games-page.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/common/language/translations/de/de.games-page.ts b/src/app/common/language/translations/de/de.games-page.ts index a106d45..877bee4 100644 --- a/src/app/common/language/translations/de/de.games-page.ts +++ b/src/app/common/language/translations/de/de.games-page.ts @@ -4,6 +4,6 @@ export class TranslationGamesPage { games = { guessCountry: "Land erraten", guessCapital: "Hauptstadt erraten", - guessPopulation: "Bevölkerung erraten". + guessPopulation: "Einwohnerzahl erraten". } } From 5905bf8f99338f497cba448b21b31e537cb9263b Mon Sep 17 00:00:00 2001 From: Academion Date: Mon, 17 Aug 2026 03:24:53 +0200 Subject: [PATCH 8/9] Update de.statistics.ts Changed according to The-Nichname's suggestion --- src/app/common/language/translations/de/de.statistics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/common/language/translations/de/de.statistics.ts b/src/app/common/language/translations/de/de.statistics.ts index 095a016..3c1af11 100644 --- a/src/app/common/language/translations/de/de.statistics.ts +++ b/src/app/common/language/translations/de/de.statistics.ts @@ -3,5 +3,5 @@ export class TranslationStatistics { date = "Datum" - timeTaken = "Zeit" + timeTaken = "Benötigte Zeit" } From 57634026877acf7552f48409862877b88e20e24b Mon Sep 17 00:00:00 2001 From: Academion Date: Mon, 17 Aug 2026 03:31:35 +0200 Subject: [PATCH 9/9] Update de.countries.ts small corrections --- src/app/common/language/translations/de/de.countries.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/common/language/translations/de/de.countries.ts b/src/app/common/language/translations/de/de.countries.ts index 5f38082..0f25ceb 100644 --- a/src/app/common/language/translations/de/de.countries.ts +++ b/src/app/common/language/translations/de/de.countries.ts @@ -24,7 +24,7 @@ export class TranslationCountries { readonly BD: CountryTranslation = { name: "Bangladesch", capital: "Dhaka" } readonly BB: CountryTranslation = { name: "Barbados", capital: "Bridgetown" } readonly BY: CountryTranslation = { name: "Belarus", capital: "Minsk" } - readonly BE: CountryTranslation = { name: "Belgier", capital: "Brüssel" } + readonly BE: CountryTranslation = { name: "Belgien", capital: "Brüssel" } readonly BZ: CountryTranslation = { name: "Belize", capital: "Belmopan" } readonly BJ: CountryTranslation = { name: "Benin", capital: "Porto-Novo" } readonly BM: CountryTranslation = { name: "Bermuda", capital: "Hamilton" } @@ -96,7 +96,7 @@ export class TranslationCountries { readonly HT: CountryTranslation = { name: "Haiti", capital: "Port-au-Prince" } readonly VA: CountryTranslation = { name: "Holy See", capital: "Vatican City" } readonly HN: CountryTranslation = { name: "Honduras", capital: "Tegucigalpa" } - readonly HK: CountryTranslation = { name: "Hongkong", capital: "HongKong" } + readonly HK: CountryTranslation = { name: "Hongkong", capital: "Hongkong" } readonly HU: CountryTranslation = { name: "Ungarn", capital: "Budapest" } readonly IS: CountryTranslation = { name: "Island", capital: "Reykjavik" } readonly IN: CountryTranslation = { name: "Indien", capital: "Neu-Delhi" }