标签: culture

如何在.net中创建一个13个月的基于月历的日历

嗨我想创建一个自定义日历,这个日历将有自定义月份名称和日期名称

它将包含13个月,每个28天

我需要创建和整个文化还是我可以创建自己的System.Globalization.Calendar实现?

.net c# globalization culture calendar

6
推荐指数
1
解决办法
1277
查看次数

什么是弦乐文化

只是试图理解 - 我以前从未使用过它.文化如何与ToUpper()/ ToLower()不同?

c# culture internationalization

6
推荐指数
2
解决办法
5335
查看次数

如何使用InvariantCulture仅渲染某些特定的模型字段,而其余的则继续使用用户文化?

我在asp.net mvc视图上有几个隐藏的输入.它们的值包含类型的对象double.我希望它们能够被渲染,InvariantCulture因为它们习惯于被提供给客户端上的api(谷歌地图).就像现在一样,它们以逗号(,)作为小数分隔符进行渲染,而api则希望将点(.)作为小数分隔符.

最好的解决方案是,如果我可以DisplayFormat在模型的属性上的数据注释属性中指定文化,但我认为这不可能:

public class Position
{
    [DisplayFormat(DataFormatString="{0:G}, CultureInfo.InvariantCulture")]
    public double Latitude;
    ...
}
Run Code Online (Sandbox Code Playgroud)

我也不能在我的方法中设置CurrentCultureto ,因为屏幕上还有其他值必须在适当的用户文化中.InvariantCultureApplication_Start

那么,有没有办法暂时改变当前的文化,就在我Html.HiddenFor(Model => Model.Latitude)为特定属性做一个之前,然后重置它?

或者还有另一种更好的方法吗?什么是最佳做法?

c# asp.net-mvc formatting culture render

6
推荐指数
1
解决办法
2187
查看次数

.NET Task在一个Thread中执行

我可以依赖事实a Task总是在一个线程中执行吗?它可以是任何一种,但对于整个身体应该是相同的,因为我需要Culture正确设置线程.

