Kirjautuminen

Haku

Tehtävät

Kilpailu

Ohjelmoi tekoäly!
Arvostele pelit
15.8. klo 12 mennessä!

Keskustelu: Nettisivujen teko: Google translaten käyttö koodissa

Sivu 1 / 1

Sivun loppuun

kuukkelinkutittelija [25.07.2020 16:09:13]

Lainaa #

Moi. Tarvitsisin lähinnä omaan satunnaiskäyttöön jotain millä saisi google translaten käännöksiä puhtaassa tekstimuodossa. Tyylii post/get kentillä sisään kielet ja teksti, ja ulos käännös plain textinä. Onko googlella mitään tällaista ilmaiseksi? Tai miten saisi aikaan?

peran [25.07.2020 16:29:29]

Lainaa #

Jos linux-pääte on käytettävissä, niin asennappas translate-shell, niin pääset eteenpäin. ;)

kuukkelinkutittelija [25.07.2020 17:31:23]

Lainaa #

peran kirjoitti:

Jos linux-pääte on käytettävissä, niin asennappas translate-shell, niin pääset eteenpäin. ;)

Saako tuota mitenkään pyörimään windowsilla?

peran [25.07.2020 19:45:51]

Lainaa #

En tiedä varmaksi, mutta muisteleisin Redmontin tyyppien kehuneen, että Windowsiin sisälle saa asennettua Ubuntu:n. Mikäli myös pakettien hallinta asentuu, niin pitäisi käynnistyä ihan...

sudo apt install translate-shell

Olettaen, että Ubuntu on asennettu, ja siinä toimii peruskäskyt.

Sekin saattaa olla hivenen overkill, kun luulisi pystyvän kääntämään Windowsin sisälle ilman sitäkin.

Riippuvuutena näkyy olevan gawk (riippubuus libc6 ja libmpfr6, libreadline8,libsigsegv2 jne.) ja libfribidi-bin, ja siinä riippuvuutetena libc6.

Ehkä asentaisin (ilmeisesti super-shelliä käyttäen) Ubuntun.

peran [25.07.2020 19:54:23]

Lainaa #

awk:n saaneen Windowsille suoraan...
http://gnuwin32.sourceforge.net/packages/gawk.htm

toi libfribidi-bin saattaa olla haasteellisempi.

tranlate-shellin sivuilla on vähän vinkkejä Windows-asennukseen.
https://github.com/soimort/translate-shell

peran [25.07.2020 19:56:20]

Lainaa #

googlaa...
WSL, jolla pitäisi onnistua käyttää linukan ohjelmia.

kuukkelinkutittelija [25.07.2020 21:21:40]

Lainaa #

Ok kiitos tsekkaan. Tarkistan vielä ensin saako googlen sivujen lähettämien reaaliaikaisten js-sivunlatausten kohteista revittyä jotain...

kuukkelinkutittelija [26.07.2020 01:00:28]

Lainaa #

translate-shell herjaa null responsea, mutta tämä näyttää lupaavalta:

https://github.com/Stichoza/google-translate-php

peran [26.07.2020 10:33:16]

Lainaa #

kuukkelinkutittelija kirjoitti:

translate-shell herjaa null responsea, mutta tämä näyttää lupaavalta:

Kokeilithan asentaa kyseisen ohjelman apt:lla kuten neuvoin ?

Tosin jos google-translate-php -toimii, niin ongelmasi taitaa olla ratkaistu.

AtskaFin [26.07.2020 11:32:22]

Lainaa #

Nodelle löysin pikaisella googlauksella @vitalets/google-translate-api -kirjaston, jolla on helppoa tehdä käännöksiä (mitä nyt ainakin testasin).

Eli asennat koneellesi noden, jonka jälkeen luo uusi kansio ja mene sinne sisälle komentokehotteella.

Suorita seuraava komento kansiossa:

npm init -y && npm install @vitalets/google-translate-api --save

Tämän jälkeen luo kansioon tiedosto index.js, jolle seuraava sisältö (tein pikaisesti Translator -luokan helpottamaan kääntämistä):

const googleTranslateApi = require('@vitalets/google-translate-api');

class Translator {
  // Oletuksena kääntää suomea englanniksi
  constructor(from = 'fi', to = 'en') {
    this.settings = {
      from, to
    }
  }

  translate = async text => {
    try {
      const result = await googleTranslateApi(text, this.settings);
      return result.text;
    } catch (error) {
      if (error.name === 'TypeError') {
        return `TypeError: ${error.message}`;
      } else {
        return `${error.statusMessage} ${error.statusCode}:\n${error.body}`;
      }
    }
  }

  set = (field, value) => this.settings[field] = value;
}

(async () => {
  const translator = new Translator();

  translator.set('from', 'en');
  translator.set('to', 'fi');

  const text = 'This is working!';
  const translatedText = await translator.translate(text);

  console.log(`${text}\n${'-'.repeat(text.length)}\n${translatedText}`);

  /*
    * Output:
    * This is working!
    * ----------------
    * Tämä toimii!
  */
})();

Voit ajaa ohjelman ollessasi kansiossa koodilla:

node index.js

kuukkelinkutittelija [27.07.2020 20:26:19]

Lainaa #

Kiitos vastauksista. Käytin kuitenkin tuota PHP-laajennusta. Lähetin koodivinkin tuotoksestani: https://www.ohjelmointiputka.net/keskustelu/31773-php-interlineaarigeneraattori/sivu-1#v240035


Sivun alkuun

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta