CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 21 Oct 2019 21:51

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 8 mensajes ] 
Autor Mensaje
NotaPublicado: 25 Feb 2012 03:55 
Desconectado
Yiepp
Yiepp

Registrado: 17 May 2011 16:16
Mensajes: 64
Hola.

Estoy traduciendo una extensión y necesito reemplaza la gramática de los comandos para la acción 'locking it with', pero no puedo.

Revisando la extensión Spanish estos son los comandos que ejecutan la acción:

Código:
Understand "pon cerrojo/pestillo/cierre a [something]" as locking it with.
Understand "pon el cerrojo/pestillo/cierre a [something]" as locking it with.
Understand "pon cerrojo/pestillo/cierre a [something] con [something preferably held]" as locking it with.
Understand "pon el cerrojo/pestillo/cierre a [something] con [something preferably held]" as locking it with.
Understand "cierra [something] con pestillo" as locking it with.
Understand "cierra [something] con [something preferably held]" as locking it with.

Según tengo entendido necesito escribir algo como "Understand '...' as something new", pero sólo funciona cuando el comando contiene sólo una palabra. Por ejemplo así se hace en la extensión original:

Código:
Understand the command "lock" as something new.

Que es sencillo porque es la única forma que tiene el comando y contiene sólo una palabra.

Pero cuando intento borrar por ejemplo "pon cerrojo/pestillo/cierre a [something]" de las siguientes formas:

Código:
Understand the command "pon cerrojo/pestillo/cierre a [something]" as something new.
Understand the command "pon cerrojo/pestillo/cierre a" as something new.
Understand the command "pon cerrojo/pestillo/cierre" as something new.
Understand the command "pon cerrojo a [something]" as something new.
Understand the command "pon cerrojo a" as something new.
Understand the command "pon cerrojo" as something new.

Ninguna da un error, pero ninguna elimina el comando. En cambio si pongo esto:

Código:
Understand the command "pon" as something new.

Funciona, pero elimina también poner; así que no me sirve.

¿Cómo elimino la gramática de un comando que contiene más de una palabra?

Luego tengo problemas para definir los sinónimos del verbo 'lock'.

Lo que tengo que pasar al español es esto:

Código:
Understand "lock [something] with [something]" as locking it with.
Understand "lock [an unlocked lockable thing] with [something]" as locking it with.
Understand "lock [a lockable thing] with [something]" as locking it with.

Y lo hago así:

Código:
Understand "bloquea" and "cierra" and "traba" and "pon cerrojo/pestillo/cierre a" as "[bloquea]".

Understand "[bloquea] [something] con [something]" as locking it with.
Understand "[bloquea] [a locked lockable thing] con [something]" as locking it with.
Understand "[bloquea] [a lockable thing] con [something]" as locking it with.
Understand "[bloquea] [something] con pestillo" as locking it with.

Qué funciona bien pero no detecta los infinitivos. Cambiando la primera línea por esta funciona:

Código:
Understand "bloquea/bloquear" and "cierra/cerrar" and "traba/trabar" and "pon/poner cerrojo/pestillo/cierre a" as "[bloquea]".

Pero no sé si es la forma correcta. Es todo un lío. Además de que luego tampoco puede eliminar con "Understand as something new" los comandos como los definí arriba.

Ayuda.


Arriba
 Perfil  
 
NotaPublicado: 25 Feb 2012 13:46 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
Matias Biato escribió:
¿Cómo elimino la gramática de un comando que contiene más de una palabra?
Ayuda.


Mati!
El problema de los sinonimos de acciones.

Liberar una accion de todas su lineas de gramatica es una caracteristica futura (planificada) de I7.

Lo que tu buscas probablemente se refiere a la caracteristica ´Extend .... replace´ en la gestion de gramatica a nivel I6.

Pero yo no he visto su par a nivel I7.
Lo unico que tienes en la capa I7 son los ´Understand the command......as something new.´ Pero esto quita (en la mayoria de los casos) la primera palabra que dispara la gramatica.

Lo veras claro con este ejemplo:
En tu historia compilada, escribe (en el panel Game del IDE) `SHOWVERB pon` (sin comillas)

