/ / Zend Translate - Gebietsschema pro Benutzer festlegen - zend-framework, zend-translate

Zend Translate - Gebietsschema pro Benutzer festlegen - zend-framework, zend-translate

Ich entwickle eine mehrsprachige Website.

Ich habe ein Zend_Translate-Objekt in Zend_Registry eingefügt und benutze es, um alle statischen Texte in das ausgewählte Gebietsschema zu übersetzen.

Meine Frage ist, wie ändere ich das Gebietsschema, wenn der Benutzer eine andere Sprache wählt?

Wenn ich das translate-Objekt aus der Registrierung bekomme, setLocale aufruft und es wieder in die Registrierung lege, wird es nur für diesen Benutzer oder für die gesamte Anwendung gelten?

Vielen Dank.

Antworten:

2 für die Antwort № 1

Sie müssen dafür ein Plugin verwenden.

Kurz gesagt: Erstelle dein Plugin und füge das hinzu routeStartup() und routeShutdown() Methoden dazu. Legen Sie in der vorherigen die Gebietsschemazeichenfolge in einem Anforderungsparam fest, und legen Sie bei Bedarf auch fest, dass der Anforderungs-URI die Gebietsschemazeichenfolge enthält. Die korrekte Erkennung von Locale-Strings liegt bei Ihnen - Sie können entweder einen Cookie, einen URL-Parameter, den akzeptierten Sprachheader des Browsers oder eine beliebige Kombination der drei verwenden. Erstellen Sie in diesem Fall den Zend_Translate Objekt basierend auf dem Gebietsschema, das Sie zuvor festgelegt haben.

Hier ist wie es in meinem CMS aussieht.

Hier ist ein Tutorial zur Verwendung des Sprachparameters in der URL. Sie können auch überprüfen wie ich es in meinem CMS mache (Siehe die _initRouter-Methode).

Ich hoffe diese Info ist hilfreich.


0 für die Antwort № 2

Verwenden Sie Poedit für diesen Zweck .. gehen Sie durch diesen Link für mehr

techie.ayyappadas.com/how-do-use-poeditor