Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
A Vueltas Con El Operador Ternario IIF
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje A Vueltas Con El Operador Ternario IIF 
 
Buenos días!.

Para algunos puente, para otros trabajo.

Viendo la ayuda de gambas sobre este operador. Da a entender o parece.
Que lo que se debe hacer en la respuesta en caso positivo o en caso negativo es solo eso, una respuesta, no una operación
en caso de ser cierto o falso.

X = 7
Print If((X Mod 2) = 0, "even", "odd")
 

Citar:

 odd


Parece que en código podemos usar IF y no es necesario usar IIF.

Lo que dice aquí.

' Never do the following in real code, because it is not translatable!
X = 7
Print "You have " & X & " message" & If(X <> 1, "s", "") & " waiting."
 

Citar:

 You have 7 messages waiting.


¿ Traducible ?. Pero es valido. La respuesta fue correcta.  
La concatenación es posible.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Lunes, 30 Abril 2018, 08:30; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
Pues debe ser solo eso. Que no se puede traducir. Pero no todos traducimos a otros idiomas.  

Con la forma:

Print ("You have " & X & " message" & IIf(X > 1, "s", "") & " waiting.")
 


El traductor del proyecto dice que hay 0 cadenas y que todo esta traducido.
En cuanto a hacer por ejemplo:

Print ("You have")
 


 traductordelproyecto

Pero, ¿ solo por eso no se debe hacer ?.  
A la larga si quiere dar a conocer tu proyecto al resto del mundo tendrás que hacerlo en inglés.
Para que tanta traducción.  

Ya hemos visto que algunos de los aquí presentes usan el ingles y nada de español.
Renegados..   

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
Pero lo de la traducción es muy fácil solucionarlo con Subst() y los comodines &1, &2, etc.

Recuerdo haberlo hecho en alguna ocasión y funciona correctamente. Ahí lo dejo para que investiguéis

http://gambaswiki.org/wiki/lang/subst


Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
Jesús:

Citar:

Pero lo de la traducción es muy fácil solucionarlo con Subst() y los comodines &1, &2, etc.


Pues lo voy a probar con el mismo ejemplo de la ayuda.
Me parece que en los consejos de gambas había una referencia a esto.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
En cuanto a la traducción. Hice algo como esto:

Print Subst(("&1" & X & "&2" & IIf(X > 1, "&3", "") & "&4."), ("You have "), (" message"), ("s"), (" waiting"))
 

Hay que tener cuidado con los espacios cuando cambiemos de singular a plural. Las cadenas de texto pueden verse con espacios de más.
Sobraría la "s". Ya que coincide con el español para el plural.

Al principio creía que con solo la orden Subst iba a colar, pero no. Tuve que usar los paréntesis en las cadenas.
No siempre se usan paréntesis en las traducciones.

traducirproyecto_1525128731_312302

Ahora bien. Si añadimos las palabras tal cual y no pensamos en los espacios que tenían las palabras en inglés.
Vamos a obtener una salida como esta en español: Si los mensajes fueran 8.

Citar:

Tu tienes8mensajesesperando.


Por un lado nos encontramos el problemas de los espacios en inglés y por otra al traducirlo al español si no volvemos a mirar los espacios.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
Shell:
Citar:
Por un lado nos encontramos el problemas de los espacios en inglés y por otra al traducirlo al español si no volvemos a mirar los espacios.


Print Subst(("&1" & X & "&2" & IIf(X > 1, "&3", "") & "&4."), ("You have "), (" message"), ("s"), (" waiting"))


Solucion:
Haz que los espacios no sean traducibles:

Print Subst(("&1" & " " & X & " " & "&2" & IIf(X > 1, "&3", "") & " " & "&4."), ("You have"), ("message"), ("s"), ("waiting"))


Saludos

Julio
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
---fr---
Bonjour

