Tôi đánh dấu câu hỏi này cho bản thân mình với một ngôi sao và chia sẻ ở đây một số mã về cơ bản biến Request.UserLanguages
thành một mảng của CultureInfo trong lập trường để sử dụng thêm trong ứng dụng của bạn. Nó cũng linh hoạt hơn khi làm việc với CultureInfo hơn là mã ISO, bởi vì với CultureInfo bạn có quyền truy cập vào tất cả các thuộc tính của một nền văn hóa (như Tên, Hai ký tự, Tên bản địa, ...):
// Create array of CultureInfo objects
string locale = string.Empty;
CultureInfo[] cultures = new CultureInfo[Request.UserLanguages.Length + 1];
for (int ctr = Request.UserLanguages.GetLowerBound(0); ctr <= Request.UserLanguages.GetUpperBound(0);
ctr++)
{
locale = Request.UserLanguages[ctr];
if (!string.IsNullOrEmpty(locale))
{
// Remove quality specifier, if present.
if (locale.Contains(";"))
locale = locale.Substring(0, locale.IndexOf(';'));
try
{
cultures[ctr] = new CultureInfo(locale, false);
}
catch (Exception) { continue; }
}
else
{
cultures[ctr] = CultureInfo.CurrentCulture;
}
}
cultures[Request.UserLanguages.Length] = CultureInfo.InvariantCulture;
HTH
những loại giá trị không những tiêu đề thường chứa? Ví dụ sẽ tuyệt vời để làm việc cùng. –
Trích dẫn: “Thông thường, các mã này bao gồm mã gồm hai ký tự cho ngôn ngữ, dấu gạch ngang và mã gồm hai ký tự cho văn hóa, chẳng hạn như" en-us "cho tiếng Anh Mỹ và" fr-ca "cho tiếng Pháp của Canada. '. Vì vậy, nó là một mảng 'string []' chứa các giá trị như vậy. –
Đã thêm ví dụ. –