Código:
>showverb pon
Verb 'coloca' 'echa' 'inserta' 'mete' 'pon'
     * multiexcept 'en' noun=Routine(-26334) -> Insert
     * multiexcept 'en' / 'sobre' noun -> PutOn
     * 'cerrojo' / 'pestillo' / 'cierre' 'a' noun -> Lock
     * multiexcept 'dentro' 'de' noun -> Insert
     * multiexcept 'encima' 'de' noun -> PutOn
     * 'a' creature 'en' noun=Routine(-26328) -> Insert
     * 'el' 'cerrojo' / 'pestillo' / 'cierre' 'a' noun -> Lock
     * 'a' creature 'en' noun -> PutOn
     * 'a' creature 'sobre' noun -> PutOn
     * 'cerrojo' / 'pestillo' / 'cierre' 'a' noun 'con' held -> Lock
     * 'a' creature 'dentro' 'de' noun -> Insert
     * 'a' creature 'encima' 'de' noun -> PutOn
     * 'el' 'cerrojo' / 'pestillo' / 'cierre' 'a' noun 'con' held -> Lock
     * noun 'a' topic -> SetTo



Lo que ves es cómo realmente entiende la gramatica el motor inform, es decir codigo I6 antes de alimentar al compilador (sabrás que el codigo I7 primero se traduce a I6 antes de compilarse). Por curiosidad puedes ver el codigo I6 completo de tu historia en MisDocumentos\Inform\Projects\MiHistoria.inform\Build\auto.inf. Alli van a parar todas las extensiones usadas + la Libreria Inform + el Source de tu historia.

Volvamos a lo nuestro:
La primera linea:

Código:
Verb 'coloca' 'echa' 'inserta' 'mete' 'pon'

