2009-11-24 26 views
6

Tôi đang phát triển một trang web đa ngôn ngữ và bản địa hóa được thực hiện chủ yếu bằng cách sử dụng các tệp .resx. Nhưng bây giờ tôi cần phải cho phép người dùng với một số quyền để chỉnh sửa các tập tin tài nguyên trực tuyến từ trang web. Có ai biết về bất kỳ thành phần hiện có nào để giúp đạt được điều này không?Thành phần ASP.NET để chỉnh sửa các tệp .resx

Trả lời

6

Điều tốt nhất bạn có thể làm là chuyển sang phương pháp điều khiển DB.

Rick Strahl có bài viết xuất sắc này: Creating a Data Driven ASP.NET Localization Resource Provider and Editor với mã nguồn miễn phí!

Thậm chí, tính năng này còn có tính năng Nhập để bạn không phải dịch lại công việc được thực hiện cho đến thời điểm này.

Edit: nếu bạn nhấn mạnh vào chỉnh sửa các tập tin XML, bài viết này có thể giúp: Updatable ASP.NET ResX Resource Provider – yes, it’s possible!

+0

Trông giống như các giải pháp tuyệt vời. Cảm ơn! – Farinha

0

Tôi nghĩ bạn nên xem lại bước này một lần nữa. Đầu tiên của tất cả các tập tin resx được biên dịch thay vì sử dụng trực tiếp vì vậy bất kỳ thay đổi yêu cầu biên dịch lại trang *. Một điều nữa là nó có thể là một mối đe dọa bảo mật nghiêm trọng - bạn cho phép người dùng chỉnh sửa các tập tin trong thư mục ứng dụng của bạn.

* - http://msdn.microsoft.com/en-us/library/ekyft91f%28VS.80%29.aspx

+0

Vì vậy, tôi đoán không có cách "sạch" truy cập các tệp .resx ngoài việc chỉ mở kiểu "trường học cũ", rối tung với XML và ghi chúng vào hệ thống tệp lần nữa. Và sau đó ứng dụng sẽ tìm ra chúng đã được thay đổi và biên dịch chúng khi chạy. Về nguy cơ bảo mật, các tệp .resx chỉ giữ các chuỗi dịch và người dùng thay đổi chúng sẽ cần các quyền thích hợp. Điều đó khiến tôi tự hỏi, có thể một số "tấn công tiêm" được thực hiện bằng cách chèn một số mã vào một tập tin .resx? – Farinha

0

Tôi chỉ tìm thấy ứng dụng này Resource Blender đó là tương tự như những gì tôi đang tìm kiếm:

ResourceBlender là mã nguồn mở dịch và quốc tế hóa ứng dụng cung cấp một cách dễ dàng để quản lý các tài nguyên được bản địa hóa cho bao gồm với các ứng dụng khác nhau. Có sẵn như là một ứng dụng web ASP.NET và một ứng dụng WPF , nó làm cho việc bản địa hóa các ứng dụng trở nên dễ dàng. ResourceBlender tạo tài nguyên được bản địa hóa ở các định dạng khác nhau từ cơ sở dữ liệu trung tâm để đưa vào với các ứng dụng khác nhau.

Các tính năng chính được cung cấp bao gồm:

  • nguồn Xuất khẩu sang file resx .NET, Java .properties, GNU .po/gettext, các thực thể XHTML và nhiều hơn nữa.
  • Nhập/xuất dữ liệu dịch dưới dạng bảng tính XML để giúp chỉnh sửa thuận tiện hơn.
  • Sử dụng một cơ sở dữ liệu bản dịch để giữ bản địa hóa đồng bộ hóa.
  • Hỗ trợ MySQL, SQL Server và SQLite, vì vậy không yêu cầu cơ sở dữ liệu bên ngoài.
  • Di chuyển từ các tệp .resx hoặc .properties hiện có bằng trình hướng dẫn nhập.
  • Dễ dàng cho cả người dịch và chủ sở hữu/quản trị viên dự án.
  • Nguồn mở và miễn phí.
  • Dịch máy tự động với Google Dịch.
  • Mẫu tùy chỉnh cho định dạng tài nguyên.
Các vấn đề liên quan