Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrsprachigkeit der CC-Labels

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrsprachigkeit der CC-Labels

    Hi Tim,
    ich habe versucht die Titel der CC-Attribute mit Hilfe deiner Anleitung in diesem Beitrag für die jeweilige Sprache zu überschreiben, leider noch ohne Erfolg.

    Dazu hatte ich Ordner für die Sprachen Englisch (en) und Französisch (fr) in contao/languages/ hinzugefügt und dort dann jeweils eine default.php Datei mit folgenden Eintrag für z.B. französisch:

    PHP-Code:
    $GLOBALS['TL_LANG']['CUSTOMCATALOG']['cc_performer']['kategorie']['kategorie'][0] = 'Choisis ta catégorie en tant que'

    Die Variante für ein Filter-Dropdownmenü mittels

    PHP-Code:
    $GLOBALS['TL_LANG']['cc_performer']['gender']['mann'] = 'Male'
    zu überschreiben funktioniert, allerdings ist dann in jeder Sprache dieser Eintrag...
    Zuletzt geändert von Flex; 15.02.2022, 22:14.

  • #2
    Wenn du Paletten oder Felder übersetzen willst, fehlt entweder die Auflösung mit "palettes" oder "fields" als Schlüssel.

    Felder befinden sich im "fields" Schlüssel.

    $GLOBALS['TL_LANG']['CUSTOMCATALOG']['myTable']['fields']['myFieldAlias'][0] = 'My Label';
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Ich würde aber gerne zusätzlich noch die Titel übersetzen für franz. oder englische Mitglieder die Zugang zum Frontend Editing haben und ihren Eintrag bearbeiten sollen.

      Mittels z.B. {{iflng::de}}Geschlecht{{iflng::en}}Gender{{iflng: :fr}}Sexe{{iflng}} im Backend-Titel funktioniert das eigentlich ganz gut, dachte nur es gäbe auch die Möglichkeit über die langconfig bzw. default.php in den jeweiligen Sprachordnern...


      Die Variante:

      $GLOBALS['TL_LANG']['cc_performer']['gender']['mann'] = 'Male';


      greift so auch nur im z.B. Filter-Dropdown und nicht im FE Editing.
      Zuletzt geändert von Flex; 16.02.2022, 14:46.

      Kommentar


      • #4
        Du kannst die langconfig.php dafür nutzen. Die Syntax muss nur richtig sein. Siehe die Vorlagen oben

        Beispiel für die cc Tabelle: cc_immorealty, Feld "category"

        langconfig

        Code:
        if($GLOBALS['TL_LANGUAGE'] == 'de')
        {
        $GLOBALS['TL_LANG']['CUSTOMCATALOG']['cc_immorealty']['fields']['category'] = array('Kategorie','Ich bin das Kategorie-Feld');
        }
        if($GLOBALS['TL_LANGUAGE'] == 'en')
        {
        $GLOBALS['TL_LANG']['CUSTOMCATALOG']['cc_immorealty']['fields']['category'] = array('Category','I am the category field');
        }
        Du kannst auch das Feld frei in der dcaconfig.php manipulieren. Entweder direkt den Label array setzen oder via Globale usw. usw.

        Code:
        $GLOBALS['TL_DCA']['cc_immorealty']['fields']['category']['label'] = array('test','test');
        Zuletzt geändert von Tim; 16.02.2022, 15:09.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Hi,
          ich bin jetzt erst zum testen gekommen und weiß gerade nicht wo man denn noch eine langconfig.php in Contao 4.9 hintun soll... dachte es gibt jetzt nur noch eine default.php in den entsprechenden Sprachen-Ordnern unterhalb von contao/languages/.

          Das selbe gilt doch auch für die default.php, die ja jetzt in /contao/dca/ und dann event. tl_content.php oder tl_member.php heißen soll.

          Der Test mit deinem Code für eine default.php in einer tl_content.php brachte keinen Erfolg.


          Kommentar


          • #6
            langconfig.php in Contao 4.9 hintun soll.
            Google ist Dein Freund oder die Forums-Suche.

            https://contao-academy.de/blog/conta...und-langconfig

            ---
            Es reicht nicht nur einen language Ordner anzulegen. Du musst die Sprache als Ordner definieren (leidig, daher nutze ich lieber die gute langconfig.php, da kann alles in eine Datei)

            app/Resources/contao/languages/de/default.php, geht unter 4.9 auch (auch ohne S-Cache leeren, denke ich)

            /contao/languages/de/default.php, nur ab 4.9 -> setzt immer S-Cache leeren voraus!
            Zuletzt geändert von Tim; 18.02.2022, 10:00.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Hi Tim - danke nochmal für deine letzte Antwort, ich hatte am Wochende nochmal versucht die Übersetzung der Attribut-Label (Titel) mittels der langconfig.php im Ordner /system/config/ zu übersetzen, aber auch da ohne Erfolg...

              Es klappt bei mir eigentlich nur direkt im Backend mittels iflng-Tag, sieht nur nicht so schön aus...

              Das hatte ich in die langconfig eingetragen:

              Code:
              if($GLOBALS['TL_LANGUAGE'] == 'de')
              {
              $GLOBALS['TL_LANG']['CUSTOMCATALOG']['cc_performer']['fields']['contact_phone'] = array('Kontakt-Telefonnummer','Das ist meine Kontakttelefonnummer');
              }
              if($GLOBALS['TL_LANGUAGE'] == 'en')
              {
              $GLOBALS['TL_LANG']['CUSTOMCATALOG']['cc_performer']['fields']['contact_phone'] = array('Contact phone number','Das ist meine Kontakttelefonnummer');
              }
              if($GLOBALS['TL_LANGUAGE'] == 'fr')
              {
              $GLOBALS['TL_LANG']['CUSTOMCATALOG']['cc_performer']['fields']['contact_phone'] = array('Numéro de téléphone du contact','Numéro de téléphone...');
              }

              Die neue Methode (über die contao/languages/de ... en ... fr ) hatte ich davor ja auch schon probiert und da klappen bei mir nur Übersetzungen wie z.B. für das Registrierungsformular

              Code:
              $GLOBALS['TL_LANG']['MSC']['confirmation'] = 'Confirm password';
              $GLOBALS['TL_LANG']['tl_member']['street'] = array('Street and number', 'Please enter street and house number.');
              $GLOBALS['TL_LANG']['tl_member']['privacyConsent'] = array('Privacy policy', 'Yes, I accept the terms and conditions and the privacy policy.');
              dann aber auch speziell in der tl_member.php oder

              Code:
              $GLOBALS['TL_LANG']['cc_performer']['gender']['gender'] = 'Gender';
              $GLOBALS['TL_LANG']['cc_performer']['gender']['maennlich'] = 'Male';
              $GLOBALS['TL_LANG']['cc_performer']['gender']['weiblich'] = 'Female';
              in der default.php - allerdings sind diese eben nur für die Frontendbezeichnungen zu gebrauchen.

              Grundsätzlich würde ich gerne weiter so verfahren wollen und die Übersetzungen in die jeweiligen Sprachen-Ordner schreiben, denn in naher Zukunft soll die Variable $GLOBALS['TL_LANGUAGE'] ja auch nicht mehr unterstützt werden.

              https://docs.contao.org/books/extend...siontllanguage

              Die Frage ist, kann ich die Backendlabel, also die die Attribut-Titel mit der neuen Methode übersetzen oder geht es in diesem Fall dann doch nur mittels iflng-Inserttag direkt im Backend??
              Hauptsächlich geht es mir ja darum, englisch und französisch sprechende Mitglieder ihre Einträge selber verwalten zu lassen ohne das die alles erst übersetzen müssen.


              Abschließend auch die Frage, wie ich es am besten anstellen kann die Werte aus einem Select-Menü zu übersetzen?

              Die Bezeichnungen habe ich da auch mittels iflng-Tag angegeben, z.B. : {{iflng::de}}blau{{iflng::en}}blue{{iflng::fr}}ble u{{iflng}} - ABER in die Datenbank wird ja eben mal nur "blau" gespeichert.

              Oder welche Methode dafür besser geeignet wäre??
              Zuletzt geändert von Flex; 22.02.2022, 13:54.

              Kommentar


              • #8
                Ich konnte alle Labels und Beschreibungstexte im gesamten System (Contao und auch CC) mittels aller von mir genannten Methoden übersetzen.


                http://www.premium-contao-themes.com

                Kommentar

                Lädt...
                X