Fed-up with clients sending copy in Excel spreadsheets, hand-written on the back of an envelope, or by carrier-pigeon? Try this.
npm install googcms
Let a Google spreadsheet (example) take care of auth, versioning, storage, and pretty much everything else. All you need to worry about is having
googlecl installed on your server (see note below), and adding a
.googcms.yml file to your project with the following fields:
document : DocName # Exactly as appears on Google Drivecolumn_key : 0 # Column on spreadsheet for string identifiers (numbered from 0)column_value : 1 # Column with actual string in
Once everything is installed, you can then run
googcms in your project directory, and you'll get a
strings.json file with your copy in key:value pairs, ready to be loaded into your app. We have this included in our deployment script, so apps always get deployed with the latest copy strings. Note - the first row of the document is assumed to contain column headings and is ignored.
Do not install via
port- the packages are out-of-date and broken.
googlecl is a great little tool for accessing Google services from the command-line. However, the project seemed mothballed until recently. The packaged version dates from 2011 and is broken... but, the latest version from the svn trunk has fixed a bunch of bugs, including (most importantly for us) the ability to download spreadsheets from Google Drive (née Google Docs). If you have
svn installed on your server, you can run the following to get the latest version of
curl -O ; chmod +x googcms.sh; ./googcms.sh
sudo prompt about halfway through the script. It also attempts to connect to Google after installation. If you haven't previously authorised
googlecl to access your Google account, it will launch a browser window where you can do this.
googlecl requires python 2.5+ and gdata. See installation instructions if you hit any issues.