L'internationalisation est une fonctionnalité apparemment simple mais très complexe à mettre en œuvre. Si vous avez une architecture étroitement couplée, ce sera une douleur royale de mettre en œuvre cette bête.
Une grande partie de l'internationalisation sera traitée sur le back-end avec votre base de données - en supposant que vous vous concentrez sur un site Web axé sur les données. Si tel est le cas, cela entraînera probablement quelques modifications de la structure de votre table et des requêtes effectuées sur ces données. Par exemple, disons que votre site Web doit afficher un message de bienvenue, par exemple, Vous souhaitez pousser cela à l'arrière-plan dans une table qui peut ressembler à quelque chose comme ceci:
MessageTable
:id
:message
:lang_code
Où lang_code est calculé à partir de votre navigateur. Vous pourriez donc avoir des enregistrements qui ressemblent à ceci:
MessageTable
1 Hello There en-us
2 Hola es-sp
3 مرحبا ar-sa
et vous feriez en sorte que le code de langue fasse partie de votre requête sql. Accordé que vous pourriez normaliser cela dans une plus grande mesure, mais je pense que vous pourriez avoir l'idée.
En termes de codage, je ne peux pas vraiment parler beaucoup car je ne suis pas tout à fait au courant de cela. En ce qui concerne les soumissions de formulaires, je ne crois pas que cela devrait vraiment avoir une grande importance, mais plutôt la façon dont vous manipulez les cordes. Vous devrez probablement effectuer un traitement supplémentaire en examinant l'encodage et en décidant comment manipuler les chaînes, bien qu'elles puissent être unicode.