Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mchudy/i18n-google-sheets-importer
Automatically generate JSON translation files from Google Docs spreadsheets.
https://github.com/mchudy/i18n-google-sheets-importer
googledocs googlesheets i18n
Last synced: 9 days ago
JSON representation
Automatically generate JSON translation files from Google Docs spreadsheets.
- Host: GitHub
- URL: https://github.com/mchudy/i18n-google-sheets-importer
- Owner: mchudy
- License: mit
- Created: 2019-12-17T07:22:50.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-15T15:35:42.000Z (over 1 year ago)
- Last Synced: 2024-10-14T01:24:16.899Z (23 days ago)
- Topics: googledocs, googlesheets, i18n
- Language: TypeScript
- Homepage:
- Size: 203 KB
- Stars: 25
- Watchers: 3
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
Generate `credentials.json` file to access the Google Sheets API by following Step 1 from [this guide](https://developers.google.com/sheets/api/quickstart/nodejs).
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):
```json
{
"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]
```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)### `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