Traduction d'applications avec GetText et Poedit
Re: Traduction d'applications avec GetText et Poedit
dans le système de djes, le texte et la clef sont les mêmes ce qui est beaucoup plus simple !
j'avais fais un système comme le tient blendman, et au final j'ai adopté le système de Djes ! c'est vraiment très bien fait !
j'avais fais un système comme le tient blendman, et au final j'ai adopté le système de Djes ! c'est vraiment très bien fait !
Re: Traduction d'applications avec GetText et Poedit
Mais je peux mettre la clef que je veux puisque c'est une map mon dico() 
C'est juste que je mets des clefs assez simple c'est plus court, mais je pourrais mettre le message en français si je le voulais
.
Cela dit, son système a l'air très bien effectivement.

C'est juste que je mets des clefs assez simple c'est plus court, mais je pourrais mettre le message en français si je le voulais

Cela dit, son système a l'air très bien effectivement.
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: Traduction d'applications avec GetText et Poedit
Oui, c'est pareil, grâce aux maps 
Tu peux quand même récupérer l'idée (si tu ne l'as pas déjà fait) de traiter les sources pour récupérer les chaînes à traduire, et générer automatiquement tes fichiers langues

Tu peux quand même récupérer l'idée (si tu ne l'as pas déjà fait) de traiter les sources pour récupérer les chaînes à traduire, et générer automatiquement tes fichiers langues

Re: Traduction d'applications avec GetText et Poedit
bon, j'ai testé et je crois que je vais adopter ton système
.
Par contre, comment faire pour générer automatiquement les fichiers langues
?

Par contre, comment faire pour générer automatiquement les fichiers langues

http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Re: Traduction d'applications avec GetText et Poedit
Générer automatiquement ?
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
Re: Traduction d'applications avec GetText et Poedit
ben je suppose que si tu fais une moulinette qui extrait les chaines de ton sourceProgi1984 a écrit :Générer automatiquement ?
et que cette moulinette se connecte a internet a un moteur de traduction
qu'elle soumette une a une les phrases a traduire
qu'elle récupère (en lisant la page html renvoyé par le moteur de traduction)
les phrases traduites , alors ... tu peux generer un fichier des phrases traduites
ça dois pas etre sorcier a faire

Re: Traduction d'applications avec GetText et Poedit
ça doit même être amusant a faire, a partir de google traduction !Dobro a écrit : ben je suppose que si tu fais une moulinette qui extrait les chaines de ton source
et que cette moulinette se connecte a internet a un moteur de traduction
qu'elle soumette une a une les phrases a traduire
qu'elle récupère (en lisant la page html renvoyé par le moteur de traduction)
les phrases traduites , alors ... tu peux generer un fichier des phrases traduites
ça dois pas etre sorcier a faire

Re: Traduction d'applications avec GetText et Poedit
trop épuisé pour aller plus loin, si certain cherche voilà de quoi commencer
il faut envoyer l'url suivante
et pour les codes des langues c'est ici => http://sites.google.com/site/tomihasa/g ... uage-codes
bref cette url marche dans un navigateur ... on doit pouvoir récupérer le résultat avec PB
j'y arrive avec ma lib http, mais elle est trop lourde pour poster ici, et pas encore finit ...
il faut envoyer l'url suivante
Code : Tout sélectionner
text.s="bonjour"
langSource.s="fr"
langTarget.s="en"
url.s="http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q="+text+"&langpair="+langSource+"|"+langTarget
bref cette url marche dans un navigateur ... on doit pouvoir récupérer le résultat avec PB
j'y arrive avec ma lib http, mais elle est trop lourde pour poster ici, et pas encore finit ...

Re: Traduction d'applications avec GetText et Poedit
Le problème c'est que google translator donne des résultats plutôt débiles un peu trop souvent.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Traduction d'applications avec GetText et Poedit
effectivement ! mais pour des mots simpleAr-S a écrit :Le problème c'est que google translator donne des résultats plutôt débiles un peu trop souvent.
open,close,file,network,cancel,ok,select, etc... ça devrait pas trop pauser de problème et ça peut aider a la traduction d'une application ... même si une relecture s'impose !
Re: Traduction d'applications avec GetText et Poedit
Rien à voir avec une traduction automatique, mais effectivement, gettext (ou poedit) récupérent automatiquement les chaînes à traduire à partir des codes sources.

