J'ai cherché à rendre les applications adaptées à plusieurs langues en C # depuis que je dois travailler sur un petit projet où c'est le cas. J'ai trouvé essentiellement deux façons de procéder:
Définissez la propriété Localizable d'un formulaire sur true, définissez la propriété Language, remplissez toutes les étiquettes et autres, et vous avez terminé. L'inconvénient majeur que je vois dans ceci est: comment préparer d'autres éléments qui ne font pas partie d'un formulaire pour plusieurs langues (par exemple, des fenêtres contextuelles, des fichiers journaux ou des fenêtres, etc.).
Créez un fichier de ressources, par exemple «Lang.en-us.resx» et un pour chaque langue, par exemple «Lang.nl-nl.resx» et remplissez-le avec des chaînes. L'IDE semble générer automatiquement une classe pour moi, donc dans le code, je peux simplement utiliser Lang.SomeText. Le plus gros inconvénient que je vois est le suivant: pour chaque formulaire, je dois définir moi-même toutes les étiquettes et autres légendes dans le code (et il ne semble pas que la liaison de données fonctionne avec ces ressources).
Je suis sûr, cependant, qu'il existe d'autres méthodes pour le faire.
Alors, quelle est la meilleure pratique? Quelle est la solution la plus simple pour les petites applications (quelques formulaires, la connexion à une base de données, etc.) et quelle est la meilleure évolutivité pour les grandes applications?