2009-11-05 7 views
0

Je viens de commencer à travailler sur un nouveau projet international. Toutes les chaînes dans le balisage des pages ASPX sont à la place des contrôles System.Web.UI.WebControls.Localize avec les attributs "meta: resourcekey =". Dans la racine Web, il y a un App_LocalResources et un App_GlobalResources, mais les chaînes de tous les fichiers de ressources sont toutes en anglais.Localisation ASP.NET - où sont les chaînes de ressources internationales?

Où le site Web obtient-il les chaînes de langues internationales? Y a-t-il un traducteur intégré pour ASP.NET? Où dois-je regarder pour voir les caractères de langue étrangère unicode?

Répondre

1

Il n'y a pas de convertisseur intégré.

Vous devriez voir les fichiers de ressources pour chaque page .aspx dans le dossier App_LocalResources. Pour chaque fichier .aspx, il y aura plusieurs fichiers de ressources, une pour chaque traduction, avec des noms de fichiers tels que:

AddCustomer.aspx.resx 
AddCustomer.aspx.fr.resx 
AddCustomer.aspx.en-US.resx 

etc etc Chaque fichier contient la traduction de la culture donnée dans le nom de fichier.

+0

Si vous ne voyez pas les fichiers, assurez-vous que "Afficher tous les fichiers" est activé. Peut-être qu'ils sont sur le disque mais pas dans la solution. – Greg

0

Lorsque vous avez un contrôle Page ou Utilisateur en mode Création, il existe une option permettant de localiser le menu Outils (je pense). Cela va créer un dossier App_LocalResources dans le dossier dans lequel vous travaillez. Les App_LocalResources dans la racine seront pour les pages à la racine du site. App_GlobalResources est pour votre web.sitemap et toutes les autres ressources que vous souhaitez utiliser sur l'ensemble du site.

Je configure des sous-dossiers dans App_LocalResources pour chaque langue.

Par exemple, certaines pages:

Default.aspx Create.aspx View.aspx

-> App_LocalResources // dossier

Default.aspx.resx // langue par défaut est ramassé si les préférences du navigateur ne sont pas satisfaites. Create.aspx.resx View.aspx.resx

-> DE // sous-dossier pour l'allemand

Default.aspx.de.resx Create.aspx.de.resx View.aspx. de.resx

-> FR // sous-dossier pour le français

Default.aspx.fr.resx Create.aspx.fr.resx View.aspx.fr.resx

Je n'ai jamais eu à faire quoi que ce soit pour spécifier la marque d'une langue d'un pays en particulier (en dehors de l'affichage de currence), mais si vous aviez besoin d'allemand autrichien, alors vous pourriez le faire.

-> DE-AT // sous-dossier pour l'allemand autrichien

Default.aspx.de-AT.resx Create.aspx.de-AT.resx View.aspx.de-AT.resx

0

Il est également possible qu'un fournisseur de ressources personnalisé ait été créé (c'est la meilleure chose à faire pour un site/programme plus grand).Il y a un overview of resource providers here qui pourrait vous aider à dépister ce qui se passe si les fichiers de resx sont vraiment introuvables.

Questions connexes