name metatags keywords generador etiquetas ejemplos winforms localization internationalization c#-2.0 windows-forms-designer

winforms - metatags - meta tags generator



¿Cómo obtengo la propiedad Localizable y apoyo en mi propia herramienta de diseño? (2)

No estoy seguro si entendí tu pregunta correctamente.

Simplemente compruebe si System.ComponentModel.LocalizableAttribute en todas las propiedades para (des) serializar si su control es Localizable.

// Gets the attributes for the property. AttributeCollection attributes = TypeDescriptor.GetProperties(this)["MyProperty"].Attributes; // Checks to see if the property needs to be localized. LocalizableAttribute myAttribute = (LocalizableAttribute)attributes[typeof(LocalizableAttribute)]; if(myAttribute.IsLocalizable) { // Insert code for handling resource files here. }

Ya que decidiste escribir tu propio diseñador, debes hacerlo tú mismo.

Visión de conjunto

En otra pregunta, pregunté sobre la implementación de localizaciones para algunos UserControl compilados en tiempo de ejecución . Sin embargo, antes de poder implementar las localizaciones, necesito una forma de localizar los controles.

Fondo

Los controles son creados por nuestro propio diseñador al estilo de WinForms (usando el soporte de .NET para superficies de diseño, etc.) y guardados como un formato binario que combina CodeCompileUnit , resource resx y el origen del usuario en un solo archivo. Luego, otra herramienta compila estos archivos en un ensamblado, según corresponda, en tiempo de ejecución.

Para localizarlos, debemos decirle al diseñador y la serialización que los valores de propiedades localizables deben almacenarse en los recursos. El diseñador de VisualStudio WinForms lo hace mediante una propiedad de extensión denominada Localizable y una propiedad asociada para especificar la cultura predeterminada. Necesitamos esta propiedad en nuestro diseñador personalizado, si es posible.

Restricciones

Necesitamos nuestra herramienta de diseño independiente que sea fácil de usar para los tipos que no sean desarrolladores, así como restringir ciertas acciones, así que usar una edición gratuita de Visual Studio (es decir, C # Express) no va a funcionar (ya lo he lanzado y no) ; por lo tanto, cualquier solución a cómo localizamos las necesidades de UserControl para compensar esto.

Pregunta

¿Podemos obtener el soporte de Localizable en nuestro diseñador de WinForms personalizado?

  • Si es así, ¿cómo?
  • Si no, ¿qué alternativas hay para localizar nuestro UserControl ? por ejemplo, procesamiento posterior de alguna manera, formato de archivo diferente, etc.