Referencias culturales y Recursos de idiomas

06/11/2006 - 16:54 por ANT1 | Informe spam
Hola a todos.

Estoy aprendiendo en C# a marchas forzadas y si bien ya he conseguido
moverme con mas o menos soltura en un gran numero de funciones, me he
topado con un problema enorme.

Estoy intentando crear una aplicacion en dos idiomas, para que el
usuario pueda escoger cual es la que mas le guste. He creado los
archivos txt con las igualdades de Valor=StringAMostrar, con el resgen
he generado los ficheros ".resources"y a partir de aqui estoy bastante
perdido. He llegado a crear los ".dll" como se dice en el ejemplo de
http://msdn2.microsoft.com/es-es/li...rcemanager(VS.80).aspx
pero ahi solo lo crea, por lo que dice, para los satelites ¿no hay que
crearlo tb para el rmc.txt (por usar el mismo ejemplo) del lenguaje
neutral?

Sigo los mismo pasos que el ejemplo, y a la hora de hacer el 7º:

csc /res:rmc.resources rmc.cs


me da error diciendome que no se han podido encontrar o que no existen
todos los objetos que utilizo en mi aplicacion, como strings,
datagridviews, etc, y no tienen nada que ver con mi txt de idioma (es
mas de momento ni uso este recurso en la aplicacion).

Si intento crear el recurso mediante el CreateFileBasedResourceManager,
el programa no me da ningun error a la hora de crearlo, pero al usarlo
me dice que no se ha podido encontrar un recurso apropiado para la
cultura actual o para la cultura neutral.

¿Nadie tiene un ejemplo claro de como hacer esto?

Gracias a todos

Preguntas similare

Leer las respuestas

#1 edcha
06/11/2006 - 17:51 | Informe spam
yo pase por ese problema y opte por lo siguiente:

private static ResourceManager m_ResourceMger;
//Crear en Nombre.es-CR.resources Datos
IResourceWriter m_ResWriter = new ResourceWriter(PathClass.g_PathProg +
@"Idioma\Nombre.es-CR.resources");
m_ResWriter.AddResource("MF-btnIni", "Inicio");
m_ResWriter.AddResource("MF-btnPrev", "Informes");
m_ResWriter.AddResource("MF-btnConta", "Contabilidad");
m_ResWriter.Generate();
m_ResWriter.Close();

de esta forma se crea un archivo de recursos para manejar lo que
quieres hay que crear uno para cada idioma.

si deseas con mucho gusto te envio la clase que he creado para que la
pruebas con un ejemplo escribeme si lo deseas
Respuesta Responder a este mensaje
#2 ANT1
06/11/2006 - 17:55 | Informe spam
Uff.

Probando y probando he encontrado cual era mi problema, y es que no
entendia bien donde tenia que crear los archivos txt y resources. Los
estaba creando en al directorio donde tenia mis clases cs, y no donde
tenia el ejecutable exe. Un lamentable error que me ha hehco comerme la
cabeza durante casi dos semanas.

Ahora me ha surgido otro problema con las resources.

Yo estoy trabajando con resources de tipos string, mediante un kay y un
value para cada una. Haciendo pruebas todo me funciona de momento como
creo que ha de funcionar menos un string, concretamente:

anio=Año

Cuando hago un:

MiResourceManager.GetString("anio");

Este me devuelve "Ao" en vez de "Año".

¿Porque?
Respuesta Responder a este mensaje
#3 ANT1
06/11/2006 - 18:02 | Informe spam
Gracias Edcha.

Pero el caso es que tengo varias Forms en mi aplicacion, cada uno con
su archivo de recursos y cada uno de estos con entre 10 y 20 strings.
Por eso crear en codigo los recursos no lo he considerado una opcion ya
que tendria una cantidad de codigo increible. Ademas voy a ver si puedo
"evolucionar" esto a crear al vuelo los archivos resources en tiempo de
ejecucion para que el propio usuario, si lo desea, pueda modificar las
traducciones mediante los archivos txt (aunque esto aun no tengo muy
claro como hacerlo y me imagino que me suponga unos dolores de cabeza
tremendos).

De igual modo, y como veo que dices que tu tambien has tenido ese
problema, si deseas que te envie ejemplos de como he conseguido que me
funcionen los recursos de idiomas (aunque aun esten verdes) solo tienes
que avisarme por aqui o al correo.

Gracias, y hasta otra.
Respuesta Responder a este mensaje
#4 edcha
07/11/2006 - 00:34 | Informe spam
Creo entenderte y en mi caso creo solo dos archivos de recursos uno
para idioma ingles y otro para español y despues creo un form donde la
persona ira traduciendo ya sea del español o ingles el texto y al
final se creara el nuevo archivo de recurso que sera utilizado como el
Default. yo lo tengo trabajando y funcina muy bien

espero sea de ayuda mi comentario
Respuesta Responder a este mensaje
#5 Eduardo
07/11/2006 - 01:38 | Informe spam
Hola,
Puede ser que un problema con Unicode ???

Saludos

Eduardo

"ANT1" wrote in message
news:
Uff.

Probando y probando he encontrado cual era mi problema, y es que no
entendia bien donde tenia que crear los archivos txt y resources. Los
estaba creando en al directorio donde tenia mis clases cs, y no donde
tenia el ejecutable exe. Un lamentable error que me ha hehco comerme la
cabeza durante casi dos semanas.

Ahora me ha surgido otro problema con las resources.

Yo estoy trabajando con resources de tipos string, mediante un kay y un
value para cada una. Haciendo pruebas todo me funciona de momento como
creo que ha de funcionar menos un string, concretamente:

anio=Año

Cuando hago un:

MiResourceManager.GetString("anio");

Este me devuelve "Ao" en vez de "Año".

¿Porque?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida