using System;
namespace Server.Custom.Extensions
{
public static class FriendlyExtensions
{
public static string Friendly(this DayOfWeek day)
{
if (day == DateTime.Now.DayOfWeek)
return "Hoy";
int dayOfWeek = (int)DateTime.Now.DayOfWeek;
int dayOfEvent = (int)day;
if (dayOfWeek + 1 == dayOfEvent || (dayOfWeek == 6 && dayOfEvent == 0))
return "Mañana";
switch (day)
{
default:
case DayOfWeek.Monday: return "Lunes";
case DayOfWeek.Tuesday: return "Martes";
case DayOfWeek.Wednesday: return "Miercoles";
case DayOfWeek.Thursday: return "Jueves";
case DayOfWeek.Friday: return "Viernes";
case DayOfWeek.Saturday: return "Sabado";
case DayOfWeek.Sunday: return "Domingo";
} …
Run Code Online (Sandbox Code Playgroud) 我编写了一个与“en-US”以外的文化不兼容的用户控件。此外,不可避免地将此用户控件嵌入具有非“en-US”文化的应用程序中。那么是否可以强制应用程序不更改此用户控件的文化?
最好在用户控件中有一个解决方案。
我已经阅读了这个线程:
Localizing a WinForms Application with Embedded WPF User Controls
但我不能使用WpfLocalization.LocalizationScope.SetCulture
这个函数真的存在吗?
还有一个Localizable标签可以设置为False但它仅用于.csproj文件中的资源定义:http : //msdn.microsoft.com/en-us/library/ms788718.aspx
那么有没有人对这个问题有任何想法?
<my:uc1 x:Name="UserControl1" Date="4234/12/22" />
Run Code Online (Sandbox Code Playgroud)
当应用程序文化为“en-US”时,用户控件将获得“4234/12/22”,但当应用程序文化为其他内容时,它会自动将“4234/12/22”转换为应用程序自己的日历并提供“0744/04” /08"到用户控件并破坏用户控件背后的每个逻辑!这完全是一场灾难。
我想通过将用户控件的区域性设置为“en-US”来防止这种转换。
希望我已经充分说明了情况。
我想将Kendo Grid文化更改为nl-NL。。我在互联网上进行了研究,他们建议我只需要包含该文化的dll。。我已经做到了,并且我也引用了相同的内容。我也使用Kendo.Culture(“ nl-NL”); 还是行不通
我需要根据两个字母的 ISO-3166 国家/地区代码本地化我的 C# DateTime 对象
https://en.wikipedia.org/wiki/ISO_3166-2
有办法做到吗?
我只能使用 5 个字符的国家/地区表示(en-US、nl-NL 等..)来应用给定的文化
System.Globalization.CultureInfo cultureinfo =
new System.Globalization.CultureInfo("nl-NL");
DateTime dt = DateTime.Parse(date, cultureinfo);
Run Code Online (Sandbox Code Playgroud)
即使是满射映射也可以(即多个国家/地区代码映射到单一 C# 文化)
对于 a CultureInfo
,调用DateTimeFormat.AbbreviatedMonthNames
返回一个数组,其中每个月以 a 结尾,.
例如['jan.',... 'dis.']
。
这种情况不会发生在构建服务器上,也不会发生在所有开发人员计算机上,只是部分计算机上会发生。CurrentCulture
和机器位置/语言的设置似乎没有相关性。
选择这一点的测试是针对西班牙文化的,包括明确地CultureInfo
为西班牙语创建一个。所以我本以为这些信息是硬编码在某个地方并且只是被读出,据我所知是这样。正在读取CultureData.AbbreviatedMonthNames(calendarId)
。
更新:经过进一步调查,似乎如果启动时的当前文化是那么en-GB
就没有时期。如果有en-US
那就有。显式设置CurrentCulture
没有任何效果,只是在启动时有所不同。
我的应用程序支持三种语言:en、es 和 fr。当我构建我的(干净的,从模板)UWP 应用程序时,我收到消息:
warning PRI257: 0xdef00522 - Resources found for language(s) 'en,es,fr' but no resources found for default language(s): 'en-US'. Change the default language or qualify resources with the default language.
Run Code Online (Sandbox Code Playgroud)
然后我进入清单并将默认语言从 en-US 更改为 en-GB,当我重新编译时,我得到:
warning PRI257: 0xdef00522 - Resources found for language(s) 'en,es,fr' but no resources found for default language(s): 'en-GB,en-US'. Change the default language or qualify resources with the default language.
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?如何替换 UWP 应用程序中的默认语言,以便它不会尝试查找 en-US 资源?
我正在试图找到一张表格,显示文化的所有日期时间格式
我一直在谷歌上搜索疯狂,我想要的只是那张桌子!ARG
即
en-CA = DD/MM/YYYY 0.00 en-FR = MM/DD/YYYY 0,00
我正在寻找MSDN或维基百科的链接 - 我知道我以前见过这个
可能重复:
计算.NET中的每月星期
我需要计算一个月内给定日期的星期数。我之所以勇气一个月,是因为我遇到的所有示例(在这里和其他地方)都是基于年度的。基本上,我想看看什么是14/2/2010星期几(dd / MM / yyyy格式)。给定星期一的开始日期,我希望它会返回2。
在计算中我必须如何了解文化?
我正在寻找一种CultureInfo
从ISO 639-3语言代码构造对象的方法.我没有在MSDN中找到任何关于它的内容,并试图从所有文化列表中获取它不起作用...
CultureInfo cInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
.FirstOrDefault(r => String.Equals(r.ThreeLetterISOLanguageName, "CCH", StringComparison.CurrentCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)
将始终返回null(请注意,"CCH"是ISO-639-3列表中的一种语言).
任何想法都表示赞赏,谢谢!
culture ×10
c# ×5
.net ×3
cultureinfo ×2
iso ×2
localization ×2
datetime ×1
kendo-grid ×1
kendo-ui ×1
timezone ×1
uwp ×1
wpf ×1