Tôi đang thiết kế một ứng dụng đa ngôn ngữ bằng các tệp .resx.Cách lập trình để nhận tất cả các ngôn ngữ có sẵn (trong các cụm vệ tinh)
Tôi có một vài tệp như GlobalStrings.resx, GlobalStrings.es.resx, GlobalStrings.en.resx, v.v. Khi tôi muốn sử dụng, tôi chỉ cần đặt Thread.CurrentThread.CurrentCulture.
Vấn đề: Tôi có một combobox với tất cả các ngôn ngữ có sẵn, nhưng tôi tải này bằng tay:
comboLanguage.Items.Add(CultureInfo.GetCultureInfo("en"));
comboLanguage.Items.Add(CultureInfo.GetCultureInfo("es"));
Tôi đã thử với
cmbLanguage.Items.AddRange(CultureInfo.GetCultures(CultureTypes.UserCustomCulture));
mà không cần bất kỳ sự thành công. Cũng cố gắng với tất cả các yếu tố trong CultureTypes, nhưng tôi chỉ nhận được một danh sách lớn với nhiều ngôn ngữ hơn mà tôi không sử dụng hoặc danh sách trống.
Có cách nào để chỉ nhận các ngôn ngữ được hỗ trợ không?
Tôi nghĩ đây là giải pháp duy nhất chúng tôi nhận được. Tôi ở trên cùng một con thuyền. – Jippers
Liệu điều này cũng không nhận được các thư mục tài nguyên mà các phụ thuộc của bạn triển khai (nếu có)? Vì vậy, bạn có thể kết thúc với một số nền văn hóa bạn không hỗ trợ nhưng một số phụ thuộc của bạn làm. –