Jump to content

1.7 Eigene Übersetzung hinzufügen


xtramen

Recommended Posts

Guten tag,

ich habe nun in einem Modul einen neuen String hinzugefügt.

$this->module->getTranslator()->trans('stock, low to high', array(), 'Shop.Theme.Catalog')

Wo kann ich diesen String nun übersetzen?
Im Adminmenü bei den Übersetzungen kann ich diesen String nirgends finden.
Hat mir jemand einen Tip?

Danke

Link to comment
Share on other sites

Das funktioniert aber mit eigenen Modulen nicht. Du kannst jedoch in 1.7 weiterhin mit dem Legacy System arbeiten - bei Fremdmodulen musst du das sogar. Es sollte also wie in den Vorversionen heißen:

{l s='stock, low to high' mod='irgendeinModul'}

Dann findest du die Variable bei den Modulübersetzungen.

Link to comment
Share on other sites

Ok schon mal ein Ansatz Danke.
Allerdings ist der String direkt in der Moduldatei und nicht im Template. Gibts da auch eine Funktion dafür?

Ich behebe lediglich ein BUG in einem vorinstallierten Prestashop Modul "Facettensuche".
Denn man kann im Adminmenü einstellen das nach Artikelmenge sortiert wird. In dem Modul ist dafür aber kein Eintrag.

Die unteren 2 Einträge will ich eben übersetzen:

    private function getAvailableSortOrders()
    {
        return [
            (new SortOrder('product', 'position', 'asc'))->setLabel(
                $this->module->getTranslator()->trans('Relevance', array(), 'Modules.Facetedsearch.Shop')
            ),
            (new SortOrder('product', 'name', 'asc'))->setLabel(
                $this->module->getTranslator()->trans('Name, A to Z', array(), 'Shop.Theme.Catalog')
            ),
            (new SortOrder('product', 'name', 'desc'))->setLabel(
                $this->module->getTranslator()->trans('Name, Z to A', array(), 'Shop.Theme.Catalog')
            ),
            (new SortOrder('product', 'price', 'asc'))->setLabel(
                $this->module->getTranslator()->trans('Price, low to high', array(), 'Shop.Theme.Catalog')
            ),
            (new SortOrder('product', 'price', 'desc'))->setLabel(
                $this->module->getTranslator()->trans('Price, high to low', array(), 'Shop.Theme.Catalog')
            ),
			// 03.01.18 
			// Bugfix - Sortierung nach Lagermenge fehlt(e).
            (new SortOrder('product', 'quantity', 'asc'))->setLabel(
                $this->module->getTranslator()->trans('stock, low to high', array(), 'Shop.Theme.Catalog')
            ),
            (new SortOrder('product', 'quantity', 'desc'))->setLabel(
                $this->module->getTranslator()->trans('stock, high to low', array(), 'Shop.Theme.Catalog')
            ),
			// Bugfix ENDE
        ];
    }

 

EDIT: Habs nun mal so versucht:

 

$this->module->l('stock, high to low', 'ps_facetedsearch')

Wird aber im Backend nirgends angezeigt.

Edited by xtramen (see edit history)
Link to comment
Share on other sites

Also ich habe es nun direkt in die Datei /app/Resources/translations/de-DE/ShopThemeCatalog.de-DE.xlf geschrieben.

      <trans-unit id="822df3330c7e6c162f2d9fa9d1a438ea" approved="yes">
        <source>Stock, high to low</source>
        <target xml:lang="de">Verfügbarkeit (absteigend)</target>
        <note>Context:
File: modules/ps_facetedsearch/src/Ps_FacetedsearchProductSearchProvider.php:141</note>
      </trans-unit>

Es wird im Frontend auch übersetzt. Jedoch im Backend nirgends angezeigt. Hat da jemand noch einen Vorschlag für mich?
Keine Ahnung warum das so komisch formatiert angezeigt wird hier...sorry!

Link to comment
Share on other sites

Also doch bei einem Standardmodul!

Dann war das schon ganz richtig, aber ... hier hast du doch nur Labels im Frontend angelegt ohne weitere Funktion.

Da die Übersetzungsabteilung von PrestaShop 1.7 nach wie vor eine Katastrophe ist, bleibt dir anschließend nichts anderes übrig, als 'manuell' die Übersetzung der neuen Variablen hier vorzunehmen:

\app\Resources\translations\de-DE\ShopThemeCatalog.de-DE.xlf

Um die Zusatzoption im Back Office anzuzeigen, müsstest du dort die

\modules\ps_facetedsearch\views\templates\admin\view.tpl

durch einen neuen Radio-Button erweitern. Da lautet die Syntax für die Variable übrigens:

{l s='stock, low to high' d='Modules.Facetedsearch.Admin'}

Damit es auch funktioniert, hast du ja wahrscheinlich die entsprechenden Programmteile erweitert. Denn sonst wäre das ja reine Oberflächenkosmetik ohne irgendwelche Auswirkungen.

EDIT: Die Übersetzungs-Datei hast du also schon gefunden. Ich hätte vorher mal den Browser aktualisieren sollen. :)

Link to comment
Share on other sites

Ja ich habe im Controller für die Facettensuche eine kleine Änderung vorgenommen damit das auch eine Funktion hat.
Die Funktion "getProductByFilters" habe ich mit folgendem erweitert:

if($order_by == 'p.quantity'){
$order_by = 'quantity';
}

Unter Shop-Einstellungen->Artikel kann man die Standardsortierung nach Artikelmenge einstellen.
Wenn man das tut, dann hat man aber gar keine Option im Frontend dafür. Es wird dann einfach nichts angezeigt im Dropdown.

Das andere ist, das in sämtlichen Controllern für Artikelauflistungen, gar nicht mehr in der Tabelle "product" gesucht wird. Die Artikelmengen sind in der Tabelle "stock_available" hinterlegt. Deshalb die zusätzliche kleine Änderung im Controller.

Es funktioniert nun zwar wie gewünscht, allerdings macht es mich wahnsinnig, das die Übersetzung nicht im Backend bei den Übersetzungen angezeigt wird :-/

Danke für die Unterstützung!

Edited by xtramen (see edit history)
Link to comment
Share on other sites

vor 16 Stunden schrieb xtramen:

Es funktioniert nun zwar wie gewünscht, allerdings macht es mich wahnsinnig, das die Übersetzung nicht im Backend bei den Übersetzungen angezeigt wird :-/

 

Na ja, wenn du willst, dass alles weitgehend funktioniert, dann solltest du auch nicht PrestaShop 1.7 einsetzen, sondern bei 1.6 bleiben.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...