我们有一个名为“Main”的项目。在这个项目中,我们所有的资源都在一个名为Ress的文件夹中。当我们调用这些资源时,我们正在使用我们制作的Translator类。
public class Translator
{
ResourceManager m_ressourceManager;
string m_completeRessourceName;
public Translator(string ressourceName)
{
m_completeRessourceName = String.Format("Main.Ressources.{0}", ressourceName);
m_ressourceManager = new ResourceManager(m_completeRessourceName, Assembly.GetExecutingAssembly());
}
public string GetString(string name)
{
string retString = "";
try
{
retString = m_ressourceManager.GetString(name);
}
catch
{
retString = m_completeRessourceName + "." + name;
}
return retString;
}
}
在该项目中正确加载所有内容。现在我们得到了第二个名为“Home”的项目。在那个项目中,我添加了traduction类的链接。正如您所看到的,我们的转换器构造函数构建为在“Main”项目中加载资源,子文件夹为“Ressources”。对于我在“Home”项目中的about.aspx页面,我在Main / Ressources中创建了一个名为About.en-CA.resx的资源文件。在执行代码时,我没有收到任何错误,但是没有加载资源。已被重建。
protected override void setPageTranslator()
{
base.setPageTranslator();
m_pageTranslator = new Translator("About");
}
protected override void LoadStrings()
{
m_aboutTitle.Text = m_pageTranslator.GetString("AboutTitle");
}