2016-07-24 24 views
2

Ich versuche, eine Wordpress-Site eine andere Sprache hinzufügen. Ein Teil der Übersetzung wird von einem Plug-in namens Polylang gehandhabt, aber ich benutze auch .po/.mo-Dateien, um einen Teil des Textes zu bearbeiten, auf den Polylang nicht zugreifen kann.Übersetzen Sie Theme Texte in WordPress-Website nicht in .po-Datei enthalten

Es gibt jedoch Text, der nicht einmal in der .po-Datei angezeigt wird, die mit dem Thema geliefert wurde.

Hier ist ein Beispiel.

Es gibt eine Einstellung in den Designoptionen, um den Text für einige Links (Titel und Beschreibung) festzulegen. Die PHP in der Themenvorlage ist dies:

<div id="homeheadlinks" class="col-md-4"> 
     <a href="<?php echo $options['unf_firstlink']?>" class="headbutton bone"><i class="golink"></i><?php echo $options['unf_firstlinktitle']?> <em><?php echo $options['unf_firstlinkdesc']?></em></a> 
     <a href="<?php echo $options['unf_secondlink']?>" class="headbutton btwo"><i class="golink"></i><?php echo $options['unf_secondlinktitle']?> <em><?php echo $options['unf_secondlinkdesc']?></em></a> 
     <a href="<?php echo $options['unf_thirdlink']?>" class="headbutton bthree"><i class="golink"></i><?php echo $options['unf_thirdlinktitle']?> <em><?php echo $options['unf_thirdlinkdesc']?></em></a> 
    </div> 

Der Text kann über das Thema der Optionen geändert werden, aber es gibt keine Möglichkeit, eine andere Sprache als die wichtigste, die Art und Weise hinzuzufügen.

Wie könnte ich Übersetzungen für die Artikel wie $options['unf_firstlinktitle'] und $options['unf_firstlinkdesc'] hinzufügen.

Nur um klar zu sein, diese Elemente nicht in Polylang String Translations Abschnitt angezeigt.

+0

Ich habe dies noch nicht versucht. Ich gebe dir Feedback, sobald ich es ausprobiert habe. Ich danke Ihnen für Ihre Antwort. –

Antwort

0

So, hier ist was Ich tat es und es schien zu funktionieren. Ich beschloss, etwas hinzuzufügen, was LoicTheAztecs Vorschlag ähnelte.

In jedem dieser Links, änderte ich sie

<a href="<?php pll_e('http://mydomainname.com/englishpage/', 'mytheme-child') ?>" class="headbutton bone"><i class="golink"></i><?php pll_e('Link text', 'mytheme-child') ?> <em><?php pll_e ('Link description', 'mytheme-child') ?></em></a>https://wordpress.org/plugins/polylang-theme-strings/ 

Dann installierte ich das Plugin Polylang Theme Strings, die alle neuen Saiten habe ich mit pll_e() in Polylang String Translation Registerkarten erstellt. Von dort habe ich die Übersetzungen gemacht (nachdem ich in der Menüleiste oben auf Alle Sprachen anzeigen geklickt habe.)

Es funktioniert fast perfekt. Ich habe ein anderes Problem, über das ich schreiben werde, wenn ich es nicht bald selbst lösen kann.

3

Da Ihr Code mit einigen Einstellungen in Ihrem Thema verknüpft ist, können Sie diese direkt mit einem gettex native translatable function in Ihrem PHP-Template überschreiben. Sie müssen 'the title …' von Ihrem wirklichen Titel und 'your_theme_slug' von Ihrem eigentlichen Thema Slug) im Code ersetzt unter:

<div id="homeheadlinks" class="col-md-4"> 
     <a href="<?php echo $options['unf_firstlink']?>" class="headbutton bone"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_firstlinkdesc']?></em></a> 
     <a href="<?php echo $options['unf_secondlink']?>" class="headbutton btwo"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_secondlinkdesc']?></em></a> 
     <a href="<?php echo $options['unf_thirdlink']?>" class="headbutton bthree"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_thirdlinkdesc']?></em></a> 
    </div> 

Dann müssen Sie mit Polylang diese Vorlage erneut zu scannen für neue Saiten, und Sie werden finde 3 neue übersetzbare Strings heraus. Dies ist der schnellste Weg, um Ihr Problem zu lösen. Aber, falls noch nicht geschehen, wird es viel besser sein, ein Kind Thema zu aktivieren, kopieren Sie diese geänderte Datei hinein, vermeidet auf diese Weise Änderungen gehen dabei verloren, wenn Thema aktualisiert werden ...

Referenz: I18n for WordPress Developers (gettex)