UNPKG

gulp-translations-from-spreadsheet

Version:
114 lines (76 loc) 3.81 kB
# gulp-translations-from-spreadsheet [![Build Status](https://travis-ci.org/mikhail-angelov/gulp-translations-from-spreadsheet.svg?branch=master)](https://travis-ci.org/mikhail-angelov/gulp-translations-from-spreadsheet) > Gulp plugin to generate translations json files for angular application from a google spreadsheet > **IMPORTANT:** If you do not want to use a service account, google spreadsheet must have no auth public permissions (e.g. Anyone with the link can view) > and it should be explicitly published using "File > Publish to the web" menu option in the google spreadsheets GUI. > this plugin is based on [node-google-spreadsheet](https://github.com/theoephraim/node-google-spreadsheet) # Install ``` npm install gulp-translations-from-spreadsheet --save-dev ``` # Basic Usage This code will generate translation json files based on google spreadsheet: ```javascript 'use strict'; var gulp = require('gulp'); var translations = require('gulp-translations-from-spreadsheet'); gulp.task('translations', function () { return translations({ key: '1cKTLZCglRJkJR_7NGL6vPn1MHdadcLPUOMYjqVKFlB4', sheet: 1, colCount: 4, firstRow: 1, private_key_id: 'xxx', private_key: '-----BEGIN PRIVATE KEY-----\xxx\n-----END PRIVATE KEY-----\n', client_email: 'xxx@developer.gserviceaccount.com', client_id: 'xxx.apps.googleusercontent.com', ignoreCommentsColumn: false, warnOnMissingValues: true, errorOnMissingValues: false }) .pipe(gulp.dest('./i18n')); }); ``` --- ### Options #### key Type: `String: mandatory` Google spreadsheet key. *Example: `https://docs.google.com/spreadsheets/d/1cKTLZCglRJkJR_7NGL6vPn1MHdadcLPUOMYjqVKFlB4/edit?usp=sharing`* *`1cKTLZCglRJkJR_7NGL6vPn1MHdadcLPUOMYjqVKFlB4 is a key here`* #### sheet Type: `Number: optional, default 1` **NOTE:** Worksheet id, ids start at 1 ### It is recommended that you DELETE all unused rows and columns in your spreadsheet to optimize load time, and only create additional columns and rows when needed. ### The following two options allow you to specify a custom range of columns and rows if required. #### firstRow Type: `Number: optional, default 1` **NOTE:** the index of the first row, start with 1 #### colCount Type: `Number: optional, default value from spreadsheet` **NOTE:** the number of valuable columns, it's better to specify this number, otherwise, it could be more than you expect ### The following four options are required if you want to use a service account to authenticate (recommended): #### private_key_id Type: `String: optional` The Google API private key id to use for authentication. #### private_key Type: `String: optional` The Google API private key to use for authentication. **NOTE:** You should never commit your private_key into your git repo. Rather you should use an ENV variable. #### client_email Type: `String: optional` The Google API email to use for authentication. This account must have read access to the spreadsheet you want to pull the translations from. #### client_id Type: `String: optional` The Google API client id to use for authentication. #### ignoreCommentsColumn Type: `Boolean: optional, default false` If there is a column with the top cell labelled 'comments', this column will be skipped. #### warnOnMissingValues Type: `Boolean: optional, default true` If there is a column lacking a given value, throw a warning in the console. #### errorOnMissingValues Type: `Boolean: optional, default false` If there is a column lacking a given value, throw a fatal error and stop the task (recommended). --- **NOTE:** there is [link](https://github.com/marcbuils/gulp-i18n-gspreadsheet) to alternative version of such gulp plugin