2016-07-20 9 views
0

Ich habe eine Chrome-Erweiterung für meine Firma mit i18n mit mehreren Sprachen im Ordner/_locales/erstellt. Es funktioniert gut, aber da das Sprachsystem auf der Sprache basiert, die auf dem Benutzer-Chrome-Browser eingestellt ist, gibt es Leute, die ein Problem haben.Ändern Sprache Erweiterung Sprache aus dem Popup-Menü, neben Browser-Einstellungen

Die Erweiterung lädt eine Liste von URLs, um Moderatoren bei der Beantwortung von Fragen im Firmenforum zu helfen. Moderatoren in den USA laden englische Schnittstelle mit US-URLs (mit & lg = en), Moderatoren in Russland laden russische Schnittstelle mit russischen URLs (mit & lg = ru) und so weiter. Das Problem ist, dass, da das Unternehmen global ist, es Leute außerhalb ihrer Länder gibt, die Notizbücher in Englisch verwenden, aber die Erweiterung benötigen würden, wenn sie zum Beispiel auf Deutsch oder Japanisch geladen werden.

Wenn ich ein Dropdown-Menü auf dem Popup-Fenster erstelle, ist es möglich, die Sprache der Extensions von dort zu wechseln? Alles, was ich gelesen habe, basiert immer auf dem Ändern der Chrome-Browsereinstellungen, und ich bin mir sicher, dass viele Leute damit Probleme haben werden, oder sogar Leute, die keine Erlaubnis haben, die Einstellungen zu ändern.

Hoffe, einige Ideen zu haben, um das zu erreichen.

Antwort

1

Nach meinem Wissen, i18n for extensions depends on Google Chrome's locale and extension's default_locale, während Erweiterung selbst kann nicht ändern, Chrome-Einstellungen.

Eine Abhilfe wäre die Anzeigesprache selbst wird beibehalten, ich meine, so etwas wie:

{ 
    'en-us': {}, 
    'en-es': {}, 
    ... 
} 

oder die spezifische messages.json durch XMLHttpRequest lesen.

Wenn der Benutzer eine Option auswählt, können Sie Ihre Anzeigesprache basierend auf der obigen Datenstruktur ändern, unabhängig vom vorhandenen i18n-Framework der Erweiterung.