J'essaie ici de faire une traduction manuelle pour l'application avec laquelle je travaille. (Il existe déjà un LocalizationModule de travail, mais il fonctionne mal famé, donc je ne peux pas utiliser <asp:Localize />
tags.Comment utiliser ResourceManager en mode "site Web"?
Normalement avec ResourceManager vous êtes censé être l'utiliser comme Namespace.Folder.Resourcename
(dans une application). Actuellement, je traduis un aspic existant .net "site web" (pas d'application web donc pas d'espace de nommage ici ....)
Les ressources sont situées dans un nom de dossier "Locales/ressources" qui contient "fr-ca.resx" et "fr-fr . .resx »
J'utilisé un code avec quelque chose comme ceci:
public static string T(string search)
{
System.Resources.ResourceManager resMan = new System.Resources.ResourceManager("Locales", System.Reflection.Assembly.GetExecutingAssembly(), null);
var text = resMan.GetString(search, System.Threading.Thread.CurrentThread.CurrentCulture);
if (text == null)
return "null";
else if (text == string.Empty)
return "empty";
else
return text;
}
et dans la page J'ai quelque chose comme ça <%= Locale.T("T_HOME") %>
Quand je rafraichir je ceci:
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Locales.resources" was correctly embedded or linked into assembly "App_Code.9yopn1f7" at compile time, or that all the satellite assemblies required are loadable and fully signed. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Locales.resources" was correctly embedded or linked into assembly "App_Code.9yopn1f7" at compile time, or that all the satellite assemblies required are loadable and fully signed.
Source Error:
Line 14:
System.Resources.ResourceManager resMan = new System.Resources.ResourceManager( "Locales", System.Reflection.Assembly.GetExecutingAssembly(), null); Line 15: Line 16: var text = resMan.GetString(search, System.Threading.Thread.CurrentThread.CurrentCulture); Line 17: Line 18: if (text == null)Source File: c:\inetpub\vhosts\galerieocarre.com\subdomains\dev\httpdocs\App_Code\Locale.cs Line: 16
J'ai même essayé de charger la ressource avec Locales.fr-ca
ou seulement fr-ca
rien travailler tout à fait ici.
Est-il possible de placer les fichiers de ressources dans un dossier App_LocalResources? – ScottE
Il faudrait que je crée une ressource pour chaque page, tout à fait perdre du temps je dirais:/App_LocalResources est aussi surtout pour la balise n'est-ce pas? –
Erick