1

我正在尝试本地化一个 asp.net 网站,但它无法正常工作。

目前我有一个用户控件,我希望对其进行本地化。所以在 UserControls 文件夹中,我创建了一个App_LocalResources文件夹和 4 个用于本地化的文件:

  1. UCMain.aspx.resx
  2. UCMain.aspx.it-IT.resx
  3. UCMain.aspx.de-DE.resx
  4. UCMain.aspx.fr-FR.resx

在 UserControls 文件夹中,我有主文件,UCMain.aspx在 UCMain.aspx 中,我有以下简单文件:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UCMain.ascx.cs" Inherits="SCPerformance.UserControls.UCMain" %>

<%@ Import Namespace="SCPerformance.Shared.Models" %>

<div class="PanelContainer">

    <div class="ContentTitle2">
        <asp:Label runat="server" ID="lblAboutText" meta:resourcekey="lblAboutTextResource1" />
    </div>

</div>

在本地化文件(resx)中,所有语言都有以下内容:

Name                            Value
lblAboutTextResource1.Text      Informazione

当我点击我拥有的标志时,文化设置正确,所以这不是问题。问题是要检索实际文本,我总是得到英文版本。

我的问题可能是什么?

感谢您的帮助和时间。

4

1 回答 1

0

这是另一个适用于我的“GlobalRessource”文件夹中的 4 种语言的 asp 网站的解决方案。你试过这个选项吗?

C# ——重载函数InitializeCulture

    protected override void InitializeCulture()
    {
        try
        {
            string langID = "fr-FR";

            Thread.CurrentThread.CurrentUICulture = new CultureInfo(langID);
            base.InitializeCulture();
        }
        catch (Exception e)
        {
            Console.Out.WriteLine(e.Message);
        }
    }

ASP --> <%$ 资源:[资源目录名称],[资源标签名称] %>

<asp:Label runat="server" ID="lblAboutText" Text="<%$ Resources:UCMain,lblAboutTextResource1 %>" ></asp:Label> 
于 2013-05-29T12:58:43.133 回答