Visualizzazione risultati 1 fino 26 di 26

Discussione: creare un traduttore

  1. #1
    Guest

    Predefinito creare un traduttore

    qualcuno sa come creare un traduttore es: italiano>francese tedesco>coreano
    non so mi va bene anche solo in inglese ho provato a vedere su babel fish ma in poche parole e solo un collegamento al loro sito

  2. #2
    Guest

    Predefinito

    testo -> funzione di replace & database -> testo tradotto

    =)

  3. #3
    Guest

    Predefinito

    cioè scusa sono nuova ma non ho capito come devorei fare....

  4. #4
    Guest

    Predefinito

    Non si capisce se si vuole creare da zero un programma (in php) di traduzioni o integrare un qualche strumento già esistente...


    ciao!

  5. #5
    Guest

    Predefinito

    non saprei basta che e uqlcosa da intregrare nel mio sito comunque consigliamtemi secondo voi qual'è meglio da zero oppure qualcosa già fatto?

  6. #6
    Guest

    Predefinito

    ma integrare o riniziare cosa??

    Vuoi creare un traduttore? Ti consiglio di mollar ein partenza, nemmeno quello di Google e/o Yahoo traducono bene che hanno dipendenti.

    Se non sai nemmeno tu quello che cerchi/vuoi, come possiamo aiutarti?

  7. #7
    Guest

    Predefinito

    non so non esite qualcosa già fatto? (comunque il miglior traduttore che ho provato fin ora e babelfish)

  8. #8
    Guest

    Predefinito

    yool, sei capace di costruire una frase con un minimo di significato??
    Cosa ti serve?


    Ciao!

  9. #9
    Guest

    Predefinito

    ok ho trovato questo ma non ho capito le pagine che devo creare

    http://forum.it.altervista.org/php-m...ttore-php.html

  10. #10
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da zomer Visualizza messaggio
    qualcuno sa come creare un traduttore es: italiano>francese tedesco>coreano
    non so mi va bene anche solo in inglese ho provato a vedere su babel fish ma in poche parole e solo un collegamento al loro sito
    Salve, ho avuto lo stesso problema di Zomer, ossia di creare un traduttore, ma nel mio caso necessito di creare un traduttore personalizzato, tipo questo:

    Citazione Originalmente inviato da yool Visualizza messaggio
    ok ho trovato questo ma non ho capito le pagine che devo creare

    http://forum.it.altervista.org/php-m...ttore-php.html
    però che funzioni tipo questo traduttore morse: http://webg.net/meris/morse.php

    In poche parole devo creare un traduttore, che a ogni lettera corrisponda ad esempio un numero o un codice ecc... Quindi NON creare un dizionario, ma solo un alfabeto...

    Spero di essere stato abbastanza chiaro e grazie anticipatamente per ogni risposta :)

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,806

    Predefinito

    Con la str_replace() puoi sostituire lettere o parole.
    Codice PHP:
    $stringa = 'ciao';
    str_replace('c','#',$stringa);
    str_replace('i','k',$stringa);
    str_replace('a','j',$stringa);
    echo
    $stringa;
    Questo sopra stamperà: #kjo

    Non so se è quello che cercavi...


    EDIT:
    ho visto il link.
    Puoi fare così:
    Codice PHP:
    str_replace('A','.-',strtoupper($stringa));
    str_replace('B','-...',strtoupper($stringa));
    str_replace('C','-.-.',strtoupper($stringa));
    //ecc ecc...
    La strtoupper() trasforma tutta la stringa in maiuscolo, in modo che non devi sistituire pure le lettere minuscole

    Ciao!
    Ultima modifica di alemoppo : 14-02-2010 alle ore 15.49.49

  12. #12
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Con la str_replace() puoi sostituire lettere o parole.
    Codice PHP:
    $stringa = 'ciao';
    str_replace('c','#',$stringa);
    str_replace('i','k',$stringa);
    str_replace('a','j',$stringa);
    echo
    $stringa;
    Questo sopra stamperà: #kjo

    Non so se è quello che cercavi...


    EDIT:
    ho visto il link.
    Puoi fare così:
    Codice PHP:
    str_replace('A','.-',strtoupper($stringa));
    str_replace('B','-...',strtoupper($stringa));
    str_replace('C','-.-.',strtoupper($stringa));
    //ecc ecc...
    La strtoupper() trasforma tutta la stringa in maiuscolo, in modo che non devi sistituire pure le lettere minuscole

    Ciao!
    GRAZIE, provo subito e saprò dire!!!

    Edit.

    Come non detto, non ci sono saltato FUORI...o meglio dovevo avvisare che con il PHP sono alle prime ARMI e non riesco ancora BENE a integrarlo con l'HTML...

    ...non è che mi potresti fare un esempio come riportato qui:
    http://forum.it.altervista.org/php-m...ttore-php.html

    naturalmente con calma, dopo prometto che NON rompo più ...
    Ultima modifica di musicanapoli : 14-02-2010 alle ore 17.37.27 Motivo: post consecutivi

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,806

    Predefinito

    Dunque:

    File di origine:
    Codice HTML:
    <html>
    <head>
    <title>Cerca</title>
    </head>
    <body>
    <form action="cerca.php" method="post">
    <textarea name="parola"></textarea>
    <input type="submit" name="Cerca">
    </form>
    </body>
    </html>


    file chiamato cerca.php:
    Codice PHP:
    <html>
    <head>
    <title>Cerca</title>
    </head>
    <body>
    <?php
    $stringa
    = $_POST['parola'];
    str_replace('A','.-',strtoupper($stringa));
    str_replace('B','-...',strtoupper($stringa));
    str_replace('C','-.-.',strtoupper($stringa));
    echo
    '<textarea>'.$stringa.'<textarea>';
    ?>
    </body>
    </html>
    Ciao!

  14. #14
    Guest

    Predefinito

    Fai prima a fare un array con tutte le lettere e un altro con il codice morse, poi passi questi due array a str_replace, altrimenti avrai più di 20 stringhe inutilmente.
    Esempio:
    Codice PHP:
    $find = range('A', 'Z');
    $replace = ('.-', '-...', '-.-.', '');
    E così via per ogni lettera
    Codice PHP:
    $find = range('A', 'Z');
    $replace = ('.-', '-...', '-.-.', '');
    $stringa = str_replace($find, $replace, strtoupper($stringa));

  15. #15
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    Ancora grazie per le risposte, proverò anche il metodo di biccheddu, appena riuscirò a saltarci fuori...

    dopo aver copiato e hostato PARO PARO quello che mi ha consigliato alemoppo, il risultato non è stato quello che speravo, ossia questo:

    http://digilander.libero.it/PoIsOnBlAcK/cerca/cerca.php

    poi credendo che T'HO fosse un problema di libero ho provato a hostarlo MOMENTANEAMENTE sul sito di un mio cliente, ma il risultato non cambia!

    http://www.somethingmore.name/cerca/cerca.html

    le lettere caricate per ora sono solo A,B,C, come da esempio di alemoppo...

    ...sapevo che avevo detto che non avrei più rotto, però la sfortuna a quanto pare mi perseguita. :(

  16. #16
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,806

    Predefinito

    Ma che domini usi???
    Non usi altervista???

    In altri domini forse non è supportato il PHP!

    Poi sostituisci
    Codice PHP:
    echo '<textarea>'.$stringa.'<textarea>';
    con
    Codice PHP:
    echo '<textarea>'.$stringa.'</textarea>';
    Ultima modifica di alemoppo : 14-02-2010 alle ore 17.39.35

  17. #17
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ma che domini usi???
    Non usi altervista???

    In altri domini forse non è supportato il PHP!

    Poi sostituisci
    Codice PHP:
    echo '<textarea>'.$stringa.'<textarea>';
    con
    Codice PHP:
    echo '<textarea>'.$stringa.'</textarea>';
    hai presente uno SCEMO?!?...sono IO...ho altervista e non lo uso...non ci sono abituato e non ho fatto la cosa più banale e scontata...chiedo scusa, alla domenica la mia connessione neuronale è al 40%...ancora grazie, ora farò DAVVERO TUTTE le PROVE possibili...

  18. #18
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    ho visto il link.
    Puoi fare così:
    Codice PHP:
    str_replace('A','.-',strtoupper($stringa));
    str_replace('B','-...',strtoupper($stringa));
    str_replace('C','-.-.',strtoupper($stringa));
    //ecc ecc...
    La strtoupper() trasforma tutta la stringa in maiuscolo, in modo che non devi sistituire pure le lettere minuscole

    Ciao!
    Ma così perdi tutte le modifiche fatta alla stringa. Se non salvi il valore in una stringa è inutile.

    Secondo me sarebbe meglio usare un array associativo più strtr

    Ad esempio:
    Codice PHP:
    $stringa = "a b c d e f g h";

    $replace = array(
    "a" => ".-",
    "b", "-..."
    );

    $stringa = strtr($stringa, $replace);
    Oppure stri_replace per un replace case insensitive

  19. #19
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    Grazie a tutti ragazzi, con il vostro aiuto c'è l'ho FINALMENTE fatta!!!
    Buon proseguimento di domenica a TODOS...

  20. #20
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    Ragazzi sono ancora qui a disturbare e mi dispiace farlo sempre di DOMENICA, ma solo di domenica riesco a fare i MIEI pocci...

    ho ancora un paio di domande riguardante questo benedetto traduttore!

    Il traduttore funziona, ora vorrei un attimo OTTIMIZZARLO, ossia ora vorrei attribuire un valore allo spazio tra le lettere:

    es: - = spazio, che alla fine NON c'è tra le lettere

    C-I-A-O

    Ora per avere il risultato, che potete vedere qui sotto, devo sempre scrivere così:

    parola originale ---> C-I-A-O --parola tradotta---> = C1I1A1O

    valore PHP:
    Codice PHP:
    $replace = array(
    " " => "1",
    );
    Mentre vorrei non dovere sempre fare lo spazio tra le lettere, ma che in automatico si riconoscesse un valore a tale spazio, perchè di conseguenza vorrei attribuire un valore anche allo spazio tra le parole:

    es: - = spazio, che alla fine NON c'è tra le lettere, -- spazio tra parole

    C-I-A-O--C-O-M-E--S-T-A-I

    frase originale ---> C-I-A-O--C-O-M-E--S-T-A-I --parola tradotta---> = C1I1A1O2C1O1M1E2S1T1A1I

    valore PHP:
    Codice PHP:
    $replace = array(
    " " => "2",
    );
    Avete capito cose intendo fare?!?...è fattibile?!?...se è una cosa troppo complicata, lasciare stare, lo lascio così come è che va già bene!!!
    Grazie comunque per eventuali risposte...

  21. #21
    Guest

    Predefinito

    Codice PHP:
    $parola = str_replace(array(' ', ' '), array('2', '1'), $parola);
    Prova così! Altrimemnti bisogna suare le espressioni reoglari...

  22. #22
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    funziona, o meglio funziona come prima, ossia devo sempre fare lo spazio MANUALMENTE una o due volte...

    mentre vorrei che se non schiaccio lo spazio venga fuori 1, e se faccio uno spazio venga fuori 2...però ora uno spazio è = a 1 e due spazi è uguale a 2...

  23. #23
    Guest

    Predefinito

    Io non ci ho capito neinte.
    Da quello che hai scritto vuoi che se ci sono due spazi metti 2, altrimenti 1.
    Altrimenti vuoi che dopo ogni lettera venga 1 e ogni spazio che separa una parola venga 2?

  24. #24
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da biccheddu Visualizza messaggio
    Io non ci ho capito neinte.
    Da quello che hai scritto vuoi che se ci sono due spazi metti 2, altrimenti 1.
    Altrimenti vuoi che dopo ogni lettera venga 1 e ogni spazio che separa una parola venga 2?
    hehe...lo so, FORSE non mi sono spiegato BENISSIMO...comunque è come hai detto tu;

    "dopo ogni lettera venga 1 e ogni spazio che separa una parola venga 2"

  25. #25
    Guest

    Predefinito

    Prova così:
    Codice PHP:
    $str = str_replace(' ', 2, 'string and spaces');
    $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
    echo
    implode(1, $chars);
    Io ottengo:
    Codice:
    s1t1r1i1n1g121a1n1d121s1p1a1c1e1s
    E' quello che vuoi no?

  26. #26
    poisonblack non è connesso Neofita
    Data registrazione
    09-11-2009
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da biccheddu Visualizza messaggio
    Prova così:
    Codice PHP:
    $str = str_replace(' ', 2, 'string and spaces');
    $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
    echo
    implode(1, $chars);
    Io ottengo:
    Codice:
    s1t1r1i1n1g121a1n1d121s1p1a1c1e1s
    E' quello che vuoi no?
    Esatto, era esattamente questo, però alla fine ho trovato un'altra soluzione PIU' spartana, che però sembra funzionare lo stesso, ossia aggiungere il valore 1 alla lettera tradotta:

    Codice PHP:
    <?php
    $stringa
    = $_POST['parola'];

    $replace = array(
    "a" => "._.1",
    "b" => "._._.1",
    " " => "2",
    );

    $stringa = strtr($stringa, $replace);
    Alla fine bastava poco!!!riesco sempre a perdermi in un bicchiere d'acqua, però magari se non ne parlavo con qualcuno non ci sarei ancora arrivato, quindi GRAZIE!!!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •