2008-10-13 11 views

Trả lời

2

Bạn có thể sử dụng Simple Resx Editor, nó có một số tính năng thú vị sẽ giúp bạn trong quá trình dịch thuật.

3

Bạn có thể sử dụng Resx Editor, một trình chỉnh sửa tệp hướng dịch nhỏ.

  • Đối tượng mục tiêu: người dịch.
  • định dạng file được hỗ trợ: Microsoft RESX 2,0

Dưới đây là một liên kết đến Joannes Vermoel của (tác giả của công cụ miễn phí) weblog entry về nó.

+0

@takrl cảm ơn, dự án đã được chuyển đến liên kết này rõ ràng http: //resx.sourceforge.net/(Tôi đã cập nhật câu trả lời) – splattne

1

Mặc dù nó phản trực giác, bạn nên dịch exe hơn là tệp tài nguyên. Tìm hiểu tại sao ở đây:

http://www.apptranslator.com/misconceptions.html

+0

ý tưởng hay, bạn có biết bất kỳ ứng dụng nào giống như các tệp ASP.NET Resource không? –

0

Bạn có thể sử dụng winres.exe từ Microsoft, nó cho phép bạn khoanh vùng các cửa sổ hình thức mà không cần phải sử dụng Visual Studio. Nó không lưu tài nguyên vào một tệp văn bản, nhưng ý tưởng là chuyên gia bản địa hóa cho mỗi nền văn hóa có thể sử dụng công cụ này để tạo ra một phiên bản được bản địa hóa của ứng dụng.

Dưới đây là một lời giải thích tốt hơn: http://msdn.microsoft.com/en-us/library/8bxdx003(VS.80).aspx

1

Bạn có thể muốn có một cái nhìn tại Excel Resource Transfer. Nó là một bổ trợ cho Microsoft Excel để nhập và xuất văn bản từ các tệp tài nguyên. Có một phiên bản dùng thử. Phiên bản đầy đủ chi phí 25, - Euro.

1

Cuối cùng tôi chỉ sử dụng một hack nhanh chóng:

public class Export 
{ 
    public string Run() 
    { 
     var resources = new StringBuilder(); 

     var assembly = Assembly.GetExecutingAssembly(); 
     var types = from t in assembly.GetTypes() 
        where t != typeof(Export) 
        select t; 
     foreach (Type t in types) 
     { 
      resources.AppendLine(t.Name); 
      resources.AppendLine("Key, Value"); 
      var props = from p in t.GetProperties() 
         where !p.CanWrite && p.Name != "ResourceManager" 
         select p; 
      foreach (PropertyInfo p in props) 
      { 
       resources.AppendFormat("\"{0}\",\"{1}\"\n", p.Name, p.GetValue(null)); 
      } 

      resources.AppendLine(); 
     } 
     return resources.ToString(); 
    } 
} 

Thêm mã này vào các dự án trong đó có chứa file your.resx (mỏ đang ở trong một dự án "Ngôn ngữ" riêng biệt) sau đó sử dụng đoạn mã sau để lưu kết quả vào tệp .csv để có thể tải kết quả bằng trình chỉnh sửa bảng tính.

var hack = new Languages.Export(); 
var resourcesSummary = hack.Run(); 
var cultureName = System.Threading.Thread.CurrentThread.CurrentCulture.Name; 
using (TextWriter file = File.CreateText(@"C:\resources." + cultureName + ".csv")) 
{ 
    file.Write(resourcesSummary); 
} 

Điều này không cho phép bạn nhập tệp từ .csv quay lại tệp .resx để chúng có thể được biên soạn. Sẽ rất tuyệt khi có một tiện ích có thể làm được điều đó.

+1

Đây là câu trả lời thực sự. – aliopi

0

Nếu bạn đang làm điều này cho một dự án web, cách tốt hơn để làm quốc tế hóa (bao gồm cả dịch thuật) là sử dụng i18n nuget package. Không chỉ hoạt động tốt hơn với các mẫu mà còn có các mẫu đẹp khác như các URL được bản địa hoá.

Dưới đây là một ví dụ từ repo github:

<div id="content"> 
    <h2>[[[Welcome to my web app!]]]</h2> 
    <h3><span>[[[Amazing slogan here]]]</span></h3> 
    <p>[[[Ad copy that would make Hiten Shah fall off his chair!]]]</p> 
    <span class="button" title="[[[Click to see plans and pricing]]]"> 
     <a href="@Url.Action("Plans", "Home", new { area = "" })"> 
      <strong>[[[SEE PLANS & PRICING]]]</strong> 
      <span>[[[Free unicorn with all plans!]]]</span> 
     </a> 
    </span> 
</div> 

Chạy một nhiệm vụ sau xây dựng tạo ra một cơ sở dữ liệu PO có thể được cung cấp cho các dịch giả có sử dụng công cụ chỉnh sửa PO (như POEdit) để cung cấp văn bản địa đặc thù .