J'attire ton attention sur le fait que le  pluriel n'utilise pas systématiquement la lettre "s"...
Ainsi en Français nous disons :

Un cheval.

Des chevaux.

En fait "Un" signifie un seul et unique animal (1).
Alors que "Des" signifie au moins deux (2) ou plus animaux.

Je laisse le texte original pour que tu puisse faire la comparaison car le traducteur "DeepL" a supprimé l'adjectif "Des".

Je conseillerai de traduire une phrase (ou une partie de phrase) plutôt qu'une seule lettre, cela a en plus l'avantage de tenir compte des inversions de la grammaire Anglaise.

L'utilisation du "IIF" sera donc basée sur le nombre comme par exemple :

stexte = IIF(ianimal >1, ("Il y a des chevaux..."), ("Il n'y a qu'un seul cheval..."))

J'espère que ce commentaire te sera utile.

Bonne journée.

---es---
Hola

Llamo su atención sobre el hecho de que el plural no utiliza sistemáticamente la letra "s"...
Así que en francés decimos:

Un caballo.

Caballos.

De hecho, "Uno" significa un solo animal (1).
Des" significa al menos dos (2) o más animales.

Dejo el texto original para que lo comparen porque el traductor "DeepL" ha eliminado el adjetivo "Des".

Aconsejaría traducir una oración (o parte de una oración) en lugar de una sola letra, esto tiene la ventaja adicional de tener en cuenta las inversiones de la gramática inglesa.

La utilización de la "IIF" se basará, por lo tanto, en el número, por ejemplo, :

stexte = IIF(ianimal >1, ("Hay caballos...."), ("Sólo hay un caballo..."))

Espero que este comentario le sea útil.

Que tengas un buen día.

Traducción realizada con el traductor www.DeepL.com/Translator
 



 
didier18 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
Julio:

Citar:

Solucion:
Haz que los espacios no sean traducibles:


Pues si.    

Como tenemos la cabeza algunas veces que no vemos cosas que son tan sencillas de hacer.  

Didier18:

Interesante la gramática de los idiomas.
¿ Qué tal es el traductor de Google con el idioma francés ?.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
---fr---
Bonjour

Voici un exemple de traduction réalisé sur deux traducteurs.
D'une façon générale pour les textes "courants" les traducteurs sont équivalents.
La différence se fait plus dans la précision des termes utilisés originellement.
Cette traduction a été effectuée par "DeepL".

---es--- Google / Translate
Buenos dias

Aquí hay un ejemplo de una traducción realizada en dos traductores.
De manera general para los textos "actuales" los traductores son equivalentes.
La diferencia está más en la precisión de los términos usados originalmente.
Esta traducción fue hecha por "Google Translate".

---es--- DeepL
Hola

He aquí un ejemplo de una traducción hecha en dos traductores.
En general, para los textos "actuales", los traductores son equivalentes.
La diferencia radica más en la precisión de los términos utilizados originalmente.
Esta traducción fue hecha por DeepL.

Le doy la nota:
Google/traducir = 6/10
Deepl = 8/10
Pero es sólo una apreciación personal...
 



 
didier18 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vueltas Con El Operador Ternario IIF 
 
Didier18:

Es bastante parecida la calidad de ambos traductores.
Siempre se puede probar uno u otro.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes A Vueltas Con Los Reportes soplo General 16 Viernes, 11 Febrero 2011, 06:07 Ver último mensaje
soplo
No hay nuevos mensajes A Vueltas Con El Jodío GPG [SOLUCIONADO] shordi General 15 Jueves, 12 Marzo 2015, 20:09 Ver último mensaje
shordi
No hay nuevos mensajes ¿ Fallo Del Operador Ternario IIF ? Shell General 8 Sabado, 06 Junio 2015, 09:03 Ver último mensaje
Shell
No hay nuevos mensajes A Vueltas Con Las Traducciones Shell General 3 Martes, 28 May 2019, 08:55 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron