begin process at 2010 03 20 08:38:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > TRADUCTION DE FICHIERS DE LANGUE AVEC GOOGLE GTRANSLATE

TRADUCTION DE FICHIERS DE LANGUE AVEC GOOGLE GTRANSLATE


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caratère Classé sous :traduction, fichier, langue, gtranslate, google Niveau :Initié Date de création :02/06/2009 Vu / téléchargé :2 628 / 199

Auteur : madislak

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Un petit script vite fait qui traduit des fichier de langue PHP via un traitement par lot en utilisant l'API Gtranslate de Google. Evidement, c'est de la traduction automatique donc ça vaut ce que ça vaut...

Je l'ai laissé tel quel car je m'en suis servit une seule et unique fois donc ça vaut pas trop le coup de l'optimiser (pour 4000 lignes à traduire, ça valait quand même le coup de le faire).

Il faut que les fichiers d'origine soient écrits comme ceci (j'ai mis un exemple dans le zip) :
<?php
$var1 = "bla bla";
$var2 = "plop plop";
etc.
?>

Enjoy !

Source

  • <?php
  • require("gtranslate/GTranslate.php");
  • $languages = parse_ini_file("gtranslate/languages.ini");
  • // Mettre le repertoire d'origine ici
  • $path_from = "lang/fr/";
  • // Mettre le repertoire de destination ici
  • $path_to = "lang/en/";
  • // Mettre la langue desiree ici
  • $lang_to = "english";
  • $lang_to_iso = $languages[strtoupper($lang_to)];
  • // On recupere la liste des fichiers contenus dans le repertoire d'origine
  • $rep = dir($path_from);
  • $files_to_translate = array();
  • while ($nametmp = $rep->read()) {
  • if (is_file($path_from.$nametmp) && $nametmp!="." && $nametmp!=".." && $nametmp!="Thumbs.db") $files_to_translate[] = $nametmp;
  • }
  • $rep->close();
  • $gt = new Gtranslate;
  • foreach($files_to_translate as $filename){
  • $translation = "";
  • // On traite le contenu du fichier ligne par ligne
  • $filecontent = file($path_from.$filename);
  • foreach($filecontent as $line){
  • // Si la ligne contient un variable PHP, alors on traduit
  • if(strstr($line,'$')){
  • // On extrait le nom et la valeur de la variable
  • list($name,$value) = explode("=",$line);
  • $value = str_replace('";','',$value);
  • $value = str_replace(' "','',$value);
  • $value = htmlentities($value);
  • // On reecrit la ligne avec la traduction de la valeur de la variable
  • $translation .= $name.'= "'.$gt->{"french_to_".$lang_to}($value).'";';
  • $translation .= "\n";
  • }
  • // Si la ligne ne contient pas de variable, alors on recopie la ligne telle quelle
  • else {
  • $translation .= $line;
  • }
  • }
  • // Ecriture du nouveau fichier de langue
  • if(!is_dir($path_to)) mkdir($path_to);
  • $newfilename = str_replace("_fr","_".$lang_to_iso,$filename);
  • $fp = fopen($path_to.$newfilename, "w");
  • fwrite($fp,$translation);
  • fclose($fp);
  • }
<?php
require("gtranslate/GTranslate.php");
$languages = parse_ini_file("gtranslate/languages.ini");

// Mettre le repertoire d'origine ici
$path_from = "lang/fr/";
// Mettre le repertoire de destination ici
$path_to = "lang/en/";
// Mettre la langue desiree ici
$lang_to = "english";
$lang_to_iso = $languages[strtoupper($lang_to)];

// On recupere la liste des fichiers contenus dans le repertoire d'origine
$rep = dir($path_from);
$files_to_translate = array();
while ($nametmp = $rep->read()) {
	if (is_file($path_from.$nametmp) && $nametmp!="." && $nametmp!=".." && $nametmp!="Thumbs.db") $files_to_translate[] = $nametmp;
}
$rep->close();

$gt = new Gtranslate;
foreach($files_to_translate as $filename){
	$translation = "";
	// On traite le contenu du fichier ligne par ligne
	$filecontent = file($path_from.$filename);
	foreach($filecontent as $line){
		// Si la ligne contient un variable PHP, alors on traduit
		if(strstr($line,'$')){
			// On extrait le nom et la valeur de la variable
			list($name,$value) = explode("=",$line);
			$value = str_replace('";','',$value);
			$value = str_replace(' "','',$value);
			$value = htmlentities($value);
			// On reecrit la ligne avec la traduction de la valeur de la variable
			$translation .= $name.'= "'.$gt->{"french_to_".$lang_to}($value).'";';
			$translation .= "\n";
		}
		// Si la ligne ne contient pas de variable, alors on recopie la ligne telle quelle
		else {
			$translation .= $line;
		}
	}
	
	// Ecriture du nouveau fichier de langue
	if(!is_dir($path_to)) mkdir($path_to);
	$newfilename = str_replace("_fr","_".$lang_to_iso,$filename);
	$fp = fopen($path_to.$newfilename, "w");
	fwrite($fp,$translation);
	fclose($fp);
}

 Conclusion

