Ergebnis 1 bis 2 von 2

Thema: Anpassung und Übersetzung von Konfigurationseinstellungen aus englischen Modulen

  1. #1
    Padawan Stufe VIII Avatar von klartexter
    Registriert seit
    19.02.2006
    Ort
    Augsburg
    Beiträge
    1.344
    Themen
    110
    DANKE
    50
    Erhaltene Danke: 116

    Cool Anpassung und Übersetzung von Konfigurationseinstellungen aus englischen Modulen

    Ich habe mal eine Frage an die Fachleute hier. Aus der amerikanischen Seite habe ich ein paar Module geholt, um sie für die deutsche Version zu übersetzen. Beispielsweise das Modul Encrypted Master Password. In dem File befindet sich unter anderem eine Datei, (encrypted_master_password-2.0.0\YOUR_ADMIN\includes\functions\extra_function s) welche Einträge in die Datenbank vornimmt. Die liest sich auszugsweise so:

    Code:
    if (!defined ('EMP_LOGIN_ADMIN_ID')) {
      $db->Execute ("INSERT INTO " . TABLE_CONFIGURATION . "
                      (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
                      VALUES ('Encrypted Master Password: Single Admin ID', 'EMP_LOGIN_ADMIN_ID', '1', 'Specify the ID of an admin user that is permitted to use the Encrypted Master Password feature. Set the value to 0 to disable the <em>Single Admin ID</em> feature.<br /><br /><b>Default: 1</b><br />', 1, '300', NOW(), NOW())");
    Nun ist das ja alles in englisch, aber es soll ja auch in deutsch sichtbar sein. Natürlich könnte man alles in deutscher Sprache eintragen, aber dann würde es auch in der englischen Version auf deutsch angezeigt. In den SQL-Dateien der deutschen Zen Cart Version gibt es ja auch immer eine deutsche Übersetzung, aber dort sind die Eingabebefehle anders.

    Frage: Gibt es eine Möglichkeit, oben genannte Datenbankbefehle auch über eine entsprechende Eingabe in deutsch zu generieren? Es wäre schön, wenn ich hier mal einige Informationen bekommen könnte. Dann könnte ich die Module bearbeiten und hier zur Verfügung stellen.
    Immer mit der Ruhe - ich komme noch früh genug zu spät!

  2. #2
    Jedi-Ritter Avatar von webchills
    Registriert seit
    30.10.2004
    Ort
    Österreich
    Beiträge
    6.846
    Themen
    94
    DANKE
    3
    Erhaltene Danke: 1.188

    Standard

    Hallo klartexter,

    schön, dass Du englische Module für die deutsche Version anpassen und zur Verfügung stellen willst!

    Die deutsche Zen Cart Version hat eine zusätzliche Datenbanktabelle namens configuration_language, in der die Übersetzungen für die Konfigurationseinstellungen hinterlegt werden. Diese Tabelle ist auch ansprechbar als TABLE_CONFIGURATION_LANGUAGE und enthält als wichtigste Spalten:
    configuration_title = Name für den Konfigurationseintrag
    configuration_key = Der Schlüssel für den Konfigurationseintrag, z.B. SHOW_BASE_UNIT_PRICE
    configuration_language_id = Die Sprache, die verwendet werden soll, normalerweise 43 für deutsch
    configuration_description = Beschreibungstext, der dann rechts beim Konfigurationseintrag erscheint.

    In der deutschen Zen Cart Version wird in der Administration immer ausgelesen, ob es zu einem Konfigurationseintrag wie z.B. SHOW_BASE_UNIT_PRICE in der Tabelle configuration_language einen Eintrag für die Sprache gibt, auf die der Admin gerade geschaltet ist und falls ja, dann wird eben die Übersetzung angezeigt

    Es gibt 2 Arten von SQL Installern, die bei den Modulen verwendet werden:

    1)
    SQL Befehle, die über Tools > SQL Patches installieren eingespielt werden müssen oder direkt via phpmyadmin.
    Das wird von den meisten Modulen so gemacht, sie enthalten dann eine install.sql, die man mit einem Texteditor öffnet, und den Inhalt kopiert und absendet.

    Bei solchen Modulen ist es recht simpel.
    Hier am Beispiel der Grundpreisanzeige:

    Hiermit wird der Konfigurationseintrag auf englisch angelegt und auch die entsprechenden Einstellungswerte:
    Code:
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Show Base Unit Price', 'SHOW_BASE_UNIT_PRICE', '0', 'Do you want to show the base unit price<br />0= off<br />1 = everywhere : product listing, all products, new products, product info<br />2 = Only on product info page', 19, 50, now(), now(), NULL, 'zen_cfg_select_drop_down(array(array(\'id\'=>\'0\', \'text\'=>\'Off\'), array(\'id\'=>\'1\', \'text\'=>\'Everywhere\'), array(\'id\'=>\'2\', \'text\'=>\'Product info only\')),
    ');
    Damit der Konfigurationseintrag SHOW_BASE_UNIT_PRICE nun auch im deutschen Admin auf deutsch erscheint, muss er noch in der Tabelle configuration_language hinterlegt werden.

    Also kommt noch folgender Befehl dazu:

    Code:
    INSERT INTO configuration_language (configuration_title, configuration_key, configuration_language_id, configuration_description, last_modified, date_added) VALUES ('Grundpreisanzeige', 'SHOW_BASE_UNIT_PRICE', '43', 'Wollen Sie den Grundpreis anzeigen?<br />0 = Nein<br />1 = auf allen Seiten (Artikelliste, Alle Artikel, Neue Artikel, Artikeldetailseite)<br />2 = Nur auf der Artikeldetailseite
    ', now(), now());
    Die Konfigurationswerte sind ja schon vorhanden, das ist also eine reine Sprachtabelle rein für die Übersetzung.

    Das ganze ginge natürlich zusätzlich auch, wenn der Admin auf französisch ist und eine französische Beschreibung angezeigt werde soll, indem derselbe Eintrag mit der entsprechenden französischen Übersetzung und der configuration_language_id 33 eingespielt wird.

    2)
    Autoinstaller
    Manche Module legen die Datenbankeinträge automatisiert durch Aufrufen der Administration an. Hier werden meistens Dateien wie DEINADMIN/includes/extra_functions/irgendwas.php oder DEINADMIN/includes/init_includes/irgendwas.php verwendet, weil die bei jedem Aufruf der Administration geladen werden.
    Hier ist es im Endeffekt genau dasselbe, wenn auch vielleicht etwas schwieriger, weil die Syntax genau beachtet werden muss.
    In Deinem Master Passwort Modul wird abgefragt ob der Konfigeintrag EMP_LOGIN_ADMIN_ID bereits vorhanden ist und falls nicht, wird er auf englisch angelegt:

    Code:
    if (!defined ('EMP_LOGIN_ADMIN_ID')) {
      $db->Execute ("INSERT INTO " . TABLE_CONFIGURATION . "
                      (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
                      VALUES ('Encrypted Master Password: Single Admin ID', 'EMP_LOGIN_ADMIN_ID', '1', 'Specify the ID of an admin user that is permitted to use the Encrypted Master Password feature. Set the value to 0 to disable the <em>Single Admin ID</em> feature.<br /><br /><b>Default: 1</b><br />', 1, '300', NOW(), NOW())");
    Um nun die passende deutsche Übersetzung anzulegen, könntest Du ihn z.B. so ergänzen:

    Code:
    if (!defined ('EMP_LOGIN_ADMIN_ID')) {
      $db->Execute ("INSERT INTO " . TABLE_CONFIGURATION . "
                      (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added) 
                      VALUES ('Encrypted Master Password: Single Admin ID', 'EMP_LOGIN_ADMIN_ID', '1', 'Specify the ID of an admin user that is permitted to use the Encrypted Master Password feature. Set the value to 0 to disable the <em>Single Admin ID</em> feature.<br /><br /><b>Default: 1</b><br />', 1, '300', NOW(), NOW())");
      $db->Execute ("REPLACE INTO " . TABLE_CONFIGURATION_LANGUAGE . "          
                     (configuration_title, configuration_key, configuration_language_id, configuration_description, last_modified, date_added) 
                     VALUES ('Verschlüsseltes Master Passwort', 'EMP_LOGIN_ADMIN_ID', '43', 'Geben Sie die ID eines Admin Users an, der die Master Passwort Funktion nutzen darf, usw. usw.', now(), now())");
    Nach diesem Prinzip lassen sich alle englischen Module multilingual in der deutschen Zen Cart Version verwenden.

    Grüße

    webchills
    !!! kostenloser Support ausschließlich im Forum - Nicht per Email, nicht per Telefon und nicht per PM !!!

  3. Folgender User sagt Danke zu webchills für den nützlichen Beitrag:

    klartexter (23.08.2014)

Ähnliche Themen

  1. €-Zeichen im Englischen
    Von kubber im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 0
    Letzter Beitrag: 15.04.2009, 14:08
  2. unterschiede zur englischen version
    Von tonitone im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 2
    Letzter Beitrag: 19.09.2006, 16:11
  3. Benutzung von osCommerce Modulen
    Von comptra im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 3
    Letzter Beitrag: 16.07.2006, 11:09
  4. Übersetzung Ver. 1.2.6d
    Von nicohal im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 16
    Letzter Beitrag: 01.02.2006, 22:05
  5. Bestellungen nur in der englischen Admin - Sprachauswahl
    Von HM im Forum Archivierte Beiträge Zen-Cart Support
    Antworten: 1
    Letzter Beitrag: 06.03.2005, 18:47

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
zen-cart-pro.at
Zen Cart ist eine kostenlose unter der GPL-Lizenz veröffentlichte Open-Source Shopsoftware. Das System wird in den USA entwickelt, die amerikanische Website dazu ist www.zen-cart.com

Die deutsche Zen-Cart Version, um die es hier auf zen-cart-pro.at geht, ist eine Anpassung der amerikanischen Version an die Bedürfnisse von Onlineshopbetreibern im deutschsprachigen Raum.
Die amerikanische Zen-Cart Version berücksichtigt viele rechtliche Erfordernisse nicht, denen ein Onlineshop im deutschsprachigen Raum unterworfen ist. Daher wurde die deutsche Zen-Cart Version nicht nur bloß ins Deutsche übersetzt, sondern auch funktional auf die Anforderungen, die an Onlineshops in Deutschland, Österreich und der Schweiz gestellt werden, angepasst.

Die amerikanische Version ist extrem abgespeckt und stellt weiterführende Funktionalitäten durch zusätzliche Module bereit, die erst mühsam manuell installiert werden müssen. Zahlreiche häufig genutzte Erweiterungen und eigene Entwicklungen sind in der deutschen Zen Cart Version bereits vorinstalliert.
Die deutsche Zen-Cart Version bietet außerdem einen völlig multilingualen Adminbereich. Weitere für die deutsche Zen Cart Version angepasste Erweiterungen stehen in unserem Downloadbereich zur Verfügung.

Die deutsche Zen Cart Version wird seit 15 Jahren von einem Team von Entwicklern in Österreich und Deutschland betreut, weiterentwickelt und supportet und steht kostenlos in unserem Downloadbereich zur Verfügung.

[mehr]
Follow Us
  • zen-cart-pro-at auf Twitter
  • zen-cart-pro-at auf Github
  • zen-cart-pro-at auf SourceForge
Aktuelle Version
Zen Cart 1.5.6c deutsch
vom 01.09.2019
[Download]

unterstützen
Unterstütze die Weiterentwicklung der deutschen Zen Cart Version mit einer Spende!

Spende für die Weiterentwicklung der deutschen Zen Cart Version