Tôi khá mới đối với lập trình được bản địa hóa và tôi đang cố gắng tìm ra cách đặt ngôn ngữ ban đầu thích hợp cho ứng dụng C++ không được quản lý mới được khởi chạy (từ bên trong ứng dụng).làm cách nào để đặt ngôn ngữ ban đầu thích hợp cho chương trình C++ trên Windows?
Theo như tôi có thể nói, các ứng dụng mới bắt đầu bằng ngôn ngữ C, chứ không phải là ngôn ngữ địa phương thích hợp (tiếng Anh, tiếng Đức, v.v.). Vì vậy, những gì tôi cần làm là gọi setlocale(LC_ALL, "???")
, nhưng tôi không chắc chắn làm thế nào để có được giá trị chính xác cho đối số thứ hai. Nó sẽ là một cái gì đó như "tiếng Anh" hoặc "tiếng Đức: Đức" - về cơ bản bất kỳ miền địa phương đã được thiết lập bởi người dùng thông qua bảng điều khiển tùy chọn ngôn ngữ và khu vực. Chỉ cần rõ ràng, tôi là không phải đang tìm cách định dạng chuỗi ngôn ngữ, tôi đang tìm chuỗi địa phương chính xác cho máy tính nơi ứng dụng đang chạy.
Tôi đoán rằng có một số API Win32 sẽ cung cấp cho tôi điều này hoặc có thể là khóa đăng ký có chứa giá trị thích hợp. Có ai biết tôi nên làm gì không?
Tuyệt vời, đây chính xác là những gì tôi cần. Có vẻ như bạn cũng có thể chuyển tên() của một ngôn ngữ C++ đã cho tới setlocale(), để thiết lập miền địa phương C. – Charlie