localize-gsheet-pro

1.2.29 • Public • Published

Convert a Google Spreadsheet to a localization file

Installation

npm install localize-gsheet-pro -g

Supports

  1. iOS, Android, js,
  2. file splits from inline comments (only supports android)

Example

Given a Google Spreadsheet like this:
Spreadsheet example

Right now only good for android XML files where there comments with xxxx.xml and they will be split automatically.

The tool fetch the spreadsheet and write the result to a file in the Android or iOS format:

Result android Result iOS

Create a file update-localization.js

var Localize = require("localize-gsheet-pro");
var transformer = Localize.fromGoogleSpreadsheet("0Aq6WlQdq71FydDZlaWdmMEUtc2tUb1k2cHRBS2hzd2c", '*');
transformer.setKeyCol('KEY');

transformer.save("values/strings.xml", { valueCol: "NL", format: "android" });
transformer.save("values-fr/strings.xml", { valueCol: "FR", format: "android" });

transformer.save("nl.lproj/Localizable.strings", { valueCol: "NL", format: "ios" });
transformer.save("fr.lproj/Localizable.strings", { valueCol: "FR", format: "ios" });

transformer.save("values/strings.xml", { valueCol: "NL", format: "android" }, function(){
        transformer.programSplit ("values/" + "strings.xml", "values", "ZH");
});

Run it with

node update-localization.js

Advanced

You can filter the worksheets to include with the second parameter of 'fromGoogleSpreadsheet' Ex:

Localize.fromGoogleSpreadsheet("<Key>", '*');
Localize.fromGoogleSpreadsheet("<Key>", ['HomeScreen, 'ContactScreen']);
Localize.fromGoogleSpreadsheet("<Key>", [0, 2]);

Notes

  • The script will preserve everything that is above the tags: < !-- AUTO-GENERATED --> or // AUTO-GENERATED
  • Your spreadsheet should be "Published" for this to work
  • You need to have git installed for the installation

/localize-gsheet-pro/

    Package Sidebar

    Install

    npm i localize-gsheet-pro

    Weekly Downloads

    2

    Version

    1.2.29

    License

    none

    Unpacked Size

    52.8 kB

    Total Files

    12

    Last publish

    Collaborators

    • jrhess