【问题标题】:ASP.NET localization--where are the international resource strings?ASP.NET 本地化——国际资源字符串在哪里?
【发布时间】:2009-11-07 06:05:26
【问题描述】:

我刚开始从事一个新的国际项目。 ASPX 页面标记中的所有字符串都是具有“meta:resourcekey=”属性的 System.Web.UI.WebControls.Localize 控件。 web根目录下有一个App_LocalResources和一个App_GlobalResources,但是所有资源文件中的字符串都是英文的。

网站在哪里获得国际语言字符串?是否有一些用于 ASP.NET 的内置翻译器?我应该在哪里查看 unicode 外语字符?

【问题讨论】:

    标签: asp.net localization


    【解决方案1】:

    没有内置翻译器。

    您应该会在 App_LocalResources 文件夹中看到每个 .aspx 页面的资源文件。对于每个 .aspx 文件,将有多个资源文件,每个翻译一个,具有不同的文件名,如:

    AddCustomer.aspx.resx
    AddCustomer.aspx.fr.resx
    AddCustomer.aspx.en-US.resx
    

    等等。等等。每个文件都包含文件名中给出的文化的翻译。

    【讨论】:

    • 如果您没有看到这些文件,请确保启用了“显示所有文件”。也许它们在磁盘上,但不在解决方案中。
    【解决方案2】:

    当您在设计视图中打开页面或用户控件时,可以选择将工具菜单本地化(我认为)。这将在您当前工作的任何文件夹中创建一个 App_LocalResources 文件夹。根目录中的 App_LocalResources 将用于网站根目录中的页面。 App_GlobalResources 用于您的 web.sitemap 和您希望在整个站点中使用的任何其他资源。

    我在 App_LocalResources 中为每种语言设置了子文件夹。

    例如一些页面:

    默认.aspx 创建.aspx 查看.aspx

    -> App_LocalResources // 文件夹

    Default.aspx.resx // 如果不满足浏览器的偏好,则选择默认语言。 创建.aspx.resx 查看.aspx.resx

    --> DE// 德语的子文件夹

    Default.aspx.de.resx 创建.aspx.de.resx 查看.aspx.de.resx

    --> FR// 法语的子文件夹

    Default.aspx.fr.resx 创建.aspx.fr.resx 查看.aspx.fr.resx

    我从来不需要做任何事情来指定特定国家/地区的语言品牌(除了显示 currenceis 之外),但如果您需要奥地利德语说,那么您可以这样做。

    --> DE-AT// 奥地利德语的子文件夹

    Default.aspx.de-AT.resx 创建.aspx.de-AT.resx 查看.aspx.de-AT.resx

    【讨论】:

      【解决方案3】:

      也可能创建了自定义资源提供程序(这是处理大型站点/程序时最好的做法)。如果真的找不到 resx 文件,有一个 overview of resource providers here 可以帮助您追踪发生了什么。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-03
        • 1970-01-01
        • 2023-03-17
        相关资源
        最近更新 更多