Ergebnis 1 bis 19 von 19

Thema: Eigene Sprache hinzufügen für Übersetzung (Meta-Informationen)

  1. #1
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Frage Eigene Sprache hinzufügen für Übersetzung (Meta-Informationen)

    Hallo zusammen

    Ich arbeite gerade an einem Relaunch einer mehrsprachigen Website. Die Website gibt es in DE, FR und EN. Das Problem ist, dass in der aktuellen URL die Sprachinfo mitgegeben wird und zwar so: de-CH, fr-CH und en-CH. Die ersten beiden sind ja gültige Werte, en-CH gibt es aber eigentlich nicht, da EN keine Landessprache der Schweiz ist. Trotzdem sollte diese Info auch bei der aktuellen Seite in der URL erscheinen.

    Eintragen kann ich en-CH ja beim "Startpunkt der Website". Das Problem habe ich jetzt aber bei den Meta-Informationen in der Dateiverwaltung für die Übersetzung. Dort erscheint mir en-CH natürlich nicht, da Contao diese Codierung nicht kennt.

    Darum meine Frage: kann man irgendwo eine Sprache hinzufügen, damit Contao en-CH akzeptiert?

    Danke und Gruss
    Marco

  2. #2
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Das hier ist ja ein ähnliches Problem, oder ?
    https://community.contao.org/de/show...ormale-Sprache

  3. #3
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von KlausGrenoble Beitrag anzeigen
    Das hier ist ja ein ähnliches Problem, oder ?
    Ja, ähnlich. Die Sprache de-EN kann ich bei der Seitenstruktur anlegen. Da "motzt" Contao nicht. Ist theoreitsch auch gemäss ISO639-1. Das Problem besteht halt bei der Dateiverwaltung, weil Contao diese Kombination nicht kennt und ich für diese Sprache keine Übersetzung anlegen kann. Mit en-GB würde es funktionieren. Aber der Kunde wünscht halt en-CH wie bisher.

    Danke und LG
    Marco

  4. #4
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Zitat Zitat von marcos Beitrag anzeigen
    Dateiverwaltung, weil Contao diese Kombination nicht kennt
    Wo ist das genau ? Kannst Du ein Beispiel aufführen !

  5. #5
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Dateiverwaltung > bei einem Bild auf den Bleistift > Meta-Informationen

    Die Sprache Englisch fehlt für die Übersetzung, weil Contao en-CH nicht kennt.

    Siehe: Meta_Informationen.png

  6. #6
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Seit wann gibt es in der Schweiz einen eigenen englischen Dialekt?

    Und du hast einem Seitenbaum tatsächlich als Sprache en-CH verpasst?

    Zitat Zitat von marcos Beitrag anzeigen
    Aber der Kunde wünscht halt en-CH wie bisher.
    Dann solltest du den Kunden vielleicht mal fragen, was das bedeuten soll und welchen Vorteil er darin sieht.
    Man kann ja auch einfach 'en' ohne Sub-Tag verwenden.
    Geändert von folkfreund (17.09.2015 um 17:32 Uhr)

  7. #7
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Zitat Zitat von marcos Beitrag anzeigen
    Dateiverwaltung > bei einem Bild auf den Bleistift > Meta-Informationen
    Sollte das in etwa so aussehen ? :
    SNAG-00123.gif
    SNAG-00124.gif
    http://contao.klausgraf.fr/metamodel...age-en-ch.html
    Nur so nebenbei: wo sehe ich jetzt die Metainformationen (ich kenn' mich da nicht so aus...) ?
    Zitat Zitat von folkfreund Beitrag anzeigen
    Seit wann gibt es in der Schweiz einen eigenen englischen Dialekt?
    Es handelt sich hier um Sprachen nicht um Dialekte ! Davon gibt es nämlich 37. Sprachen gibt es nur vier !
    Mit Hochdeutsch wären es fünf, is' aber nich.
    Da ich jahrelang in Genf gearbeitet habe, kann ich das mit dem en-CH schon nachvollziehen.
    80% ist Export, die Hälfte davon englischsprachig.
    en ist Englisch (en = en-GB). Und eine schweizer Seite auf Englisch (en-CH) ist eine schweizer Seite und keine englische Seite !!
    Und damit gibt's halt in der Schweiz inoffiziell fünf statt vier Sprachen.
    Geändert von KlausGrenoble (18.09.2015 um 00:59 Uhr)

  8. #8
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Daumen hoch

    Zitat Zitat von KlausGrenoble Beitrag anzeigen
    Sollte das in etwa so aussehen ? :
    SNAG-00123.gif
    SNAG-00124.gif
    Ja, genau so! Wie hast du das eingerichtet?


    Zitat Zitat von KlausGrenoble Beitrag anzeigen
    Nur so nebenbei: wo sehe ich jetzt die Metainformationen (ich kenn' mich da nicht so aus...) ?
    Zum Beispiel bei einer Galerie. Dort wird dann z.B. der Titel angezeigt oder das entsprechende Bild verlinkt.


    Zitat Zitat von KlausGrenoble Beitrag anzeigen
    Es handelt sich hier um Sprachen nicht um Dialekte ! Davon gibt es nämlich 37. Sprachen gibt es nur vier !
    Mit Hochdeutsch wären es fünf, is' aber nich.
    Da ich jahrelang in Genf gearbeitet habe, kann ich das mit dem en-CH schon nachvollziehen.
    80% ist Export, die Hälfte davon englischsprachig.
    en ist Englisch (en = en-GB). Und eine schweizer Seite auf Englisch (en-CH) ist eine schweizer Seite und keine englische Seite !!
    Und damit gibt's halt in der Schweiz inoffiziell fünf statt vier Sprachen.
    Ein richtiger Schweiz-Experte
    Ja genau, es soll ja eine Schweizer Seite auf Englisch sein.

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Zitat Zitat von KlausGrenoble Beitrag anzeigen
    en ist Englisch (en = en-GB). Und eine schweizer Seite auf Englisch (en-CH) ist eine schweizer Seite und keine englische Seite !!
    Trotzdem würde "en-CH", wenn sowas tatsächlich existieren würde, eine spezifische Sprache beschreiben, in diesem Fall also eine spezifische Form der englischen Sprache, die Vorwiegend in der Schweiz gesprochen wird.

  10. #10
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Eben. Es handelt sich um die Angabe der Sprache der Seite, nicht um eine Angabe zum geografischen Ursprung.

    (Den Unterschied zwischen Dialekt und Sprache kenne ich wohl, aber das war ja nicht das eigentliche Thema. Sorry, wenn ich da ungenau im Ausdruck war.)

  11. #11
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Zitat Zitat von marcos Beitrag anzeigen
    Ja, genau so! Wie hast du das eingerichtet?
    Unter /system/config/ habe ich in der language.php unter
    'en_CA' => 'English (Canada)',
    den Eintrag
    'en_CH' => 'English (Switzerland)',
    hinzugefügt.
    SNAG-00125.gif
    Das ist natürlich nicht updatesicher. Das sieht man auch, wenn man den Contao-check aufruft.
    Vielleicht ist es aber möglich, dies über z.B. die langconfig.php updatesicher zu machen. Aber da wird Dir sicherlich jemand darauf antworten.
    Zitat Zitat von marcos Beitrag anzeigen
    Zum Beispiel bei einer Galerie. Dort wird dann z.B. der Titel angezeigt oder das entsprechende Bild verlinkt.
    Jetzt hab' ich das auch hinbekommen:
    Hier auf der schweizer Seite sieht man den Titel mit der Übersetzung "en-CH":
    http://contao.klausgraf.fr/metamodel...age-en-ch.html
    Und hier auf der deutschen Seite sieht man den Titel mit der Übersetzung "de":
    http://contao.klausgraf.fr/metamodel.../de/en-ch.html
    Nur so nebenbei: Mir scheint, als ob Title und Caption im Inhaltselement "Gallery" vertauscht seien...
    Geändert von KlausGrenoble (18.09.2015 um 13:46 Uhr)

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Zitat Zitat von KlausGrenoble Beitrag anzeigen
    Unter /system/config/ habe ich in der language.php unter
    'en_CA' => 'English (Canada)',
    den Eintrag
    'en_CH' => 'English (Switzerland)',
    hinzugefügt.
    SNAG-00125.gif
    Das ist natürlich nicht updatesicher. Das sieht man auch, wenn man den Contao-check aufruft.
    Vielleicht ist es aber möglich, dies über z.B. die langconfig.php updatesicher zu machen. Aber da wird Dir sicherlich jemand darauf antworten.
    Es gibt einen getLanguages Hook: https://github.com/contao/core/blob/...ystem.php#L456
    Dort kann man das updatesicher einfügen.

  13. #13
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Es gibt einen getLanguages Hook: https://github.com/contao/core/blob/...ystem.php#L456
    Dort kann man das updatesicher einfügen.
    Vielen Dank für den Hinweis!
    Wie setze ich jetzt aber diese Sprache, dass die Sprache dann auch verfügbar ist?
    Die Sprache dem Array anhängen ist kein Problem. Der erweiterte Array muss aber jetzt irgendwo "gespeichert" werden, damit ich die Auswahl im Backend dann auch habe. Der HOOK erwartet ja keinen Rückgabewert.

    config.php
    PHP-Code:
    $GLOBALS['TL_HOOKS']['getLanguages'][] = array('MyHooks'editLanguageFile'); 
    MyHooks.php
    PHP-Code:
    public function editLanguageFile($return$languages$langsNative$blnInstalledOnly){
        
    $languages += array('en_CH' => 'English (Switzerland)');

        return 
    $languages//?

    Danke und LG
    Marco

  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Das was von der Funktion System::getLanguages zurückgegeben wird, bekommst du als Parameter übergeben. Daher:
    PHP-Code:
    public function editLanguageFile(&$return$languages$langsNative$blnInstalledOnly)
    {
        
    $return['en_CH'] = 'English (Switzerland)';


  15. #15
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das was von der Funktion System::getLanguages zurückgegeben wird, bekommst du als Parameter übergeben. Daher:
    PHP-Code:
    public function editLanguageFile(&$return$languages$langsNative$blnInstalledOnly)
    {
        
    $return['en_CH'] = 'English (Switzerland)';

    Danke!
    Aber wieso in $return und nicht $languages? Bei $return sind nur die Sprachen definiert (de, en, fr usw.) und in $languages Sprache & Land (de_AT, de_CH, de_DE usw.).
    Bei beiden Varianten habe ich aber noch keine Auswahl en_CH im Übesetzungsfeld in der Dateiverwaltung (Meta-Informationen). Muss noch was gemacht werden? (Cache usw. habe isch gelöscht)

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Zitat Zitat von marcos Beitrag anzeigen
    Danke!
    Aber wieso in $return und nicht $languages? Bei $return sind nur die Sprachen definiert (de, en, fr usw.) und in $languages Sprache & Land (de_AT, de_CH, de_DE usw.).
    Bei beiden Varianten habe ich aber noch keine Auswahl en_CH im Übesetzungsfeld in der Dateiverwaltung (Meta-Informationen). Muss noch was gemacht werden? (Cache usw. habe isch gelöscht)
    Sieh dir einfach die Funktion System::getLanugages an. Der Hook übergibt folgende Werte: $return, $languages, $langsNative, $blnInstalledOnly

    $return ist das finale Array, dass die Funktion System::getLanguages an das System zurückgibt. Dort sind dann alle im System verfügbaren Sprachen drin. $languages und $langsNative sind die Arrays aus der system/config/languages.php. $blnInstalledOnly ist der weitergegebene Parameter aus dem Funktionsaufruf von System::getLanguages - damit können die Sprachen auf die tatsächlich im System verfügbaren (also alles was im core Modul vorhanden ist) eingegrenzt werden.

    Warum es nicht funktioniert kann ich dir auch noch nicht sagen, müsste ich mir noch genauer ansehen. Evt. filtert die Backend Funktion zur Festlegung der Sprachen in den Meta Informationen die Sprachen nochmals.

  17. #17
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    $return ist das finale Array, dass die Funktion System::getLanguages an das System zurückgibt.
    Ah, okay stimmt im Backend sieht das schon ganz anders aus Im FE gibt $return ganz andere Werte aus.

    Aber trotzdem müsse doch jetzt en_CH im Dropdown-Feld erscheinen, nicht?
    Aktuell sieht es so aus: Meta_Informationen_en_CH.png

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Naja, wie du selbst siehst wird die Ausgabe da anscheinend nochmals gefiltert. Normalerweise hast du dort ja viel mehr als nur zwei Einträge.

    Funktioniert es überhaupt, wenn du en_CH direkt in $languages und $langsNative in der system/config/languages.php einträgst?

  19. #19
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Naja, wie du selbst siehst wird die Ausgabe da anscheinend nochmals gefiltert. Normalerweise hast du dort ja viel mehr als nur zwei Einträge.
    Contao zeigt da nur die Sprachen an, die in der Seitenstruktur pro Startpunkt definiert sind. Bei mir also de_CH, fr_CH und theoretisch auch en_CH.


    Zitat Zitat von Spooky Beitrag anzeigen
    Funktioniert es überhaupt, wenn du en_CH direkt in $languages und $langsNative in der system/config/languages.php einträgst?
    Ja, das funktioniert. Meta_Informationen_en_CH_2.png

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •