Shell   22-01-2023, 16:57
#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.

Código:
Const PRECIOCROMOS As Float = 0.2
Private cromosobtenidos As New Integer[100]

Public Sub Main()

  Dim cromoscomprados As Integer
  Dim cuentacromostengo As Integer
  Dim indicecromo As Integer

  Randomize

  While cuentacromostengo < cromosobtenidos.Max
    indicecromo = Rand(0, cromosobtenidos.max - 1)

    If cromosobtenidos[indicecromo] = 0 Then
      cromosobtenidos[indicecromo] = 1
      cuentacromostengo += 1
    Endif
    cromoscomprados += 1
  Wend

  ' Print "Has comprado " & Str(cromoscomprados) & " cromos para obtener 100 cromos sin repetición"
  ' Print "Has comprado " & Str(cromoscomprados - 100) & " cromos demás"
  ' Print "Te has gastado: " & Format(cromoscomprados * PRECIOCROMOS, "$#.##")

  Print ("You bought ") & Str(cromoscomprados) & (" football cards to get 100 football cards without repetition.")
  Print ("You bought ") & Str(cromoscomprados - 100) & (" extra football cards.")
  Print ("You have spent: ") & Format(cromoscomprados * PRECIOCROMOS, "$#.##")

End

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".
Última modificación: 22-01-2023, 22:06 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   22-01-2023, 18:14
#2
Habría que ver el fichero de traducción que has puesto...


Saludos

No podemos regresar
Shell   22-01-2023, 22:03
#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 conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   22-01-2023, 22:19
#4
Pero ¿Tecleaste los espacios en la traducción?
Si no los pones no salen. De cajón.

Saludos
Última modificación: 22-01-2023, 22:20 por Shordi.

No podemos regresar
Shell   23-01-2023, 00:44
#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 conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 3 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.