Ich arbeite jetzt an android i18n
. Es gibt einige strings.xml
Dateien in so vielen values-xxxx
Verzeichnissen, aber der Produktmanager möchte diese strings.xml
Dateien in den Server setzen, App erhalten strings.xml
Datei das ROM-Netzwerk von einem Language-Parameter dynamisch.Aber strings.xml wird auf folgende Arten verwendet: @ string/xx, Widget.setText (R.string.xx), getString (R.string.xx), Toast.make (x, R.string.x, x) und so weiter ... Wie man Android dynamisch lädt strings.xml einfach? Oder hast du einen einfacheren Weg, mein Problem zu lösen? Vielen Dank!Wie dynamisch strings.xml dynamisch laden?
-3
A
Antwort
0
Frome eine App Ich arbeitete an:
Nach dem Start der App einen API-Aufruf machen. Der Server antwortet mit einem JSON, der alle Zeichenfolgen enthält. Nach dem Parsen können wir alle Strings dynamisch in den richtigen Kontext setzen oder Objekte oder sogar den JSON zum Abrufen der Strings bei Bedarf behalten.
Hoffe, diese Idee kann Ihnen helfen.
0
Ich verstehe, dass Produktmanager dies aus einem bestimmten Grund ändern möchte.
Meine Lösung wäre wie folgt:
- alle Zeichenfolge halten zu anderer Sprache auf dem Server mit unterschiedlichem URL-Muster verwendet. In kurzen URL, um Zeichenfolge zu bekommen sollte wie
http://www.example.com/strings/{lang_param}/
Beispiel:http://www.example.com/strings/en/
,http://www.example.com/strings/pt-br/
etwas wie das sein. - Lassen Sie den Server JSON zurückgeben, wobei der Schlüssel der Zeichenfolgen identisch sein würde, aber die Werte basierend auf dem URL-Parameter d. H.
lang_param
. Zusammen mit JSON-Server muss eine Identität zurückgeben muss angeben, ob einige Zeichenfolgen Elemente geändert werden oder nicht. Dieser Identitätshash muss in der gemeinsamen Präferenz beibehalten werden, damit beim nächsten Start der App der Serverprüfungshash abgefragt werden kann. Wenn sie unterschiedlich sind, werden sie durch neue Änderungen ersetzt. - Es ist zwingend erforderlich, dass Standardstrings beibehalten werden. xml im internen Speicher der Anwendung unter Verwendung
File file = new File(context.getFilesDir(), filename);
gegeben auf https://developer.android.com/training/data-storage/files.html. - Sobald Sie die neue Datei aktualisieren interne Speicher JSON-Datei und erstellen Sie eine Hilfsmethode, die diese JSON analysiert. Bitte beachten Sie, dass Sie verschiedene Hashes und JSON-Zeichenketten-Dateien basierend auf verschiedenen Sprachen pflegen müssen.
Verwandte Themen
- 1. Wie laden highcharts dynamisch
- 2. Native Bibliothek dynamisch laden
- 3. statische Bibliothek dynamisch laden?
- 4. Dynamisch laden Reagieren Komponenten
- 5. Wie kann ich die strings.xml dynamisch laden? Kann ich die Datei auf einem Server ablegen?
- 6. WPF Dynamisch laden Ressourcenwörterbücher
- 7. Marker dynamisch laden
- 8. Dynamisch eine DLL laden
- 9. angular2 dynamisch laden Modul
- 10. Java dynamisch Plugin laden
- 11. Laden eines iframe dynamisch.
- 12. Skripte dynamisch laden
- 13. MVC - Teilansichten dynamisch laden
- 14. Dynamisch laden XAML
- 15. Laden von Masterseiten dynamisch?
- 16. Laden Sie jQuery dynamisch
- 17. laden mehrere modals dynamisch
- 18. Dynamisch Angular2-Module laden
- 19. javascript: dynamisch laden manifest.json
- 20. Web-Schriftart dynamisch laden
- 21. Javafx ComboBox dynamisch laden
- 22. MLModel dynamisch laden
- 23. Flatterkacheln dynamisch neu laden
- 24. C++ Dynamisch Klassen laden
- 25. tomcat - Klassen dynamisch laden
- 26. Multidimensionales Array dynamisch laden
- 27. Dynamisch eine Bibliothek laden
- 28. Dynamisch Laden von CSS
- 29. Dynamisch Laden EMF-Modelle
- 30. Native Bild dynamisch laden
Ressourcen sind schreibgeschützt, daher können Sie sie nicht ersetzen. Verwenden Sie Lokalisierungsfunktionen (-en, -it, -de ...) für die Sprache –
Produktmanager? Was? – ADM
Ihr Produktmanager sollte die Entwickler nicht stören. Ja wirklich. –