Trả lời

6

Đặt cược tốt nhất của bạn là sử dụng tệp tài nguyên lắp ráp bằng menu dự án, sau đó thêm tài nguyên vào tệp của bạn.

Để sử dụng các nguồn lực cụ thể ngôn ngữ trong chương trình của bạn:

System.Resources.ResourceManager mgr = new 
    System.Resources.ResourceManager("MyConsoleApp.MyResource", 
    System.Reflection.Assembly.GetExecutingAssembly()) ; 

Console.WriteLine (mgr.GetString ("resourceName")); 

Console.ReadLine(); 
+0

Bây giờ nó tải ngôn ngữ hệ thống của tôi. Làm thế nào tôi có thể thay đổi nó để kiểm tra các ngôn ngữ khác? –

+0

Bạn có thể đặt văn bản của chuỗi hiện tại bằng cách sử dụng Thread.CurrentThread.CurrentUICulture = new CultureInfo ("en-US") trong đó en-US là mã RFC3066. Liên kết này có hướng dẫn đầy đủ để giúp http://www.codeguru.com/vb/gen/vb_misc/multi-languagesupport/article.php/c5601/ – Laramie

+0

Ngoài ra: phương thức GetString() của ResourceManager bị quá tải. Phương thức này lấy đối tượng CultureInfo làm đối số thứ hai. –

1

hội Sử dụng vệ tinh như thể hiện trong bài viết MS này:

http://msdn.microsoft.com/en-us/library/aa645513%28VS.71%29.aspx

+0

Tôi có thể tải xuống mẫu này ở đâu? –

+0

Tôi không chắc chắn cho VS2010, đối với một số phiên bản trước đó các mẫu được sử dụng để được bao gồm trên phương tiện cài đặt cho VS hoặc MSDN nhưng tôi không chắc chắn nếu đó là trường hợp nữa. Liên kết trực tuyến duy nhất tôi có thể tìm thấy là http://www.microsoft.com/downloads/details.aspx?FamilyID=41c68033-775c-4d92-a9c4-2db8e8238f37&DisplayLang=en nơi bạn có thể tải xuống phiên bản cũ của mẫu ít nhất –

0

Về cơ bản, bạn muốn được sử dụng các file tài nguyên. Liên kết này nên đưa bạn đi đúng hướng:

http://www.jelovic.com/articles/resources_in_visual_studio.htm

Một khi bạn đã có file resx cho các ngôn ngữ khác nhau của bạn, lớp ResourceManager có một phương pháp GetString mà phải mất một đối tượng CultureInfo, vì vậy nó sẽ trả lại bản dịch đúng cho văn hóa hiện tại hoặc giá trị dự phòng nếu không có tài nguyên của tên đó trong tệp resx đã dịch.

Các vấn đề liên quan