Task bind = Task.Factory.StartNew(() =>
{
    Thread.CurrentThread.CurrentCulture = culture;

    // do some asp.net binding stuff with automatic
    // date formatting

    gridView.DataSource = table;
    gridView.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

如果我不能,是否有一个参数左右来获得这种行为?

干杯,马蒂亚斯

c# asp.net culture .net-4.0 task

6
推荐指数
1
解决办法
921
查看次数

在C#中解析来自不同文化的数字

我正在编写一些代码以将字符串解析为双精度型,但是此字符串是从另一台计算机传递给我的。自然会出现文化可能不同的问题。因此,虽然机器A可能发送给我:

"0.5"
Run Code Online (Sandbox Code Playgroud)

机器B可能会寄给我

"0,6"
Run Code Online (Sandbox Code Playgroud)

因为它在德国,有着不同的文化。

正确解析这两个输入的最佳方法是什么?有人建议使用CultureInfo.InvariantCulture作为参数,Convert.ToDouble但这不会仅在生成上述字符串的地方提供帮助,而不是在其他人可以给我发送不同的字符串时提供帮助吗?

我是否认为我Thread.CurrentThread.CurrentCulture在转换之前需要了解原始语言并进行更改以匹配?

c# culture

6
推荐指数
1
解决办法
3949
查看次数

Get-Help about*不适用于非英语系统

我正在使用德语PS版本,我正在尝试使用该命令显示powershell v.3.0的主题

Get-Help about_*
Run Code Online (Sandbox Code Playgroud)

这似乎是列出主题的正确命令.我还使用了更新了PS帮助

Update-Help
Run Code Online (Sandbox Code Playgroud)

CMDlet,以防万一有关主题遗失.无论如何:Get-Help cmdlet处理并返回:什么都没有.使用fl格式化输出或将输出保存到变量没有帮助,根本找不到about主题.但是,通常情况下,通配符似乎有效.运行

get-help get-*
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.有任何想法吗?

powershell culture localization powershell-3.0

6
推荐指数
1
解决办法
3358
查看次数

将由特定于区域性的数字组成的Unicode字符串转换为整数值

我正在用马拉地语开发一个程序.在其中,我想通过获取它们的实际整数值来添加/验证在Marathi Unicode中输入的数字.

例如,在马拉地语中:

  • 45 = 45
  • 99 = 99

如何将此Marathi字符串转换"??"为实际的整数值,即45

我google了很多,但没有发现任何有用的东西.我尝试使用System.Text.Encoding.Unicode.GetString()获取字符串然后尝试解析,但也失败了.

.net c# globalization culture numbers

6
推荐指数
1
解决办法
2012
查看次数

如何以编程方式检索EPi Server网站的所有已启用语言的列表?

我只想获得EPi Server网站所有已启用语言的列表(在管理模式下的"管理网站语言"面板中启用),并且最好还能够检索标志图标的路径,当然还有文化名称/ ID.

我正在使用EPiServer 6 R2,所以如果代码适用于该版本,那将是可爱的.把我指向正确的方向也会很棒.

c# culture localization episerver

6
推荐指数
2
解决办法
4002
查看次数

SHIFT快捷方式显示为文化"nl-BE"的MAJ,它应该是SHIFT(C#.NET)

经过与Infragistics的长时间讨论后,看来带有SHIFT的ShortCuts在我的文化"nl-BE"中显示为MAJ.首先,文化"nl-BE"和AZERTY有点奇怪.如果想了解更多,请阅读http://en.wikipedia.org/wiki/AZERTY.重要的是:

其他键是相同的,即使传统上特殊键的名称用英语打印在它们上面.这是因为比利时主要是双语(法语 - 荷兰语)和官方三种语言(第三语言,德语,在东方语言中使用).

所以MAJ印刷为SHIFT.例如,在Office中,带有SHIFT的快捷方式显示为SHIFT.在Infragistics控件中,它们显示为MAJ.这让我们的客户感到沮丧.

因此,在与Infragistics讨论后,他们声称这是一个Windows Api调用,它返回MAJ而不是SHIFT.我从他们那里得到了一个展示行为的示例项目.所以现在我的问题是为什么Windows Api调用不会返回SHIFT,如果它是正常的,那么Office如何才能正确显示它?

获取密钥文本的代码是:

NativeWindowMethods.GetKeyNameText((int)scanCode, sb, 256);
Run Code Online (Sandbox Code Playgroud)

class NativeWindowMethods
{
    #region MapVirtualKey
    [DllImport("user32.dll")]
    internal static extern int MapVirtualKey(uint uCode, uint uMapType);
    #endregion //MapVirtualKey

    #region GetKeyNameText
    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    internal static extern int GetKeyNameText(
        int lParam, 
        [MarshalAs(UnmanagedType.LPWStr), Out]System.Text.StringBuilder str, 
        int size);
    #endregion //GetKeyNameText
}
Run Code Online (Sandbox Code Playgroud)

如果是Shiftkey,则扫描码为2752512(2a),并返回MAJ.

那么,我的问题是什么?

  • 对于文化"nl-BE",MAJ是否正常归还?或者它是user32.dll中的错误?
  • 如果Office能够做到正确,那么Infragistics是否也能做到正确呢?
  • Infragistics是否使用正确的user32.dll api调用?

为了完整性,我将粘贴Utilities类的完整代码.从Form下一次调用完成:

systemLocalizedString = Utilities.GetLocalizedShortcutString(shortcut);

使用快捷键= ShiftF12.调用后,systemLocalizedString等于"MAJ + F12".

更新:在Hans Passant的帮助下,我下载了Microsoft Keyboard Layout Creator并导出了我当前的键盘布局.在.klc文件中没有找到MAJ,只有Shift(例如2a Shift).那么为什么user32.dll会返回MAJ?甚至更奇怪的是,当我复制.klc文件并将其安装为新键盘时,突然user32.dll确实为新安装的键盘返回Shift(虽然它是一个精确的副本).

Utilities.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using …
Run Code Online (Sandbox Code Playgroud)

c# culture infragistics localization user32

6
推荐指数
1
解决办法
791
查看次数

如何在XAML中的Xamarin Forms中设置ConverterCulture

我在一个需要显示价格的项目中使用Xamarin Forms(XAML).要显示我正在使用的格式正确的价格,StringFormat例如:

<Label Text="{Binding Price, StringFormat='{}{0:C}'}"/>
Run Code Online (Sandbox Code Playgroud)

结果取决于应用程序运行的设备的文化(德语:€,美国:$,...).我的目标始终是运用德国文化.根据adrianbanks的回答,这在WPF中是可行的.我尝试使用这种方法

<Label Text="{Binding Price, StringFormat='{}{0:C}', ConverterCulture='de-DE'}"/>
Run Code Online (Sandbox Code Playgroud)

但结果如下XamlParseException:

Xamarin.Forms.Xaml.XamlParseException:无法赋值属性"CultureInfo":属性不存在,或者不可赋值,或者值和属性之间的类型不匹配

似乎Xamarin Forms不提供此功能.我搜索了很多,但没有找到解决方法如何在XAML中设置格式化程序的文化.没有实现我自己的转换器,有没有想解决我的问题?

c# culture xaml converter xamarin

6
推荐指数
0
解决办法
662
查看次数