2010-05-26 9 views
0

Développement d'une application multilingue dans VB.Net 2008, Im capable d'ajouter des ressources aux formulaires et de créer des formulaires multilingues en fonction de l'environnement. À la lecture Msdn sur la création des valeurs de chaîne multilingue pour le contenu de la boîte de message, avez ajouté le fichier .resource au chemin d'accès aux fichiers du projet comme spécifié. Il n'y a pas d'erreur sur la compilation mais jette l'erreur MissingManifestResourceExceptionvb.net Affichage chaîne multilingue 2008 Ajout de ressources err: MissingManifestResourcesException

Dim rm Comme ResourceManager rm = ResourceManager.CreateFileBasedResourceManager ("strFormResources", ». " Rien) Dim ci comme CultureInfo ci = New CultureInfo (" fr- FR ") MessageBox.Show (rm.GetString (" sample1" , ci))

Impossible de trouver des ressources appropriées pour la culture spécifiée (ou la culture neutre) sur le disque. baseName: strFormResources locationInfo: fileName: strFormResources.resources

Il existe strFormResources.resources et strFormResources.fr-FR.resources dans les ressources du projet. J'ai recherché les détails de cette erreur mais je n'ai pas trouvé de solution. Qu'est-ce que je fais de mal ou existe-t-il une autre méthode pour afficher des chaînes multilingues dans la boîte de message?

Merci à l'avance

Répondre

0

Le lblBrowsefoldertoputconvertedfiles est peut-être un indice. Vous êtes censé passer le nom de la ressource de chaîne, pas le nom du répertoire qui contient la ressource.

Pour le faire "correctement", assurez-vous de profiter de la fonctionnalité My.Resources. Procédez comme suit:

  • Project + Ajouter un nouvel élément, le général, ressources Fichier
  • Nom-il Resources.fr FR.resx et cliquez sur Ajouter
  • L'éditeur de ressource de chaîne ouvre automatiquement. Ajoutez les chaînes que vous avez dans votre table de chaînes d'origine, en utilisant maintenant le français comme langue.
  • Compile.
  • Regardez dans le dossier bin \ Debug de votre projet et vérifiez que vous voyez maintenant l'assemblage satellite. Il doit être stocké dans le répertoire fr-FR avec le nom de projet .resources.dll.

Test cette en laissant tomber un bouton sur votre formulaire et d'écrire ce code:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    System.Threading.Thread.CurrentThread.CurrentUICulture = _ 
     System.Globalization.CultureInfo.GetCultureInfo("fr-FR") 
    MessageBox.Show(My.Resources.String1) 
End Sub 
+0

ont créé une ressource de chaîne avec le nom « sample1 » et mettre le nom de la ressource de chaîne « sample1 ». Mais cela me répète la même erreur. – Naresh

+0

@Naresh: poste mis à jour, montrant comment utiliser My.Resources –

+0

Merci, hans Passant, a travaillé pour moi ... – Naresh