根据语言ID获取文化信息

Get the culture info based on ID of language

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

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

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

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"。