首页 > 解决方案 > 根据语言 ID 获取文化信息

问题描述

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

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对象的示例,但没有找到如何以编程方式分配它。我的代码应该是什么样子?

标签: c#cultureinfo

解决方案


您是否在问如何将文化分配给变量?

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”和“août” foo


推荐阅读