1 - Dans tous les sources entourez les chaînes avec t("") ou gettext("")
2 - Passez vos fichiers à la moulinette poedit ou gettext pour générer un catalogue
http://www.poedit.net/
http://www.gnu.org/s/gettext/
Poedit :
Ajoutez le language purebasic dans fichier>préférences>analyseurs (copiez celui pour le php et changez les extensions de listes de fichiers avec *.pb;*.pbi)
Créez un nouveau catalogue pour la langue souhaitée, ajoutez le chemin vers le dossier de votre projet, ajoutez t comme mot-clé
Cliquez sur "Mettre à jour à partir des fichiers sources"
Sauvez le catalogue avec un nom correspondant à la langue à traduire (comme fr_FR). Fichier original (texte) : .po , compilé pour le déploiement : .mo)
Sauvez autant de catalogue que de langues.
3 - Ajoutez les lignes suivantes à votre code (comme dans sample.pb)
XIncludeFile "translator.pbi"
Translator_init("locale\", "fr_FR") ;laissez la 2ème vide pour autodétection
Voici la traduction du readme de mon archiveblendman a écrit :bon, j'ai testé et je crois que je vais adopter ton système.
Par contre, comment faire pour générer automatiquement les fichiers langues?

1 - Dans tous les sources entourez les chaînes avec t("") ou gettext("")
2 - Passez vos fichiers à la moulinette poedit ou gettext pour générer un catalogue
http://www.poedit.net/
http://www.gnu.org/s/gettext/
Poedit :
Ajoutez le language purebasic dans fichier>préférences>analyseurs (copiez celui pour le php et changez les extensions de listes de fichiers avec *.pb;*.pbi)
Créez un nouveau catalogue pour la langue souhaitée, ajoutez le chemin vers le dossier de votre projet, ajoutez t comme mot-clé
Cliquez sur "Mettre à jour à partir des fichiers sources"
Sauvez le catalogue avec un nom correspondant à la langue à traduire (comme fr_FR). Fichier original (texte) : .po , compilé pour le déploiement : .mo)
Sauvez autant de catalogue que de langues.
3 - Ajoutez les lignes suivantes à votre code (comme dans sample.pb)
XIncludeFile "translator.pbi"
Translator_init("locale\", "fr_FR") ;laissez la 2ème vide pour autodétection
Re: Traduction d'applications avec GetText et Poedit
Bon voilà si quelqu'un veut se faire un traducteur automatique voici un code
il faut mon (c'est un peu prétentieux vu le nombre de personne a qui j'ai piqué des codes) code pour le http a télécharger ici
dite moi si ça marche chez vous car je n'ai testé que derrière un proxy ... et j'ai quand même un doute !
il faut mon (c'est un peu prétentieux vu le nombre de personne a qui j'ai piqué des codes) code pour le http a télécharger ici
dite moi si ça marche chez vous car je n'ai testé que derrière un proxy ... et j'ai quand même un doute !
Code : Tout sélectionner
XIncludeFile "http.pbi"
Procedure.s translate(text.s,langSource.s,langTarget.s)
Protected test.HTTP_Query,url.s
text.s="bonjour"
langSource.s="fr"
langTarget.s="en"
url.s="http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q="+text+"&langpair="+langSource+"|"+langTarget
;HTTP_proxy(@test,"spxy.bpi.fr",3128) ;<<<<<<<<<<<<<<<if you have a proxy change it
HTTP_query(@test, #HTTP_METHOD_GET, url)
;HTTP_addQueryHeader(@test, "X-Requested-With", "XMLHttpRequest")
HTTP_sendQuery(@test)
HTTP_receiveRawData(@test)
Protected s.l,e.l,result.s
result.s=PeekS(test\data,MemorySize(test\data),#PB_Ascii)
s=FindString(result,"translatedText",0)+Len("translatedText")+3
If s>0
e=FindString(result,Chr(34)+"}, "+Chr(34),s)
ProcedureReturn Mid(result,s,e-s)
Else
ProcedureReturn ""
EndIf
EndProcedure
debug translate("Bonjour","fr","en")