Skip to content

sanduluca/i18n-google-sheets-importer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

i18n-google-sheets-importer

Automatically generate JSON translation files from Google Docs spreadsheets.

Installation

npm i i18n-google-sheets-importer --save-dev

Quick start

Create a Google Sheet spreadsheet in the following format:

Screen Shot 2019-12-20 at 00 56 23

Generate credentials.json file to access the Google Sheets API by following Step 1 from this guide. Or you can create an API key following this quide

Run the following command from the folder where credentials.json file is located:

i18n-google-sheets-importer import-google-sheet --spreadsheetId spreadsheetId

The script will generate translations folder containing files en.json, de.json and es.json.

Nesting is supported, so the above spreadsheet will get converted to a following JSON file (in case of English):

{
  "yes": "Yes",
  "namespace": {
    "hello": "Hello"
  }
}

API

import-google-sheet

i18n-google-sheets-importer import-google-sheet
  --spreadsheetId spreadsheetId
  [--output ./translations]
  [--sheetName Sheet1]
  [--credentials credentials.json]
  [--token token.json]
  [--apiKey YOUR_KEY]

Generates JSON translation files from a Google Sheet spreadsheet.

Arguments:

  • spreadsheetId (required) - Sheet document ID, can be obtained from the URL: https://docs.google.com/spreadsheets/d/1NYsZowfHbtQqgWWPelYRlDg0OhknpCx2JuL8mE1DSk/edit?usp=sharing
  • output (default: translations) - Path to a folder where JSON files should be saved
  • sheetName (default: Sheet1) - Name of the sheet which contains i18n data
  • credentials (default: ./credentials.json) - Path to file with Google Sheets Node API credentials
  • token (default: ./token.json) - Path to a Google Sheets API token (it will get generated on the first run and it can be reused afterwards)
  • apiKey (Alternative to credentials) - With an API key, you can access your service from a client or the server. Typically less secure.

export-csv

i18n-google-sheets-importer export-csv --input ./translations --output ./translations.csv

Generates a single CSV file from existing JSON files.

Useful if you want to migrate the i18n in an existing project to Google Sheets (the generated CSV can be easily imported in Google Docs).

import-csv

i18n-google-sheets-importer import-csv --input ./translations.csv --output ./translations

Generates JSON translation files from a local CSV file.

License

MIT License

About

Automatically generate JSON translation files from Google Docs spreadsheets.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.5%
  • JavaScript 2.5%