The recent move to Composer for Known (and eventually Known plugins) has given me the opportunity to improve the experience for plugin developers.
Previously, generating a .pot file for languages would require a script in Known’s central language directory. This meant all sorts of “relative path” hijinks in your Gruntfile.js, and was generally bad.
So, I’ve taken this opportunity to package up the script into its own project that can be installed via composer as a development dependency into your plugin project.
How to use
Create your CoolProject, and add your translation string hooks, and load them as described here.
In your project, add known-language-tools as a dependency using composer require mapkyca/known-language-tools --dev
In the project directory you’ll find a Sample.package.json file. Copy this to your project root as package.json and edit accordingly. Note your project name should be the name of your project.
In the project directory, you’ll find a Sample.Gruntfile.js. Again, copy this into your project root.
Create a languages directory
Run the grunt task, grunt build-lang (if grunt isn’t found, npm install --only=dev first.
Just a quick one, and primarily to help myself out, I put together a very quick and dirty Vagrant wrapper for Elgg development. I found myself repeating myself quite a bit when it comes to putting together build environments, and working with other people, so it made sense to put together a quick vagrant build to help out my team.
This project acts as a wrapper around whatever Elgg site you happen to be developing, and provides a stable install environment based on Ubuntu Xenial, mariadb and PHP 7.0.