Author Topic: Translator script  (Read 251 times)

MarcosNunes

  • *
  • Roomba
  • Posts: 9
  • Never tell a bot what you know
    • Marcos Nunes
Translator script
« on: November 30, 2016, 03:48:35 PM »
I would like to share this code I made.
Is usefull to translate words and frases from english to portuguese
To another languages edit the variable "&lang=pt-en"
Check out the supported languages at Yandex.
You may also creat your account and obtain your own api key

<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml version="1.0">

<!-- -->

<!-- Free software (c) Marcos Nunes                  -->

<!-- This program is open source code released under -->

<!-- the terms of the GNU General Public License     -->

<!-- as published by the Free Software Foundation.   -->

<!-- Complies with AIML 1.0 Tag Set Specification    -->

<!-- as adopted by the Bot Libre.                    -->

<!-- Last modified 11/29/2016                        -->

<!-- -->

<category>
    <pattern>PERGUNTE A * SOBRE *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE AO * SOBRE *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE A * COMO *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE AO * COMO *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE A * QUANDO *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE AO * QUANDO *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE A * se *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE AO * se *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE A * PORQUE *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE AO * PORQUE *</pattern>
    <template><star/> disse: "<sraix><botname><star/></botname><star index="2"/></sraix>"</template>
</category>

<category>
    <pattern>O QUE QUER DIZER *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=en-pt&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>O QUE É *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=en-pt&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>TRADUZ *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=en-pt&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO EU TRADUZO *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=en-pt&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO SE DIZ * EM INGLÊS</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO SE FALA * EM INGÊS</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO SE DIZ *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO SE FALA *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO SE ESCREVE *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO SE ESCREVE * EM INGLÊS</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO  QUE SE ESCREVE *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO  QUE SE ESCREVE * EM INGLÊS</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>COMO SE PRONUNCIA *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

<category>
    <pattern>QUAL É A PRONÚNCIA DE *</pattern>
    <template> <sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text=<star/></sraix>.</template>
</category>

</aiml>

paphus

  • ***
  • Nomad
  • Posts: 52
    • BOTlibre!
Re: Translator script
« Reply #1 on: November 30, 2016, 05:01:17 PM »
For your sraix templates you need to set the apikey to your user's application id (from your user page).

i.e.
<sraix apikey="1234">

The Yandex translate templates seemed to work for me on Bot Libre.

MarcosNunes

  • *
  • Roomba
  • Posts: 9
  • Never tell a bot what you know
    • Marcos Nunes
Re: Translator script
« Reply #2 on: December 01, 2016, 10:38:41 AM »
Ok thank you!

MarcosNunes

  • *
  • Roomba
  • Posts: 9
  • Never tell a bot what you know
    • Marcos Nunes
Re: Translator script
« Reply #3 on: December 01, 2016, 10:42:29 AM »
Here is the correction.


<category>
    <pattern>PERGUNTE A * SOBRE *</pattern>
    <template><star/> disse: "<sraix apikey="1234"><star index="2"/></sraix>"</template>
</category>


Is that now ok?

MarcosNunes

  • *
  • Roomba
  • Posts: 9
  • Never tell a bot what you know
    • Marcos Nunes
Re: Translator script
« Reply #4 on: December 04, 2016, 08:38:32 PM »
I am implementing this aiml code but something is still wrong.



//This code makes the bot ask one last entry on the conversation to another bot

<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml version="1.0">



<category>
    <pattern>PERGUNTA PRA ELE</pattern>
    <template>O Marcos disse: "<sraix apikey="14336129"><sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text={srai (conversation.getLast(#input, 2).input)}</sraix></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE A ELE</pattern>
    <template>O Marcos disse: "<sraix apikey="14336129"><sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text={srai (conversation.getLast(#input, 2).input)}</sraix></sraix>"</template>
</category>

<category>
    <pattern>PERGUNTE PRA ELE</pattern>
    <template>O Marcos disse: "<sraix apikey="14336129"><sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text={srai (conversation.getLast(#input, 2).input)}</sraix></sraix>"</template>
</category>

</aiml>

Parsing error occurred - org.xml.sax.SAXParseException; lineNumber: 23; columnNumber: 3; The markup in the document following the root element must be well-formed.




p.s The conversation is running in Portuguese but the second bot answers in English one previous sent portuguese input

If you can help me... Please!

MarcosNunes

  • *
  • Roomba
  • Posts: 9
  • Never tell a bot what you know
    • Marcos Nunes
Re: Translator script
« Reply #5 on: December 04, 2016, 10:33:53 PM »
Maybe this can be the starter code...



// Asks to Marcos Nunes the last input on the conversation
state Topic {
   pattern "pergunta a ele" template Template("O Marcos disse: "<sraix apikey="14336129"><sraix service="xml" hint="text">https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.20161129T203417Z.cddcfcddb468b5b3.a83995300ccfc2b75292556bca8c9f4617c95d0f&lang=pt-en&format=plain&text={srai (\"{conversation.getLast(#input, 5).input}\")}</sraix></sraix>");

   function moreResponse() {
      topic = conversation.topic;
      if (topic == null) {
         return null;
      }
      more = topic.paragraph;
      if (more == null) {
         Template("That is all I know about {topic}.");
      } else {
         more;
      }
   }
}

Freddy

  • *
  • Colossus
  • **********************
  • Posts: 5786
  • Mostly Harmless
Re: Translator script
« Reply #6 on: December 05, 2016, 12:17:46 AM »
I found your XML did not validate with those "&".

Have you tried changing the & to &amp; ?

And I'm not sure about the nested sraix - but I haven't used the new AIML interpreters.

Maybe try combining them like this instead :

Code: [Select]
<sraix apikey="14336129" service="xml" hint="text">

//code here...

</sraix>

 

Welcome

Please login or register.



Login with username, password and session length
(music) Nanocyte
by LOCKSUIT (Video)
January 16, 2017, 09:18:29 PM
EMYS
by Art (General Robotics Talk)
January 16, 2017, 05:08:52 PM
(dream+music) Black Crypt
by Art (Video)
January 16, 2017, 02:09:04 PM
Toothpick in the bellybutton...
by Art (General AI Discussion)
January 16, 2017, 02:01:50 PM
Jess Rendered In Daz Studio
by LOCKSUIT (Graphics)
January 15, 2017, 09:45:52 PM
Robot Head in a Bottle
by 8pla.net (Home Made Robots)
January 15, 2017, 05:23:49 PM
3D Avatar Project
by Freddy (General Project Discussion)
January 15, 2017, 05:00:37 PM
ElfScript
by Art (General Project Discussion)
January 14, 2017, 08:44:24 PM

Users Online

20 Guests, 0 Users

Most Online Today: 38. Most Online Ever: 208 (August 27, 2008, 08:24:30 AM)

Articles