Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Problema de los cromos. Ejemplo de traducir un proyecto
#1

Buenas!.

Esto es un ejercicio que está basado en otro problema.
Son ejercicios que se remontan a otra época. Pero son efectivos para aprendizaje.

En el ejercicio se quiere conocer. ¿ Cuántos cromos  se han tenido que comprar para conseguir la colección de 100 cromos ?.
( No se dice sin son de fútbol si son de personajes de anime, etc). Solo cromos. (No son sellos,no son pegatinas ). Es lo más parecido
a una tarjeta o carta de algo, de futbolista, de jugadores de béisbol, de cartas de juegos de mesa, etc.

Este ejemplo de programa lo utilicé para la traducción. De ahí mi "rebote" por como traducen a veces los traductores online.

GAMBAS
  1. Const PRECIOCROMOS As Float = 0.2
  2. Private cromosobtenidos As New Integer[100]
  3.  
  4. Public Sub Main()
  5.  
  6.   Dim cromoscomprados As Integer
  7.   Dim cuentacromostengo As Integer
  8.   Dim indicecromo As Integer
  9.  
  10.  
  11.   While cuentacromostengo < cromosobtenidos.Max
  12.     indicecromo = Rand(0, cromosobtenidos.max - 1)
  13.  
  14.     If cromosobtenidos[indicecromo] = 0 Then
  15.       cromosobtenidos[indicecromo] = 1
  16.       cuentacromostengo += 1
  17.     Endif
  18.     cromoscomprados += 1
  19.   Wend
  20.  
  21.   ' Print "Has comprado " & Str(cromoscomprados) & " cromos para obtener 100 cromos sin repetición"
  22.   ' Print "Has comprado " & Str(cromoscomprados - 100) & " cromos demás"
  23.   ' Print "Te has gastado: " & Format(cromoscomprados * PRECIOCROMOS, "$#.##")
  24.  
  25.   Print ("You bought ") & Str(cromoscomprados) & (" football cards to get 100 football cards without repetition.")
  26.   Print ("You bought ") & Str(cromoscomprados - 100) & (" extra football cards.")
  27.   Print ("You have spent: ") & Format(cromoscomprados * PRECIOCROMOS, "$#.##")
  28.  



Tuve que añadir que eran de fútbol por no dejarlo en ¿ que tipo de cromos son ?.

La salida por la consola fue algo extraña.
Cita: 
Tú compraste471Tarjetas de fútbol para obtener 100 tarjetas de fútbol sin repetición.
Tú compraste371Tarjetas de fútbol adicionales.
Has gastado:94,2 €

Fijaros que está todo pegado, he añadido los corchetes pero parece como si eso hubiera eliminado los espacios laterales.
¿ Alguien sabe por qué pasa eso ?. Confused .

Vemos ademas que la traducción "literal" es "Tú compraste", cuando se puede decir perfectamente "Compraste".
Tampoco me gusta que sea tan redundante, compraste tarjetas de futbol para ...tarjetas de futbol, cuando se esta hablando de lo mismo. Que no se libra del de...

Y lógicamente en aquella época ni mucho menos existía el bucle "While".

Para anécdota:

Los cromos de Liga Este año cuestan más del triple que hace 20 años

Saludos

La versión en inglés que es la original no ocurre:
 
Cita: 
You bought 763 football cards to get 100 football cards without repetition.
You bought 663 extra football cards.
You have spent: $152.6

Supongo que en Inglés, la primera frase debe ser algo como:
"You bought 763 football cards to get 100 without repetition."

Que por cierto no ha usado "Have".

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#2

Habría que ver el fichero de traducción que has puesto...


Saludos

No podemos regresar
    ¡Gracias!
#3

(22-01-2023, 18:14)Shordi escribió:  Habría que ver el fichero de traducción que has puesto...

Existen varios archivos en el directorio .lang.
 
Cita: 
es_ES.mo
es_ES.po
Main.pot
#project.pot

Este es una parte de es_Es.po
Cita: 
#: Main.module:29
msgid " extra football cards."
msgstr "Tarjetas de fútbol adicionales."

#: Main.module:28
msgid " football cards to get 100 football cards without repetition."
msgstr "Tarjetas de fútbol para obtener 100 tarjetas de fútbol sin repetición."

#: Main.module:28
msgid "You bought "
msgstr "Tú compraste"

#: Main.module:30
msgid "You have spent: "
msgstr "Has gastado:"

Como ves las cadenas traducidas a español no tienen un espacio vacío. Al concatenar se queda todas las cadenas pegadas.
Ese archivo contiene en una línea tanto el nombre del usuario que ha creado la traducción como la máquina. (Last-Translator)
No sé si eso es problema de seguridad.

La traducción fue automática usando Google.
No estoy acostumbrado tampoco a usar la traducción de las aplicaciones, así que no sé si es un problema habitual y
que debe solucionarse.  Ignorando que esto puede ocurrir.

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#4

Pero ¿Tecleaste los espacios en la traducción?
Si no los pones no salen. De cajón.

Saludos

No podemos regresar
[-] Los siguientes 1 usuarios dice gracias a Shordi por este post:
  • Shell
    ¡Gracias!
#5

(22-01-2023, 22:19)Shordi escribió:  Pero ¿Tecleaste los espacios en la traducción?
Si no los pones no salen. De cajón.

Claro, no tuve más remedio. Como dices, es de cajón. Pero como era la primera vez. Rolleyes

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje
Último mensaje por Shell
29-06-2022, 21:39

Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)