Skip to content

Instantly share code, notes, and snippets.

@Albertoimpl
Created September 12, 2016 18:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Albertoimpl/8e8ab7fe3c686107a50a57071d073d2b to your computer and use it in GitHub Desktop.
Save Albertoimpl/8e8ab7fe3c686107a50a57071d073d2b to your computer and use it in GitHub Desktop.
Export JSON Translations
function onInstall(e) {
onOpen(e);
}
function onOpen(e) {
var jsonExport = [{name: "Export as JSON translation files", functionName: "runJSONExport"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu("json", jsonExport);
}
function runJSONExport() {
var sheet = SpreadsheetApp.getActiveSheet();
var format = ".json";
var data = sheet.getDataRange().getValues();
var keys = [];
for (var i = 1; i < data.length; i++) {
keys.push(data[i][0]);
}
var languages = data[0].slice(1);
var folder = DriveApp.createFolder(sheet.getName());
for (var i = 0; i < languages.length; i++) {
var jsonContent = {};
for (var k = 0; k < keys.length; k++) {
var key = new String(keys[k]);
if(key.trim().length != 0 && key.indexOf("#") !== 0) {
jsonContent[key] = data[k + 1][i + 1];
}
}
var fileName = sheet.getName() + "_" + languages[i] + format;
folder.createFile(fileName, JSON.stringify(jsonContent));
}
Browser.msgBox("Translation exported. Check your drive folder.");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment