visual-studio - usar - vista previa visual studio code
Convierte un archivo de recursos de Visual Studio en un archivo de texto? (7)
Aunque es contrario a la intuición, es una mejor idea traducir el archivo ejecutable que el archivo de recursos. Lea por qué aquí:
Sé que hay herramientas para obtener archivos de texto en archivos de recursos para Visual Studio. Pero quiero obtener el texto de mis archivos de recursos en un archivo de texto para que puedan ser traducidos. ¿O hay una mejor manera de hacer esto?
Puede usar winres.exe de Microsoft, le permite localizar formularios de Windows sin tener que usar 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.
Aquí hay una mejor explicación: http://msdn.microsoft.com/en-us/library/8bxdx003(VS.80).aspx
Es posible que desee echar un vistazo a la transferencia de recursos de Excel . 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.
Puede usar Simple Resx Editor , tiene algunas características interesantes que lo ayudarán en el proceso de traducción.
Puede usar Resx Editor , un pequeño editor de archivos orientado a la traducción.
- Público objetivo: traductores.
- Formato de archivo admitido: Microsoft RESX 2.0
Aquí hay un enlace a la entrada del blog de Joannès Vermoel (el autor de la herramienta gratuita).
Al final acabo de usar un truco 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();
}
}
Agregue este código al proyecto que contiene sus archivos .resx (los míos están en un proyecto de "Idiomas" separado) y luego use el siguiente código para guardar 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 le permite importar archivos de .csv a sus archivos .resx para que puedan ser compilados. Sería bueno tener una utilidad que haría eso.
Si está haciendo esto para un proyecto web, una mejor forma de internacionalización (incluida la traducción) es usar el paquete i18n nuget . No solo funciona mejor con las plantillas, sino que también tiene otras opciones agradables, como las URL localizadas.
Aquí hay un ejemplo del repositorio 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>
La ejecución de una tarea posterior a la creación genera una base de datos de PO que se puede proporcionar a los traductores que usan herramientas de edición PO (como POEdit ) para proporcionar texto específico de la configuración regional.