如何给asp:Localize本地化文本?

发布于 2024-12-06 03:48:38 字数 2079 浏览 0 评论 0原文

我的 ASP.NET 页面有一些 html:

Default.aspx

<h2><asp:Localize meta:resourcekey="lblTitle" Text="Welcome to so" runat="server"></h2>

现在我想本地化该文本。所以我创建了一个资源文件Default.aspx.resx。按照 Microsoft 的示例,微软微软CodeProjectStackoverflow 我创建一个 lblTitle.Text 条目:

在此处输入图像描述

除了红色小错误指示器的提示外,

资源名称“lblTitle.Text”不是有效的标识符。

如何使用 asp:Localize 进行本地化?如何使用 meta: 进行本地化?如何创建 resx?


更新:将 App_GlobalResources 重命名为 App_LocalResources

在此处输入图像描述

Web.config(部分):

<system.web>
        <compilation debug="true" targetFramework="4.0"/>

更新 2:我不明白的是我正在按照说明操作在 MSDN 上:

使用资源编辑器编辑资源文件

  1. 在解决方案资源管理器中,打开 Sample.aspx.resx。

    资源编辑器中,值下是每个属性的文本属性 您放置在页面上的控件的名称。改变值 此处将更改默认区域性的值。

  2. ButtonResource1.Text设置为已编辑的英文文本

  3. 保存文件。

我也尝试过

  • lblTitle.Text
  • lblTitle-Text
  • lblTitle_Text
  • lblTitle
  • lblTitleText

My ASP.NET page has some html:

Default.aspx:

<h2><asp:Localize meta:resourcekey="lblTitle" Text="Welcome to so" runat="server"></h2>

Now i want to localize that text. So i've created a resource file Default.aspx.resx. Following the examples of Microsoft, Microsoft, Microsoft, CodeProject, and Stackoverflow i create an lblTitle.Text entry:

enter image description here

Except that little red error indicator's hint says,

The resource name "lblTitle.Text" is not a valid identifier.

How do i localize with asp:Localize? How do i localize with meta:? How do i create a resx?


Update: Renamed App_GlobalResources to App_LocalResources:

enter image description here

Web.config (partial):

<system.web>
        <compilation debug="true" targetFramework="4.0"/>

Update 2: What i don't understand is that i'm following the instructions on MSDN:

To edit the resource file by using the Resource Editor

  1. In Solution Explorer, open Sample.aspx.resx.

    In the Resource Editor, under Value, are the Text properties for each
    of the controls that you placed onto your page. Changing the value
    here will change the value for the default culture.

  2. Set ButtonResource1.Text to Edited English Text.

  3. Save the file.

i've also tried

  • lblTitle.Text
  • lblTitle-Text
  • lblTitle_Text
  • lblTitle
  • lblTitleText

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

指尖上得阳光 2024-12-13 03:48:38

您所做的一切都是正确的,但是将资源文件放在了错误的文件夹中。使用 App_LocalResources 而不是 App_GlobalResources

有关本地资源文件和全局资源文件之间差异的详细信息,请参阅 MSDN

本地资源文件是一种仅适用于一个 ASP.NET 页面或用户控件的文件(一种文件扩展名为 .aspx、.ascx 或 .master 的 ASP.NET 文件)。您将本地资源文件放在具有保留名称 App_LocalResources 的文件夹中。与根 App_GlobalResources 文件夹不同,App_LocalResources 文件夹可以位于应用程序中的任何文件夹中。您可以使用资源文件的名称将一组资源文件与特定网页关联起来。

You did everything right, but put your ressource file in the wrong folder. Use App_LocalResources instead of App_GlobalResources.

See MSDN for more info on the difference between local and global ressource files:

A local resources file is one that applies to only one ASP.NET page or user control (an ASP.NET file that has a file-name extension of .aspx, .ascx, or .master). You put local resource files in folders that have the reserved name App_LocalResources. Unlike the root App_GlobalResources folder, App_LocalResources folders can be in any folder in the application. You associate a set of resources files with a specific Web page by using the name of the resource file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文