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

Add to package.json:

{
  "scripts": {
    "sourcy": "sourcy"
  }
}

Create sourcy.config.js in project root:

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

Execute and follow instructions:

yarn sourcy

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: Главная

Discussion (0)