An open API service indexing awesome lists of open source software.

https://github.com/victorcazanave/google-sheets-i18n-generator

Generate i18n JSON/JS files from a Google Sheets spreadsheet
https://github.com/victorcazanave/google-sheets-i18n-generator

commonjs es-modules google-sheets i18n json nodejs spreadsheet

Last synced: 2 days ago
JSON representation

Generate i18n JSON/JS files from a Google Sheets spreadsheet

Awesome Lists containing this project

README

        

# google-sheets-i18n-generator

[![npm version](https://img.shields.io/npm/v/google-sheets-i18n-generator)](https://www.npmjs.com/package/google-sheets-i18n-generator)
[![Build Status](https://travis-ci.com/VictorCazanave/google-sheets-i18n-generator.svg?branch=master)](https://travis-ci.com/VictorCazanave/google-sheets-i18n-generator)
[![codecov](https://codecov.io/gh/VictorCazanave/google-sheets-i18n-generator/branch/master/graph/badge.svg)](https://codecov.io/gh/VictorCazanave/google-sheets-i18n-generator)
[![Dependency Status](https://david-dm.org/VictorCazanave/google-sheets-i18n-generator.svg)](https://david-dm.org/VictorCazanave/google-sheets-i18n-generator)
[![GitHub](https://img.shields.io/github/license/VictorCazanave/google-sheets-i18n-generator?color=blue)](https://github.com/VictorCazanave/google-sheets-i18n-generator/blob/master/LICENSE)

Generate i18n JSON/JS files from a Google Sheets spreadsheet

## Installation

### npm

`npm install --save-dev google-sheets-i18n-generator`

### yarn

`yarn add --dev google-sheets-i18n-generator`

## Usage

1. Create a Google Sheets spreadsheet to store the i18n strings
Example of spreadsheet

2. If needed, configure Google Sheets (only the first time):

More details

2.1. Enable the Google Sheets API for your project following [this documentation](https://support.google.com/googleapi/answer/6158841)

Menu to Google Sheets API

Button to enable Google Sheets API

2.2. Create OAuth ID credentials for your application

Menu to create credentials

2.3. Download the `client_secret_xxx.json` file of your application, then eventually move it to the right folder and rename it

Button to download client secret file

3. Copy the ID of the spreadsheet (can be found in the URL `https://docs.google.com/spreadsheets/d//edit#gid=0`)

4. Run the command: `gs-i18n `

5. If needed, follow the instructions to allow `gs-i18n` to access your Google Sheets and download the `credentials.json` files (only the first time)

More details

```
Authorize this app by visiting this url: https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets.readonly&response_type=code&client_id=...&redirect_uri=...
Enter the code from that page here:
```

Button to allow gs-i18n to access Google Sheets API

6. The JSON files are generated in the `./locales` folder

To customize the options, see the [API section](#api).

## API

```
Usage: gs-i18n [options]

Options:
-v, --version output the version number
-b, --beautify number of spaces to insert white space in JSON/JS files (min: 0, max: 10) (default: 0)
-c, --client path of client secret file (default: "./client_secret.json")
-f, --format format of generated files (available values: "cjs", "esm", "json") (default: "json")
-k, --key index of key column (default: 0)
-l, --lang index of first language column (default: 1)
-o, --output path of output directory (default: "./locales")
-r, --range range of data to parse (default: "Sheet1")
-t, --token path of credentials file (default: "./credentials.json")
-h, --help output usage information
```