Si comme moi, vous n’êtes pas doués en anglais et qu’il vous arrive de recevoir des fichiers Google Sheets non traduits, alors ce tuto Apps Script pour traduire un google sheets est fait pour vous !
Démonstration en vidéo
Le service LanguageApp
Ce service de Google Apps Script permet aux scripts de fournir un moyen de générer une traduction automatique de texte
Méthode | Type de donnée | Description |
translate(text, sourceLanguage, targetLanguage) | Texte | Traduit automatiquement du texte d’une langue source vers une langue de destination. |
Création de la fonction
Je crée une fonction que j’appelle ‘translate’. Je commence par déclarer mes deux variables :
var ui = SpreadsheetApp.getUi();
La variable ‘ui’ (l’interface utilisateur) me permettra de pouvoir afficher une boîte de dialogue avec le résultat de la traduction
var ws = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
La variable ‘ws’ (pour Work Sheet) est là pour identifier mon espace de travail, en l’occurrence l’endroit où je me trouve actuellement dans mon tableur
Récupérer le contenu de ma cellule
var contenu = ws.getActiveCell().getValue();
Grâce à la méthode ‘getActiveCell’, je peux indiquer où se trouve mon curseur, la cellule active entourée d’un cadre bleu. Je termine cette étape en récupérant la valeur s’y trouvant avec ‘getValue’
Traduire la variable
var traduction = LanguageApp.translate(contenu, 'en', 'fr');
j’utlise donc le service LanguageApp avec la méthode translate. J’ai besoin de trois paramètres :
- le texte à traduire (ma variable contenu)
- le code de langue dans lequel le texte est écrit
- le code de langue dans lequel le texte doit être traduit
Info en plus : si le code langue de langue est vide, le code de la langue source sera détecté automatiquement !
lien vers les codes des langues : https://cloud.google.com/translate/docs/languages
Afficher le résultat dans une boîte de dialogue
ui.alert('Traduction', traduction, ui.ButtonSet.OK);
Grâce à ma variable ‘ui’ qui permet de modifier l’interface utilisateur, je crée une boîte de dialogue qui affiche le résultat
Mettre la fonction dans un menu du Google Sheets
function onOpen() {
SpreadsheetApp.getUi().createMenu("Outils").addItem("Traduire", "translate").addToUi();
}
Je termine par créer une nouvelle fonction que nomme ‘onOpen’. En nommant cette fonction ainsi, elle s’exécute lorsqu’un utilisateur ouvre la feuille de calcul. Le menu est nommé Traduire et lié à la fonction translate
Le code complet
function onOpen() {
SpreadsheetApp.getUi().createMenu("Outils").addItem("Traduire", "translate").addToUi();
}
function translate() {
var ui = SpreadsheetApp.getUi();
var ws = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var contenu = ws.getActiveCell().getValue();
var traduction = LanguageApp.translate(contenu, 'en', 'fr');
ui.alert('Traduction', traduction, ui.ButtonSet.OK);
}
Maintenant, vous savez traduire un google sheets grâce à Apps Script
Merci de nous avoir suivi, laissez nous un commentaire et proposez nous d’autres idées de tuto Google Apps Script.
A bientôt !
Retrouvez nous sur les réseaux sociaux :
Retrouvez nos formations sur notre catalogue, mis à jour régulièrement