2008-10-13 10 views

Respuesta

2

Puede usar Simple Resx Editor, tiene algunas características interesantes que lo ayudarán en el proceso de traducción.

3

Puede usar Resx Editor, un pequeño editor de archivos orientado a la traducción.

  • Público objetivo: traductores.
  • formato de archivo soportados: Microsoft RESX 2,0

Aquí hay un enlace a Joannès Vermoel de (el autor de la herramienta gratuita) weblog entry al respecto.

+0

@takrl gracias, el proyecto se movió a este enlace aparentemente http: //resx.sourceforge.net/(Actualicé la respuesta) – splattne

1

Aunque es contrario a la intuición, es una mejor idea traducir el archivo exe en lugar del recurso. Lea por qué aquí:

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

+0

buena idea, ¿conoces alguna aplicación como esa para los archivos de recursos de ASP.NET? –

0

Usted podría utilizar WinRes.exe de Microsoft, que le permite localizar formas de las ventanas sin tener que utilizar Visual Studio. No guarda los recursos en un archivo de texto, pero la idea es que el experto en localización de cada cultura pueda usar la herramienta para generar versiones localizadas de la aplicación.

He aquí una explicación mejor: http://msdn.microsoft.com/en-us/library/8bxdx003(VS.80).aspx

1

Es posible que desee echar un vistazo a Excel Resource Transfer. Es un complemento para Microsoft Excel para importar y exportar textos de archivos de recursos. Hay una versión de prueba. La versión completa cuesta 25, - Euro.

1

Al final acabo de utilizar un corte rápido:

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(); 
    } 
} 

añadir este código al proyecto que contiene los archivos your.resx (la mía están en un proyecto "Idiomas" por separado) a continuación, utilizar el código siguiente para guarde el resultado en .csv para que pueda cargarse con un editor de hojas de cálculo.

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); 
} 

Esto no permite importar archivos desde el .csv de nuevo a sus archivos .resx para que puedan ser compilados. Sería bueno tener una utilidad que haría eso.

+1

Esta es la verdadera respuesta. – aliopi

0

Si está haciendo esto para un proyecto web, una mejor forma de internacionalización (incluida la traducción) es usar el i18n nuget package. No solo funciona mejor con las plantillas, sino que también tiene otras opciones agradables, como las URL localizadas.

He aquí un ejemplo de la cesión temporal 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> 

ejecución de una tarea posterior a la generación genera una base de datos PO que se puede proporcionar a los traductores que utilizan herramientas de edición de PO (como POEdit) para proporcionar un texto específico de la localidad .

Cuestiones relacionadas