Je ne pense pas qu'il ya une "meilleure façon". Il va vraiment dépendre sur les technologies et le type d'application que vous créez.
Webapps pouvez enregistrer les informations dans la base de données que d'autres affiches ont suggéré, mais je recommande l'utilisation de séparer les fichiers de ressources. C'est des fichiers de ressources séparé de votre source. Séparer les fichiers de ressources, réduit les conflits pour les mêmes fichiers, et que votre projet grandit, vous pouvez trouver la localisation sera fait separemment de la logique métier. (Les programmeurs et les Traducteurs).
Microsoft WinForm et WPF gourous recommandons l'utilisation séparée des ressources assemblys personnalisés pour chaque endroit.
WPF est de la capacité de taille de l'INTERFACE utilisateur éléments de contenu abaisse la mise en page de travail nécessaire, par exemple: (les mots japonais sont beaucoup plus courtes que l'anglais).
Si vous envisagez de WPF: je suggère la lecture de cet article msdn
Pour être honnête, j'ai trouvé le WPF outils de localisation: msbuild, locbaml, (et peut-être une feuille de calcul excel) fastidieuse à utiliser, mais il fonctionne.
Quelque chose de légèrement connexes: Un problème commun que je face de l'intégration de systèmes legacy qui envoient des messages d'erreur (généralement en anglais), pas de codes d'erreur. Ceci oblige les changements apportés aux systèmes hérités, ou la cartographie backend chaînes à mes propres codes d'erreur et puis pour les chaînes localisées...yech. Les codes d'erreur sont les localisations ami