Internacionalización y localización de aplicaciones C#

(6 comentarios)

Se conoce como localización (abreviado l10n), al proceso de adaptar un producto software a una región o país específico, traduciendo los textos del programa, adecuando los formatos de fechas, monedas o unidades y, en general, adaptando el conjunto de la aplicación a las distintas peculiaridades de la zona.

Gracias a Visual Studio el proceso de localizar una aplicación escrita en C# es de lo más sencillo. Primero nos dirigiremos al diseñador de interfaces y estableceremos la propiedad Localizable de la ventana cuyos textos queramos traducir a True. Como valor para Language seleccionaremos el idioma al que vamos a traducir la aplicación.

[Pulsa para continuar]

C# y P/Invoke

(14 comentarios)

Supongamos que estamos programando nuestra nueva gran aplicación en C# y nos encontramos con que necesitamos de forma imperiosa hacer uso de una función del API WIN32 que no está encapsulada por el framework .NET, o cualquier otra función con código no administrado. ¿Qué deberíamos hacer? ¿abandonar el proyecto? ¿abandonar la plataforma .NET? ¿abandonar la programación enteramente y dedicarnos a otra cosa?

Son distintas soluciones, pero si ninguna de ellas te convence, una alternativa mejor pasa por utilizar P/Invoke (Platform Invocation Services o Servicios de Invocación de Plataforma), que es una de las formas que tenemos de utilizar código no administrado en .NET.

[Pulsa para continuar]

Archivos zip en C#

(14 comentarios)

El framework .NET no incluye ninguna clase para trabajar con archivos zip fácilmente. Sí, desde la versión 3.0 tenemos disponible el espacio de nombres System.IO.Packaging, pero este no está pensado realmente para trabajar con archivos zip genéricos, sino con zips que siguen el formato Office Open XML de Microsoft (docx, pptx, xlsx, …).

Tampoco puedes usar (directamente) las clases GZipStream y DeflateStream del espacio de nombres System.IO.Compression ya que estas clases, introducidas en la versión 2.0 del framework, pese a lo que alguno pudiera pensar, no sirven para trabajar con archivos zip, sino con GZip y con el algoritmo Deflate.

[Pulsa para continuar]

Microsoft “libera” C# y CLI

(21 comentarios)

Ahora que es seguro utilizar la implementación de C# y CLI de Mono, puede que quieras echar un vistazo a Introducción a C# para programadores Java (¿Sabías que, según los analistas, Mono ya es más popular que Java en Linux? Curioso).

Mono project

Y si Mono sigue sin convencerte, ¿qué tal Portable.NET, Vala o Python?

Introducción a C# para programadores Java

(29 comentarios)

Java y C# (pronunciado C sharp) son lenguajes de programación con muchas similitudes. No obstante .NET, y C# en particular, fueron la respuesta de Microsoft a la demanda de Sun en la que esta acusaba a la compañía de Redmond de intentar “secuestrar” el lenguaje Java con una implementación incompatible de la máquina virtual, la MSJVM (Microsoft Java Virtual Machine). De no haberse producido esta demanda, quizás las cosas se hubieran desarrollado de forma totalmente distinta, y puede que C# ni si quiera hubiera nacido.

En todo caso C# y Java también tienen muchas e importantes diferencias. C# cuenta, por ejemplo, con características tan interesantes como closures, funciones lambda, generadores, preprocesador, punteros, etc. Este artículo tiene como objetivo servir a modo de pequeña introducción a C# a los programadores Java.

[Pulsa para continuar]