L'API Gtranslate peut être téléchargée ici : http://code.google.com/p/gtranslate-api-php/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip CLASSE DE GESTION D'INTERFACE RÉSEAUX

 Sources de la même categorie

Source avec Zip GÉNÉRATEUR DE BALISE META KEYWORDS par ParseError
Source avec Zip Source avec une capture RACCOURCISSEUR D'URL par hairai
Source avec Zip GÉNÉRER UN MOT DE PASS ALÉATOIRE par narkos2
UNICODE TO HTML ENTITIES par CrazyShooter
Source avec Zip DÉBUTANT : FONCTION POUR TRANSFORMER UN TEMPS EN SECONDES EN... par MonkeyIsBack

 Sources en rapport avec celle ci

Source avec Zip CHARGER DES DONNÉES DEPUIS UN FICHIER TXT DANS UNE BASE DE D... par ig3
Source avec Zip CLASSE DATETIME AVEC TRADUCTION par 1030
Source avec Zip CLASSE SIMPLE DE GESTION DE FICHIERS par alexarbitre
CLASSE PHP PERMETANT DE GERER LE MULTILANGUES par phppro
Source avec une capture TRADUCTION VIA GOOGLE (OU AUTRE...) par AskMove

Commentaires et avis

Commentaire de pyrrah le 03/06/2009 13:22:16

Ca à l'air intéressant.
Et puis, ça tombe bien pour moi :D
Je vais regarder ça et tester et je te donnerais une note.

Commentaire de ginge le 08/06/2009 14:37:18

bonjour

jai une erreur
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /phpcs_TRADUCTION-FICHIERS-LANGUE-AVEC-GOOGLE-GTRANSLATE___Page/gtranslate/GTranslate.php on line 48

c'est juste chez moi ??

Commentaire de GillesWebmaster le 28/11/2009 12:25:29

Je ne suis pas convaincu de la l'API GTranslate...
Qu'en pensez vous?

Commentaire de GillesWebmaster le 28/11/2009 18:51:34

http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=Le%20texte%20qui%20doit%20%EAtre%20traduit&langpair=fr|en
Quoi de plus simple?

Commentaire de GillesWebmaster le 29/11/2009 17:53:45 9/10

Après ma petite enquête, j'attribue 9/10 à cette source.
Je ne met pas dix car elle repose sur une API tierce...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Multi langue [ par panpan ] Hello,Je suis en train de concevoir un site en plusieurs langues mais j'ai un problème pour un chose:J'ai défini toute mes traduction dans les fichier probleme avec la langue tchèque [ par mitali ] Je suis entrain de construire un site multi-langues dont l'une et tchèque .tout les textes du site je les mis dans un fichier csv , lors de la lecture Google Maps Api [ par lammiiaa ] Bonjour,Je travaille avec google maps api et je veux afficher un point sur le map en utilisant GlatLng,mais les coordonnees en parametres de GlatLng s Site multilingue avec des variables dans les traductions [ par dvdstory ] Bonjour,Je souhaite faire un site multilingue, mais des variables me posent problème, je connais le principe, On detecte la langue du navigateur puis Modifier la ligne X d'un fichier txt [ par Bastagogne ] Bonjour à vous,Je suis pas très fort en php et je n''arrive pas à réaliser un petit script pour mon site, je m''explique:Je souhaiterai modifier la li PHP et ouverture de fichier [ par Slyders ] Bonjour, je cherche à ouvrir un docmuent RTf sous WORD et pas son substitue d'IE ou il manque 90% des choses.j'ai pour le mment le code suivant : &l Upload d'image ==> Problème :s [ par robapt ] Bonjour à tous!J'ai un petit problème pour uploader un fichier (une image) ! Enfin c'est plutôt que je ne vois pas comment il faut faire ! En fait, le upload ? [ par robapt ] Bonjours!Comment pourrai-ton uploader un fichier et en même temps mettre un petit commentaire?En gros moi je veux que le visiteur upload une image et Problème pour creer un fichier texte! [ par robapt ] Bonjours à tous, voila ma page se compose de deux zone de texte ou le visiteur peut écrire :La première est un chemin à choisir pour uploader une imag Buffer et variables au sein d'une fonction [ par Ordinastie ] Bonjour,J'ai une classe permettant l'affichage d'un cadre plus ou moins grahique autour d'un contenu. Pour chaque chaque cadre j'appelle une méthode p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales