1

asp.net Web サイトをローカライズしようとしていますが、正しく機能していません。

現在、ローカライズしたいユーザーコントロールがあります。したがって、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 Web サイトで機能する別のソリューションです。このオプションを試しましたか?

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 --> <%$ Resources:[リソース ディレクトリ名],[リソース ラベル名] %>

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