2008-12-03 11 views
1

Comment localiser ASP.NET + javascript + Silverlight? Je voudrais être en mesure d'inclure les mêmes textes dans différentes langues dans les pages asp.net, javascript sur la page, et les objets Silverlight sur la page.Localisation partagée pour asp.net, javascript et silverlight?

J'ai essayé avec la méthode suivante, mais sans expérience avec elle dans la pratique, et je voudrais connaître votre opinion sur ce ou alternatives:

1) Créer une bibliothèque de classes (ResourcesTest) et ajouter un fichier de ressources (Phrases.resx) avec certaines chaînes (Hello='Hello'), plus une version localisée (Phrases.da.resx: Hello='Hej').

2) Ajoutez un fichier javascript vide (PhrasesHandler.js).

3) En AssemblyInfo.cs font cela pour permettre aux textes à utiliser par javascript/Silverlight:

[assembly: WebResource("ResourcesTest.PhrasesHandler.js", "application/x-javascript")] 
[assembly: ScriptResource("ResourcesTest.PhrasesHandler.js", "ResourcesTest.Phrases", "Phrases")] 

4) référence à la ressource de code-behind ASP.NET (ResourcesTest.Phrases.Hello), ou en incluant l'embarqué ressource javascript dans une page web:

<asp:ScriptManager ID="sm1" runat="server"> 
    <Scripts> 
     <asp:ScriptReference Assembly="ResourcesTest" Name="ResourcesTest.PhrasesHandler.js" /> 
    </Scripts> 
</asp:ScriptManager>

et accéder aux textes de javascript (par exemple Phrases.Hello), ou de Silverlight via javascript (HtmlPage.Window.Eval("Phrases.Hello")). Je trouve cette méthode plutôt compliquée, et je m'inquiète de la manipulation d'un tel système, mais je n'ai pas trouvé d'autres moyens de partager des ressources localisées/multilingues entre ASP.NET, javascript et Silverlight.

Avez-vous? Comment localiser ASP.NET + javascript + Silverlight?

Répondre

1

S'ils peuvent tous accepter des données au format JSON, utilisez-les.

Voir: Localize Strings in Javascript

+0

Oui. Je pense que JSON pourrait le faire pour les parties client (Silverlight et javascript). Merci pour la suggestion. –