2008-09-18 7 views
4

L'application que j'écris est presque terminée et j'aimerais que les personnes qui parlent des langues différentes puissent l'utiliser. Je ne sais pas par où commencer, quelle est la différence entre la mondialisation et la culture en matière de programmation?Comment faire pour que mon application .NET prenne en charge différentes langues

Comment peut-on prendre des expressions inhabituelles telles que "cette application a été construite pour faire ceci et cela" au lieu de Fichier, Ouvrir, Enregistrer etc ... et les transformer en dire, espagnol?

Un grand merci :-)

Répondre

0

Pour un système très simple, créer une interface qui définit des méthodes comme GetSaveText(), etc., et permettre à des ensembles comme celui-ci d'être branché sur votre application.

0

Cela devrait être une assez bonne solution pour aller de 10-1000 cordes:

dispose d'un fichier de ressource pour chaque paramètre régional. Je ne sais pas .NET mais je suis sûr qu'il y a un moyen commun de le faire. Ensuite, dans votre code de récupération de ressources, chargez le code approprié en fonction des paramètres régionaux de votre utilisateur. Demandez à ce code de vous chercher la chaîne appropriée pour une clé.

contenu du fichier exemple, si je devais le mettre en œuvre à partir de zéro:

resources.en:

save=Save 
close=Close 
ok=OK 
areYouSure=Are you sure? 

resources.es:

save=I don't know how to say anything in Spanish, oops 
close=... 
ok=... 
areYouSure=... 
2

Toutes vos requêtes sont ANSWERED le livre ci-dessous. Les premiers chapitres expliquent tous les concepts principaux et la terminologie et les abréviations fantaisie comme i18n. Je n'ai pas eu le temps de le lire jusqu'à la fin .. mais bon jusqu'au point que j'ai lu. Recommandé si vous êtes sérieux au sujet de ce faire de la bonne façon et le temps :)

http://www.amazon.com/NET-Internationalization-Developers-Applications-Development/dp/0321341384 Image http://ecx.images-amazon.com/images/I/51WEMCH8TRL._SL500_AA240_.jpg

5

Vous avez différents choses à faire pour avoir une application « mondialisée ».

1) Traduire toutes les étiquettes dans vos formulaires et des contrôles dans votre application

Vous devez définir la propriété « localisable » true sur toutes les formes et de contrôle. Cette propriété permet la création de fichiers de ressources dans chaque langue et région. Maintenant, avec la propriété "Langue", vous pouvez sélectionner la langue que vous souhaitez prendre en charge. Lorsque vous sélectionnez une langue dans la liste déroulante, votre formulaire (ou contrôle) passe automatiquement dans cette langue. Maintenant, c'est votre travail de traduire chaque mot dans le contrôle. Dès que vous effectuez une modification, Visual Studio crée un fichier de ressources pour la langue spécifique. (Par exemple, MyForm.fr-FR.resx pour Français-France).

2) Importer toutes les chaînes hardcoded dans votre code dans un fichier resx

Créer un fichier de ressources (personellement, j'utilise StringTable.resx) et ajouter chaque chaîne à traduire dans ce fichier. Après cela, créez un fichier de ressources pour chaque langue que vous souhaitez prendre en charge et traduisez les chaînes dans chaque fichier.Par exemple, si vous voulez soutenir le français, vous créez StringTable.fr.resx ou StringTable.fr-FR.resx pour Français-France. Avec la classe ResourceManager, vous pouvez charger chaque chaîne.

Remarque: Si vous utilisez Visual Studio 2005 ou 2008, vous disposez déjà d'un fichier de ressources créé par défaut.

3) Vous devez élaborer vos formulaires et des contrôles à bon escient

Directives de Microsoft: Microsoft Guidelines

4) Faire face à la date et les numéros

Si votre application crée des fichiers de données qui peut être envoyé à un autre utilisateur dans une autre région, vous devez y penser lorsque vous enregistrez vos données dans le fichier. Alors, gardez toujours votre datetime en UTC et faites la conversion en local uniquement lorsque vous chargez l'information. La même chose s'applique au nombre décimal, surtout s'ils sont stockés dans du texte.


Lorsque vous compilez votre application, Stoudion Visual créer un fichier satellite comme MyApplication.fr.dll dans un sous-dossier fr. Pour charger cette DLL, vous devez changer la langue du thread en cours au démarrage de votre application.

Voici le code:

CultureInfo ci = new CultureInfo("fr"); 
Thread.CurrentThread.CurrentUICulture = ci; 
Questions connexes