linguistik / tonbeleg

Datenspende-App für Tonbelege
Apache License 2.0
1 stars 5 forks source link

Korrekte deutsch/englisch Übersetzung auf allen Seiten #62

Open BetaZebra opened 2 years ago

nickl1234567 commented 2 years ago

bitte erst ganz am ende

ulf1 commented 2 years ago

LanguageSwitcher Component (Just to get an idea)

<script>
import { defineComponent, ref, watch } from "vue";
import { useI18n } from 'vue-i18n';

export default defineComponent({
  name: "LanguageSwitcher",

  setup(){
    // multi-lingual support inside the app
    const { t, locale } = useI18n();  // `locale` is used to switch between `de.json`, `en.json`, etc.

    // The user's preferred app language, i.e. for menus, etc.
    const language = ref();  // or `navigator.language` or load setting from database

    // load `language` setting from firebase
    ... here ...

    // in case `language` was not set
    if (typeof language.value == "undefined") {
      language.value = locale.value 
    }
    // Sync `language` and `locale` 
    watch(
      () => language.value,
      (lang) => { locale.value = lang }
    )

    return { t, language }
  }
});
</script>

The dropdown menu as component

<template>
  <ion-item>
    <ion-select interface="popover" 
                        placeholder="pick your app language" 
                        @ionChange="language = $event.target.value" 
                        v-bind:value="language">
    <ion-select-option value="en">English</ion-select-option>
    <ion-select-option value="fr">Français </ion-select-option>
    <ion-select-option value="de">Deutsch</ion-select-option>
    <ion-select-option value="de-leicht">Deutsch (Leichte Sprache)</ion-select-option>
    <ion-select-option value="de-AT">Deutsch (Österreich)</ion-select-option>
    <ion-select-option value="de-CH">Deutsch (Schweiz)</ion-select-option>
    <ion-select-option value="de-DE-ksh">Deutsch (Kölsch)</ion-select-option>
    <ion-select-option value="de-DE-nds">Deutsch (Niederdt. Platt)</ion-select-option>
    <ion-select-option value="de-DE-bai">Deutsch (Bairisch in Deutschland)</ion-select-option>
  </ion-item>
</template>

Die Dateien im Ordner @/translations heißen entsprechend de.json, de-AT.json, de-leicht.json, de-DE-ksh.json, usw.

ulf1 commented 2 years ago

bitte erst ganz am ende

Ja sehe das auch so. Am Ende könnt ihr so ein Dropdown programmieren und die präferierte Appsprache des Nutzers in Firebase speichern. Nimmt dann nur Deutsch (de.json) und English (en.json) für 1-2 Übersetzungsbeispiele, z.B. <tag>{{ t("general.appname") }} </tag>. Sowas richtig allgemeines. Bitte keine ausschweifende Übersetzungstätigkeit im engeren Sinne an dieser Stelle durchführen; Das ist ein anderer Job/Beruf.