Eso es una mierda pinchada en un palo, con perdon de la expresión. ¿Como se puede construir algo en base a parametros strings? Suena a antipatrón.
Pongamos
bici =Facade.get("Bicicleita");
¿No hace mucha gracía que no de error en tiempo de compilación no?
La cosa ya se pone surealista cuando no sabes en que idioma poner Bicicleta. Lo comento porque para la programación de Addins de Visual Studio, todos los componentes se buscan de esa forma. Ejemplo, el toolbar de Visual Studio se saca:
Y para sacar el menu de Herramientas, como en cada Visual Studio está en un idioma, se hace, atención:
try
{//If you would like to move the command to a different menu, change the word "Tools" to the// English version of the menu. This code will take the culture, append on the name of the menu// then add the command to that menu. You can find a list of all the top-level menus in the file// CommandBar.resx.
string resourceName;
ResourceManager resourceManager = new ResourceManager("SqlFasterPaste.CommandBar", Assembly.GetExecutingAssembly());
CultureInfo cultureInfo = new CultureInfo(_applicationObject.LocaleID);
if(cultureInfo.TwoLetterISOLanguageName == "zh")
{
System.Globalization.CultureInfo parentCultureInfo = cultureInfo.Parent;
resourceName = String.Concat(parentCultureInfo.Name, "Tools");
}
else
{
resourceName = String.Concat(cultureInfo.TwoLetterISOLanguageName , "Tools");
}
toolsMenuName = resourceManager.GetString(resourceName);
}
catch
{//We tried to find a localized version of the word Tools, but one was not found.// Default to the en-US word, which may work for the current culture.
toolsMenuName = "Tools";
}
O lo que es lo mismo, accedemos a un fichero de recursos donde la palabra tool estará traducida. Además, si el lenguaje es "zh" ?¿?¿ hacemos, otra cosa.
por
pobrecito hablador
el Lunes, 09 Junio de 2008, 23:11h
(#1052378)
Que digo que zh hace referencia al Chino (zhongwen), no que lo que has puesto este en Chino (eso seria mas corto y facil, sin duda). Para que luego hablen de i18n y l10n.
Pero si te das cuenta, con eso puedes decir que has trabajado duro y creado 10 o 20 lineas de codigo, que luego hay que mantener. Si lo piensas, todo el mundo tiene un ludita en su interior, consciente o incoscientemente, sobre todo si asi puedes comer seguro. Y hasta que busquemos soluciones a lo Elogio a la Ociosidad de Russell [temakel.com] (interesante texto que enlazaron hace unos dias, que viene a plantear que la productividad nos deberia permitir trabajar menos, en vez de tener mas parados), la encruzijada seguira ahi, pisar el freno un poco sin que se note, o ir a todo gas hacia la herramienta que te ponga de patitas en la calle, porque el termino medio queda claro que a los empresarios no les mola (algunos ya creen que menos de 8 horas es de vagos).
Ah, se me olvidaba
(Puntos:3, Informativo)( http://geeks.ms/blogs/cpsaez/ | Última bitácora: Miércoles, 12 Octubre de 2016, 21:19h )
bici = Facade.get("Bicicleta");
Eso es una mierda pinchada en un palo, con perdon de la expresión. ¿Como se puede construir algo en base a parametros strings? Suena a antipatrón.
Pongamos
bici =Facade.get("Bicicleita");
¿No hace mucha gracía que no de error en tiempo de compilación no?
La cosa ya se pone surealista cuando no sabes en que idioma poner Bicicleta. Lo comento porque para la programación de Addins de Visual Studio, todos los componentes se buscan de esa forma. Ejemplo, el toolbar de Visual Studio se saca:
Microsoft.VisualStudio.CommandBars.CommandBar menuBarCommandBar = ((Microsoft.VisualStudio.CommandBars.CommandBars)
Y para sacar el menu de Herramientas, como en cada Visual Studio está en un idioma, se hace, atención:
{
string resourceName;
ResourceManager resourceManager = new ResourceManager("SqlFasterPaste.CommandBar", Assembly.GetExecutingAssembly());
CultureInfo cultureInfo = new CultureInfo(_applicationObject.LocaleID);
if(cultureInfo.TwoLetterISOLanguageName == "zh")
{
System.Globalization.CultureInfo parentCultureInfo = cultureInfo.Parent;
resourceName = String.Concat(parentCultureInfo.Name, "Tools");
}
else
{
resourceName = String.Concat(cultureInfo.TwoLetterISOLanguageNam
}
toolsMenuName = resourceManager.GetString(resourceName);
}
catch
{
toolsMenuName = "Tools";
}
¿Curioso no? Pues eso, antipatrón.
Under a sea of dust lies a vast wealth of wisdom
Re:Ah, se me olvidaba
(Puntos:2)( Última bitácora: Lunes, 29 Octubre de 2012, 18:48h )
En Chino y el ludita incosciente
(Puntos:0)Pero si te das cuenta, con eso puedes decir que has trabajado duro y creado 10 o 20 lineas de codigo, que luego hay que mantener. Si lo piensas, todo el mundo tiene un ludita en su interior, consciente o incoscientemente, sobre todo si asi puedes comer seguro. Y hasta que busquemos soluciones a lo Elogio a la Ociosidad de Russell [temakel.com] (interesante texto que enlazaron hace unos dias, que viene a plantear que la productividad nos deberia permitir trabajar menos, en vez de tener mas parados), la encruzijada seguira ahi, pisar el freno un poco sin que se note, o ir a todo gas hacia la herramienta que te ponga de patitas en la calle, porque el termino medio queda claro que a los empresarios no les mola (algunos ya creen que menos de 8 horas es de vagos).