【问题标题】:AJAX:CalendarExtender does not localize TodayAJAX:CalendarExtender 今天没有本地化
【发布时间】:2011-11-22 13:09:26
【问题描述】:

我正在使用 AJAX 库中的 CalendarExtender,可以进行本地化。目前一切正常,除非我尝试将其本地化为 Danich (da-DK) 语言。日历看起来是本地化的,除了“今天”部分仍然是英文。你如何本地化这部分?

PS。如果无法进行本地化,我可以隐藏日历的“今天”部分吗?

【问题讨论】:

    标签: asp.net ajax calendarextender


    【解决方案1】:

    回复:

    PS。如果无法进行本地化,我可以隐藏日历的“今天”部分吗?

    由于我们认为添加我们自己的资源更有价值,我们决定隐藏“今天”位。然而,这很容易通过将以下内容添加到我们的 css 文件中来完成:

    .ajax__calendar_footer {
        display: none;
    }
    

    【讨论】:

      【解决方案2】:

      默认情况下,Ajax Control Toolkit 没有针对丹麦语进行本地化。您需要稍微自定义工具包解决方案。下载工具包源并将丹麦语资源文件添加到 MicrosoftAjax.Extended 项目(ExtenderBase 文件夹)中。您可以只创建 BaseScriptsResources.resx 文件的副本并将副本文件名更改为“BaseScriptsResources.ds.resx”。我相信您很容易找到该文件中必须为您的语言更改的资源值。 之后,将该文件作为链接添加到 AjaxControlToolkit 项目的 ScriptResources 文件夹中。当您构建解决方案时,您会在项目的 bin 文件夹 (da/AjaxControlToolkit.resources.dll) 中找到一个包含丹麦资源程序集的新文件夹。只需将带有 dll 的文件夹复制到项目的 bin 文件夹即可。

      【讨论】:

      • 谢谢。我快到了:) 我下载了 AJAX 工具集的源项目并在 VS2010 中打开它。我还在“\Client\MicrosoftAjax.Extended\ScriptResources”文件夹中找到了 resx 文件,并复制了英文文件并将其重命名为“ScriptResources.da-DK.resx”,然后我打开它并翻译了“Today”场地。我的问题是您如何构建包含该资源的项目?
      • 只需将该文件作为链接添加到 \Server\AjaxControlToolkit 项目。检查该项目的 ScriptResources 文件夹 - 有所有此类资源文件。
      • 再次感谢。我能够编译它。我不知道我是怎么做到的,但它最终奏效了。该项目本身有一百万个文件(我的意思是字面意思),所以通过将我自己的 resx 文件添加到不同的地方,我最终能够获得生成的构建。我不确定这是否记录在任何地方,但是重建它是你知道的地方的一大痛苦......
      【解决方案3】:

      在添加了特定语言的本地化后,我们在使用旧版本 AjaxControlToolkit (4.1) 的遗留项目中遇到了同样的问题。而且我确实想要编译我自己的 AjaxControlToolkit 版本。

      因此,在挖掘了 CalendarExtender 的 JavaScript 源代码后,我注意到文本是从资源中加载的,并且可以修改该资源。长话短说,如果您在 JavaScript 中更新 Sys.Extended.UI.Resources.Calendar_Today(默认:Today: {0}

      • 在工具包的脚本加载之后
      • 在用户第一次打开日历之前,

      然后将资源值替换为您的值:

      <!-- Add this to the bottom of your page -->
      <script type="text/javascript">
          Sys.Extended.UI.Resources.Calendar_Today = "Σήμερα: {0}";
      </script>
      

      显然,如果您的应用程序是多语言的,您将拥有自己的翻译资源文件:

      <script type="text/javascript">
          Sys.Extended.UI.Resources.Calendar_Today =
              '<%= HttpUtility.JavaScriptStringEncode(Resources.MyTexts.Today) %>';
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-02
        相关资源
        最近更新 更多