Angenommen, ich habe das Modul Foo
in einem Repository mit Composer installiert. Die Modulstruktur ist wie folgt:
Messages
Ordner von Foo
enthält Übersetzungsdateien des Moduls. Jetzt möchte ich einige Übersetzungsstrings von Foo
überschreiben. Von Yii2 i18n Dokumentation Ich habe versucht, fileMap zu verwenden Eigenschaft bei der Konfiguration der Übersetzungskomponente, um bar
category auf bar.php
abzubilden (anstatt von app\modules\Foo\messages
zu lesen), hat jedoch keine Auswirkungen auf die Übersetzungen. Meine i18n-Komponentenkonfiguration lautet:
Wie erreiche ich mein Ziel?
Wenn Sie für jedes im Modul enthaltene Modul Übersetzungen benötigen, müssen Sie die Übersetzungen für dieses Modul registrieren. Es kann nicht einfach aus der Konfigurationsdatei gemacht werden. Wahrscheinlich haben Sie dies bereits in Ihrer Moduldatei, ich füge nur zur Vollständigkeit hinzu. Der Code wird aus der Dokumentation kopiert und muss in Ihrer Moduldatei enthalten sein, also in app/modules/Foo.php
In Ihrem Fall sieht es nicht so aus, als müssten Sie eine Dateizuordnung bereitstellen. Sie können dieses Format einfach für Ihre Dateien verwenden
%Vor%Leider kann ich keine Liste der verfügbaren Kategorien finden.
Wenn Sie dann einige der Modulübersetzungen überschreiben möchten, müssen Sie die zu verwendende Kategorie angeben, wie dies in Ihrer Konfigurationsdatei der Fall ist. Es überschreibt ausdrücklich die Kategorie modules / foo / bar.
%Vor%Ihre Übersetzungsdatei muss einer Ordnerstruktur wie in der Übersetzungsbeschreibung folgen. Im obigen Beispiel wäre dies
%Vor% Übrigens, Sie können fileMap
verwenden, um zu verschiedenen Orten zu migrieren, etwa wenn Ihre Datei bar.php in app / messages / [Sprachcode]