根据语言ID获取文化信息

时间:2018-08-15 14:14:15

标签: c# cultureinfo

我有以下代码可生成发票行,并包含公司使用其优惠券的月份:

invoice.InvoiceLine += CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month.Month) + " (" + usedThisMonth + "), ";

我的问题是公司使用公司语言(在数据库中,它保存为值1或2)。

1表示荷兰语,2表示法语。

我将如何编辑行以使月份以相应的语言显示?

我想我需要从以下开始:

if(invoice.CompanyLanguage == 1)
{
  invoice.InvoiceLine += CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month.Month) + " (" + usedThisMonth + "), ";
}
else
{
    invoice.InvoiceLine += CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month.Month) + " (" + usedThisMonth + "), ";
}

我仅发现了创建新CultureInfo对象的示例,但没有找到如何以编程方式分配它的示例。我的代码需要什么样?

1 个答案:

答案 0 :(得分:5)

您要问如何为变量分配区域性吗?

int foo = 1; // change as required
var cultureName = foo == 1 ? "nl-NL" : "fr-FR";
var culture = new CultureInfo(cultureName);

Console.WriteLine(culture.DateTimeFormat.GetMonthName(DateTime.Now.Month));

foo = 1打印“ augustus”,为foo的所有其他值打印“août”。