2011-12-15 18 views
6

Tôi đang làm việc trên ứng dụng C# .NET và tôi đang thực hiện bản địa hóa với các tệp tài nguyên. Tôi có các tệp tài nguyên cụ thể về văn hóa như:Triển khai các hội đồng vệ tinh .NET trong thư mục cụ thể

  • MyResource.resx;
  • MyResource.fr-FR.resx;
  • MyResource.ja-JP.resx;

Sau khi xây dựng, trong thư mục gốc ứng dụng có các thư mục như fr-FR, ja-JP và vân vân.

Có thể di chuyển tất cả các tệp và thư mục tài nguyên bản địa hóa vào cùng một thư mục, ví dụ Languages?

Cập nhật 1:

Tôi đã giải quyết điều này bằng mã bên dưới. có vẻ như khi tôi sao chép ứng dụng sang một nơi khác, nó không thể tải tài nguyên. Như tôi có thể thấy, file application.config cũng cần phải có. Và nếu tôi làm app.config như tài nguyên nhúng, nó không hoạt động.

Có cách nào hay không, cách thực hiện điều này mà không cần tệp .config cần trong cùng một thư mục?

Cảm ơn

+0

Đây có phải là dự án libray không, ví dụ: dll? – Remy

+0

Không, ứng dụng dành cho máy tính để bàn. – KristijanSharp

Trả lời

7

Theo mặc định, cụm vệ tinh được đặt trong thư mục con trực tiếp bên dưới tệp thi hành. Nếu bạn muốn di chuyển tất cả các fr-FR, ja-JP và thư mục còn lại cho nền văn hóa khác vào cùng một thư mục Languages bạn có thể làm điều đó bằng cách thêm các mục sau đây vào file cấu hình ứng dụng:

<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="Languages"/> 
    </assemblyBinding> 
    </runtime> 
</configuration> 

này sẽ chỉ ra rằng khi tìm kiếm lắp ráp CLR nên tìm kiếm trong các vị trí mặc định và cũng trong thư mục hoặc thư mục được chỉ định bởi thuộc tính privatePath của phần tử probing. Bạn có thể chỉ định bất kỳ thư mục nào tồn tại bên dưới tệp thi hành ứng dụng. Khi chỉ định nhiều thư mục con, bạn cần phải phân định từng thư mục bằng dấu chấm phẩy.

+0

Cảm ơn. Nó đang làm việc bây giờ. – KristijanSharp

1

file resx My dưới Properties dưới:

  • Resources.resx
  • Resources.tr-TR.resx

tôi đặt các thông tin thời gian chạy vào tập tin cấu hình ứng dụng như mô tả ở trên nhưng không thay đổi. vẫn tạo thư mục tr-TR dưới đường dẫn thực thi, không phải trong thư mục Ngôn ngữ. Tôi có thể làm gì sai ở đây? Cảm ơn

<configuration> 
... 
<runtime> 
... 
</runtime> 
</configuration> 
+0

Bạn cần phải tự di chuyển thư mục (tôi đã thực hiện nó với một bước sau khi xây dựng). Việc chỉnh sửa cài đặt cấu hình của bạn chỉ kiểm soát cách các hội đồng bổ sung được tìm kiếm, chứ không phải nơi chúng được ghi vào. – Seanba

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