Constituye los disparadores de las lineas de gramatica, que en realidad en la filosofia inform está ocupando el lugar del ´verbo que dispara la accion´ (modelo de interfaz <verbo> <parametros extras> de entrada de comandos del jugador),
el resto de las lineas completa la gramatica para cada accion.
Esta primera linea contiene tambien los verbos sinonimos entre sí y luego vendrían las ramificaciones a cada accion en particular.
La accion I7 'locking it with' corresponde a la accion I6 `Lock´.

El codigo I7 ´Understand the command......as something new.´ solo quita el verbo (primera linea),pero, como bien puntualizas, eso lo destierra de todas las acciones posibles codificadas.

Cuando se realizó la extension Spanish eso no importó mucho, pues ningun verbo inglés era usado en ninguna acción hispana (salvo un par de debugging).

Tienes dos caminos:
1- I7: Quita los verbos y reconstruye los efectos colaterales

Código:
Understand the command "pon", "coloca","inserta", "mete","echa" as something new.

Y luego vuelve a insertar las lineas de gramatica de Spanish relacionadas con Insert (Inserting it into ),PutOn (Putting it on ) y SetTo (Setting it to ).
Esto deja el camino limpio para tu nuevo 'locking it with'

Con el comando de debug ShowVerb puedes ver las acciones afectadas al verbo en cuestion, y puedes complemetar esto con una busqueda rapida en la pestaña Index\Actions.

2- I6: Introduce codigo I6 que extirpe específicamente las lineas de gramatica que deseas.
Tienes buenos ejemplos aqui y aqui.

Transplantar una linea compleja de gramatica sería una buena característica futura. Podrias plantearla en el foro uservoice de I7.

Espero haberte ayudado y no liado. ya me contarás.


Arriba
 Perfil  
 
NotaPublicado: 25 Feb 2012 14:33 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
Matias Biato escribió:
Luego tengo problemas para definir los sinónimos del verbo 'lock'.

Lo que tengo que pasar al español es esto:

Código:
Understand "lock [something] with [something]" as locking it with.
Understand "lock [an unlocked lockable thing] with [something]" as locking it with.
Understand "lock [a lockable thing] with [something]" as locking it with.

Y lo hago así:

Código:
Understand "bloquea" and "cierra" and "traba" and "pon cerrojo/pestillo/cierre a" as "[bloquea]".

Understand "[bloquea] [something] con [something]" as locking it with.
Understand "[bloquea] [a locked lockable thing] con [something]" as locking it with.
Understand "[bloquea] [a lockable thing] con [something]" as locking it with.
Understand "[bloquea] [something] con pestillo" as locking it with.

Qué funciona bien pero no detecta los infinitivos. Cambiando la primera línea por esta funciona:

Código:
Understand "bloquea/bloquear" and "cierra/cerrar" and "traba/trabar" and "pon/poner cerrojo/pestillo/cierre a" as "[bloquea]".

Pero no sé si es la forma correcta. Es todo un lío. Además de que luego tampoco puede eliminar con "Understand as something new" los comandos como los definí arriba.

Ayuda.


El otro asunto (que acabo de verlo al leer TODO tu post - maldita multitarea pro-dislexica):
No me parece mal como lo has resuelto. (con lo que todo el otro post que escribi recien me parece que es innecesario, sabiendo ahora especificamente que buscabas).

Recuerda que "pon cerrojo/pestillo/cierre a" ya está mapeada en Spanish hacia 'locking it with', no te sirve asi?

Nunca he trabajado resolviendo el problema de los infinitivos de verbos irregulares como lo has resuelto tu aqui. Pero si funciona, creo que está bien.

Normalmente en el caso de los irregulares (siempre en el contexto Spanish), se declara en la linea de gramatica el verbo en imperativo y luego se agrega una linea I6 que la complementa.

Asi:

Código:
Understand "abre [something]" as opening.

Include (-
VerboIrregular "abrir" with imperativo 'abre';
-).


Esto es: si no dispara gramatica por `abre` lo hará por ´abrir´
Debes asegurarte de poner la propiedad imperativo exactamente igual que el verbo que usas en la gramatica I7, porque así Spanish mapea correctamente.
Y tiene el plus de poder preguntar correctamente en caso de ser necesario:
Código:
>¿Qué quieres abrir?

(más detalles en otro hilo anterior que ahora no lo encuentro)

Me parece que a estas alturas deberiamos implemenar una capa I7 para el objeto VerboIrregular.


Arriba
 Perfil  
 
NotaPublicado: 25 Feb 2012 16:52 
Desconectado
Yiepp
Yiepp

Registrado: 17 May 2011 16:16
Mensajes: 64
tesheñes escribió:
No me parece mal como lo has resuelto. (con lo que todo el otro post que escribi recien me parece que es innecesario, sabiendo ahora especificamente que buscabas).

Es que igual quería saber cómo se hacía, independientemente del ejemplo concreto que di.

tesheñes escribió:
Recuerda que "pon cerrojo/pestillo/cierre a" ya está mapeada en Spanish hacia 'locking it with', no te sirve asi?

Sí, lo sé. Es que tenía ganas de romper las bolas. No sé, para que el foro de Inform 7 parezca un poco más activo, digamos, para hacerle la competencia al OTRO FORO de la OTRA HERRAMIENTA que NO QUIERO NOMBRAR. :P

Es broma...

En realidad el código que había escrito originalmente funcionaba, este es:

Código:
Understand the command "pon el/-- cerrojo/pestillo/cierre a" as something new.
Understand "pon el/-- cerrojo/pestillo/cierre a" or "cierra" or "traba" as "[traba]".
Understand "traba [something] con [something]" as locking it with.
Understand "traba [an unlocked lockable thing] con [something]" as locking it with.
Understand "traba [a lockable thing] con [something]" as locking it with.

Y probando los ejemplos funciona bien. Pero si lo mirás detenidamente te darás cuenta que parte del código no hace nada. La primera línea no funciona, y la segunda tampoco porque me olvidé de poner los corchetes en los tres últimos Understand. Pero funcionaba porque no eliminaba la gramática original y como al olvidarme de poner los corchetes, "traba" lo tomaba como un verbo regular, por lo que también lo detectaba bien. Así que aunque había cometido un millón de errores, cada uno contrarrestaba al otro y la cosa terminaba funcionaba igual, mágicamente.

Así que aunque funcionaba bien intenté arreglarlo igual. No funcionó. Cuando escribí las cosas mal, funcionaba bien; pero cuando las escribí bien no funciona. Así es Inform 7, creo que me voy a pasar a AGE (nah, es broma, por ahora...).

De todas maneras quería saber cómo se hacía para eliminar la gramática de un comando y cuál era la forma correcta de definir los verbos. Lo segundo me quedó claro, aunque ir mezclando código I6 con I7 me parece horrible. Para lo primero tengo que leer un poco más para saber que hacer. Es todo un lío, con AGE esto seguro que no pasa. :P

Por si alguien tiene curiosidad, en la extensión original todo esto se hizo con cuatro sentencias:

Código:
Understand the command "unlock" as something new. Understand "unlock [something] with [something]" as unlocking it with. Understand "unlock [a locked lockable thing] with [something]" as unlocking it with. Understand "unlock [a lockable thing] with [something]" as unlocking it with.


EDITO: Me olvidaba, gracias por toda la ayuda, Tesheñes. :)


Arriba
 Perfil  
 
NotaPublicado: 25 Feb 2012 18:25 
Desconectado
Yiepp
Yiepp

Registrado: 17 May 2011 16:16
Mensajes: 64
Bueno, ya está. Todo sería más fácil sin prestara atención desde un principio. En fin...

Acá dejo cómo lo hice, por si alguien quiere verlo, el original en inglés está comentado:

Código:
[Understand the command "unlock" as something new.
Understand "unlock [something] with [something]" as unlocking it with.
Understand "unlock [a locked lockable thing] with [something]" as unlocking it with.
Understand "unlock [a lockable thing] with [something]" as unlocking it with.]

Understand the command "quita" and "quitale" as something new.
Understand "quita [things inside] de [something]" as removing it from.
Understand "quita a [someone] de [something]" as removing it from.
Understand "quita [things inside] a [something]" as removing it from.
Understand the command "quitale" as "quita".

Understand "desbloquea [something] con [something]" as locking it with.
Understand "desbloquea [a locked lockable thing] con [something]" as locking it with.
Understand "desbloquea [a lockable thing] con [something]" as locking it with.
Understand "desbloquea [something] con pestillo" as locking it with.

Understand the command "destraba" as "desbloquea".

Understand "quita el/-- cerrojo/pestillo/cierre a [something] con [something]" as locking it with.
Understand "quita el/-- cerrojo/pestillo/cierre a [a locked lockable thing] con [something]" as locking it with.
Understand "quita el/-- cerrojo/pestillo/cierre a [a lockable thing] con [something]" as locking it with.

[Understand the commands "open" and "uncover" and "unwrap" as something new.
Understand "open [something]" or "uncover [something]" or "unwrap [something]" as opening.
Understand "open [something] with [something]" as unlocking it with.
Understand "open [a locked lockable thing] with [something]" as unlocking it with.
Understand "open [a lockable thing] with [something]" as unlocking it with.]

Understand the commands "abre" and "destapa" as something new.
Understand "abre [something]" or "destapa [something]" as opening.
Understand "abre a [someone]" as opening.
Understand "abre [something] con [something preferably held]" as unlocking it with.
Understand "abre [a locked lockable thing] con [something]" as unlocking it with.
Understand "abre [a lockable thing] con [something]" as unlocking it with.

Código:
[Understand "unlock [something]" as unlocking keylessly.
Understand "unlock [a locked lockable thing]" as unlocking keylessly.
Understand "unlock [a lockable thing]" as unlocking keylessly.]

Understand "desbloquea [something]" as unlocking keylessly.
Understand "desbloquea [a locked lockable thing]" as unlocking keylessly.
Understand "desbloquea [a lockable thing]" as unlocking keylessly.

Understand "quita el/-- cerrojo/pestillo/cierre a [something]" as unlocking keylessly.
Understand "quita el/-- cerrojo/pestillo/cierre a [a locked lockable thing]" as unlocking keylessly.
Understand "quita el/-- cerrojo/pestillo/cierre a [a lockable thing]" as unlocking keylessly.

Código:
[Understand the command "lock" as something new.
Understand "lock [something] with [something]" as locking it with.
Understand "lock [an unlocked lockable thing] with [something]" as locking it with.
Understand "lock [a lockable thing] with [something]" as locking it with.]

Understand the command "cierra" as something new.
Understand "cierra [something]" as closing.

Understand "bloquea [something] con [something]" as locking it with.
Understand "bloquea [a locked lockable thing] con [something]" as locking it with.
Understand "bloquea [a lockable thing] con [something]" as locking it with.
Understand "bloquea [something] con pestillo" as locking it with.

Understand the command "traba" as "bloquea".

Understand "cierra [something] con [something]" as locking it with.
Understand "cierra [a locked lockable thing] con [something]" as locking it with.
Understand "cierra [a lockable thing] con [something]" as locking it with.
Understand "cierra [something] con pestillo" as locking it with.

Understand "pon el/-- cerrojo/pestillo/cierre a [a locked lockable thing] con [something]" as locking it with.
Understand "pon el/-- cerrojo/pestillo/cierre a [a lockable thing] con [something]" as locking it with.

Código:
[Understand "lock [something]" as locking keylessly. 
Understand "lock [an unlocked lockable thing]" as locking keylessly.
Understand "lock [a lockable thing]" as locking keylessly.]

Understand "bloquea [something]" as locking keylessly.
Understand "bloquea [an unlocked lockable thing]" as locking keylessly.
Understand "bloquea [a lockable thing]" as locking keylessly.

Understand "pon el/-- cerrojo/pestillo/cierre a [something]" as locking keylessly.
Understand "pon el/-- cerrojo/pestillo/cierre a [an unlocked lockable thing]" as locking keylessly.
Understand "pon el/-- cerrojo/pestillo/cierre a [a lockable thing]" as locking keylessly.


En la extensión Spanish noto que en vez de poner "pon el/-- cerrojo/pestillo/cierre a..." lo dividen en dos, poniendo "pon cerrojo/pestillo/cierre a" y ""pon el cerrojo/pestillo/cierre a".

¿Por qué es así?


Arriba
 Perfil  
 
NotaPublicado: 25 Feb 2012 18:47 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
no pasa nada, ten en cuenta que te dará más trabajo cuando te metas con los sinonimos establecidos en la extensión Spanish, y necesites ´sobrecargar` una gramática.
Por ejemplo, "Unlock" no creo que se use (de fabrica) para otra cosa en el contexto English, como sería un ´Pon` esto o aquello, usados aqui para no menos que 4 acciones distintas.

Borras `Unlock´ del mapa de gramaticas y desactivas solo la accion que buscas. Borras ´Pon´ y dejas huerfanas varias acciones.

