Có một số cách trong Win32 API để chuyển đổi một mã ngôn ngữ ba lá thư, như được trả về bởi GetLocaleInfo()
với LOCALE_SABBREVLANGNAME
quy định, đến một tương ứng LANGID
hoặc LCID
? Đó là, đi vào "đảo ngược" với những gì GetLocaleInfo()
thường làm gì?Chuyển đổi ba lá thư mã ngôn ngữ để nhận dạng ngôn ngữ (LANGID)
Điều tôi đang cố gắng phân tích loại ngôn ngữ mà tài nguyên DLL đang sử dụng, và cho đến nay, không cần chạm vào bất kỳ điều gì về DLL, theo tên dll có định dạng nameLNG.dll
, trong đó LNG
là ba mã ngôn ngữ thư, có vẻ là phương pháp dễ nhất, giả sử một hàm như vậy tồn tại. Nếu điều này không dễ làm, tôi đoán Kế hoạch B là cung cấp cho ngôn ngữ của chúng tôi DLL tài nguyên thông tin phiên bản, chỉ định nền văn hóa tương ứng ở đó, và sau đó trong ứng dụng, đọc nền văn hóa nào họ sử dụng.
Vâng, tôi nghĩ rằng tôi sẽ kết thúc bằng cách sử dụng lớp này sau đó, vì bạn đã rõ ràng đã bước bên không chỉ một, nhưng hai trong số các vấn đề chúng ta đang phải đối mặt. Chúng tôi thậm chí có thể thực hiện lại menu phụ ngôn ngữ mà tôi vừa mới mất vài ngày trước đây, nghĩ rằng việc chuyển sang cơ chế MFC của chúng tôi sẽ là cuối cùng. Oh well ... – Jonas