DEV Community

Aleksey Razbakov
Aleksey Razbakov

Posted on

i18n + Google Spreadsheet = ♥️

I created a CLI tool to synchronise translations from Google Spreadsheet to yaml/json files.

I was using it already for couple projects and today was starting a new one and realised that I better do it configurable and publish on npm to make it easier.

https://github.com/razbakov/sourcy

Installation

yarn add @razbakov/sourcy -D 
Enter fullscreen mode Exit fullscreen mode

Add to package.json:

{ "scripts": { "sourcy": "sourcy" } } 
Enter fullscreen mode Exit fullscreen mode

Create sourcy.config.js in project root:

module.exports = { sources: [ { spreadsheetId: "spreadsheet id", range: "sheet name", output: "./locales/", transformer: "i18n", format: "yaml", // or json }, ], }; 
Enter fullscreen mode Exit fullscreen mode

Execute and follow instructions:

yarn sourcy 
Enter fullscreen mode Exit fullscreen mode

Transformer: i18n

Input:

key en de es ru
home.title Home Startseite Página inicial Главная

Output:

en.yml home.title: Home de.yml home.title: Startseite es.yml home.title: Página inicial ru.yml home.title: Главная 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)