Es probable que la siguiente build de I7 simplifique un pelin el asunto ,pero hay que hacerse oir en el foro uservoice.


Arriba
 Perfil  
 
NotaPublicado: 25 Feb 2012 18:53 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
Matias Biato escribió:
En la extensión Spanish noto que en vez de poner "pon el/-- cerrojo/pestillo/cierre a..." lo dividen en dos, poniendo "pon cerrojo/pestillo/cierre a" y ""pon el cerrojo/pestillo/cierre a".

¿Por qué es así?


Casi seguro porque al momento de realizarlo, I7 no permitía la partricula /-- como indicador opcional. Luego I7 lo permitió, pero no actualizamos esa sección de Spanish.

¿Podrías dejar constancia en la pestaña Issues del repositorio de infps7?


Arriba
 Perfil  
 
NotaPublicado: 25 Feb 2012 23:27 
Desconectado
Yiepp
Yiepp

Registrado: 17 May 2011 16:16
Mensajes: 64
tesheñes escribió:
Matias Biato escribió:
En la extensión Spanish noto que en vez de poner "pon el/-- cerrojo/pestillo/cierre a..." lo dividen en dos, poniendo "pon cerrojo/pestillo/cierre a" y ""pon el cerrojo/pestillo/cierre a".

¿Por qué es así?


Casi seguro porque al momento de realizarlo, I7 no permitía la partricula /-- como indicador opcional. Luego I7 lo permitió, pero no actualizamos esa sección de Spanish.

¿Podrías dejar constancia en la pestaña Issues del repositorio de infps7?


Si querés lo puedo hacer directamente, no parece muy difícil.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 8 mensajes ] 

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM