Viele Antworten, viele korrekte Informationen, aber meine Antwort ist ein bisschen eine andere Sichtweise.
Internationalisierung - Dies ist der Fall, wenn der Entwickler keine Code-Direktnachrichten / Fehlermeldungen / Schaltflächennamen / Beschriftungen / usw. in einer bestimmten Sprache hat, sondern einen Schlüssel, der an die Übersetzungsfunktion übergeben wird, und die Übersetzungsfunktion gemäß dem Gebietsschema des aktuellen Benutzers den endgültigen Text zurückgibt in englisch / frankreich / etc ... Die
Übersetzungsfunktion funktioniert mit Speicher (db / files / assoziatives Array / etc).
Der Speicher enthält Schlüssel, die in Coode verwendet werden, und Werte, dh Texte in einer bestimmten Sprache, die von der Anwendung unterstützt werden.
Lokalisierung - Hierbei werden neue Werte in einer neuen Sprache (z. B. Spanien) hinzugefügt, die für Schlüssel im Speicher geeignet sind, ohne dass der Entwickler in diesen Prozess einbezogen wird.
Zum Beispiel haben wir Speicher:
key | english | italian |
------+------------+-------------------+
title | Welcome | Benvenuto |
agree | I agree | Sono d'accordo |
thank | Thank you | Grazie |
Internationalisierung, die im Code verwendet wird, confirm(t(agree));
anstelle von confirm("I agree");
oder confirm("Sono d'accordo");
Lokalisierung - es wird ein neues Gebietsschema zu unserem Speicher hinzugefügt, wie:
key | english | italian | spanish |
------+------------+-------------------+------------------+
title | Welcome | Benvenuto | Bienvenido |
agree | I agree | Sono d'accordo | Estoy de acuerdo |
thank | Thank you | Grazie | Gracias |
und hier benötigt der Entwickler keinen Update-Code, die Übersetzungsfunktion enthält die entsprechenden Texte korrekt.