AJAX:CalendarExtender没有本地化今天

时间:2011-09-22 06:20:14

标签: asp.net ajax calendarextender

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

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

3 个答案:

答案 0 :(得分:2)

回复:

  

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

由于我们认为增加自己的资源更值得工作,我们决定隐藏“今日”位。但是,通过将以下内容添加到我们的css文件中可以轻松完成此操作:

.ajax__calendar_footer {
    display: none;
}

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

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

然后资源值被你的值替换:

<!-- 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>