Vai al contenuto
  • 0

Idea hook bing translate


wonderer

Domanda

Ariciao :)

non sono sicurissimo che si tratti della sezione giusta, ma ho visto che nella sezione delle mod si parla di modifiche esistenti.

Non amo molto i js, difatti non riesco a venire a capo di sta cosa :P

Sto provando a tradurre in ajax i singoli post con bing translator (dato che ora le api di google sono a pagamento).

Le funzionalità sono abbastanza semplici e chiare, i test su html statico funzionano, cercando di applicarlo "brutalmente" al forum (qualsiasi versione va bene credo) purtroppo non va, perché il tentativo di traduzione viene interpretato come azione del moderatore sconosciuta e la pagina redirecta in errore.

Se qualcuno ha esperienza nella creazione degli hook credo che possa facilmente sistemarlo in modo che funzioni (magari con opzioni settabili in admin).

Bisognerebbe, credo, mostrare la traduzione non all'interno dello stesso post ma in un div overlay.

Vorrei evitare di pasticciare troppo all'interno dei bit del template, per questo mi rivolgo ai guru italiani :)

Questo il codice (parzialmente) funzionante.

In header la funzione js


function translate(tfrom, tto, trans, ori) {
document.getElementById(trans).innerHTML="Translating... please wait";
var appId = 'XXXXXXXXXXXXXXXX';
var languageFrom = tfrom;
var languageTo = tto;
var translationId = trans;
var originalId = ori;
var text= document.getElementById(originalId).value;
window.mycallback = function(response) {
document.getElementById(translationId).innerHTML=response;
}

var s = document.createElement("script");
s.src = "http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback&appId=" + appId + "&from=" + languageFrom + "&to=" + languageTo + "&text=" + text;

document.getElementsByTagName("head")[0].appendChild(s);
}

invece nel template bit del post ho sostituito

{$post['post']['post']}

con

<div id="ori{$post['post']['pid']}">{$post['post']['post']}</div>
<div id="trans{$post['post']['pid']}"></div>
<button onclick="translate('en', 'it', 'trans{$post['post']['pid']}', 'ori{$post['post']['pid']}');">EN2IT</button>

Credo che molti abbiano forum multilingua o contenuti che non vogliono tradurre, perciò il risultato potrebbe anche riscuotere un discreto successo.

Volendo fare le cose per bene da admin sarebbe utile poter inserire l'appID, scegliere se avere un unico bottone (e decidere quali lingue settare) oppure un dropdown con diverse lingue.

Vabbè, voi siete sicuramente più esperti del sottoscritto, perciò saprete come dev'essere fatta una mod :D

Se a qualcuno va di cimentarsi io sicuramente sarò ben felice di fare da tester :P

Link al commento
Condividi su altri siti

4 risposte a questa domanda

Messaggi raccomandati

  • 0

Ciao, purtroppo però niente guru, io sono solo un utilizzatore appassionato.

Sto però in effetti cercando di capire qualcosa di più sulle hook, ma puoi trovare molte info qui

http://community.invisionpower.com/resources/documentation/index.html/_/developer-resources/hooks/start-here-creating-a-hook-r397'>http://community.invisionpower.com/resources/documentation/index.html/_/developer-resources/hooks/start-here-creating-a-hook-r397

http://community.invisionpower.com/resources/documentation/index.html/_/developer-resources/hooks/

e per una applicazione completa qui

http://community.invisionpower.com/resources/documentation/index.html/_/developer-resources/custom-applications/

e qui per le api

http://community.invisionpower.com/resources/documentation/index.html/_/developer-resources/api-methods/

provo a vedere come funziona il servizio che vuoi integrare, se riesco a capirci qualcosa di più....

aaa. comunque tu vuoi poter tradurre solo un post alla volta o tutto il forum contemporaneamente?

Link al commento
Condividi su altri siti

  • 0

Grazie :) ora do un'occhiata ai link, ma dubito di diventare maestro in poco tempo.

La mia idea è di tradurre il singolo post, perché non sempre ciò che interessa è la discussione intera e comunque in quel caso basta mettere il tastone che traduce tutta la pagina e non ci si pensa più.

A volte invece capita di dover postare citazioni, testi o altro materiale in una lingua diversa e non si ha voglia, tempo o necessità di tradurlo preventivamente.

Immancabilmente arriva l'utente che dice "cosa c'è scritto?" oppure "qualcuno me lo può tradurre?" e non importa quante volte hai ripetuto "apri google translate e fai copia/incolla" troverai sempre il niubbo o il pigro che vuole la pappa pronta :)

In questo caso si taglia la testa al toro.

Ma penso anche a tutte quelle risorse in altre lingue (lo stesso forum di supporto invision) a cui si arriva magari cercando un messaggio di errore tramite ricerca su google e dopo 20 messaggi inutili c'è quello che ha la soluzione ma la scrive in tailandese antico :D

Va da sé che dover schiacciare un tastino piuttosto che aprirsi un'altra pagina e fare copia e incolla dei messaggi è molto più comodo.

Ma immagino che anche qui arrivi gente straniera cercando questo o quello e poi si ributta su google perché preferisce trovare un risultato in una lingua più affine anziché mettersi a giocare coi traduttori.

Insomma, questo per illustrare la potenziale utilità della modifica. Se riesco a completarla da solo la metto volentieri a disposizione di tutti, ma se qualche capoccione riesce a fare le cose per bene da professionista credo che sia un vantaggio per tutti :P

  • Like 1
Link al commento
Condividi su altri siti

  • 0

Io aspetto notizie, tra l'altro mi blocco nella spiegazione delle hook, quelle semplicissime per l'inserimento di un semplice template bit, perchè quando creo una nuova hook gli dico tutto, ma non mi fa inserire l'ID del template che va richiamato.....

Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora
  • Chi sta navigando   0 utenti

    • Nessun utente registrato visualizza questa pagina.
×
×
  • Crea Nuovo...

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.