Serge Plugins
Plugins allowing integration between Serge (Free, Open Source Solution for Continuous Localization) and various Translation Software (Open Source and Commercial).
- Crowdin
- LingoHub
- Locize
- Lokalise
- Mojito (Open Source)
- Phrase
- Transifex
- Weblate (Open Source)
- Zanata (Open Source)
These plugins are supplementing the built-in Serge translation software plugins, Pootle (Open Source) and Zing (Open Source).
If you want to install and use the plugins then just install it via cpanm.
cpanm install Serge::Sync::Plugin::TranslationService::plugin
Alternatively docker can be used to run the plugins.
docker run -v /var/serge/data:/data -it dragosvr/serge-plugin command /data/configs/config1.serge
where command is a Serge command (sync, pull, push, pull-ts, push-ts, localize)
If you want to develop a feature, or contribute code in some way, you need a development setup. This is done by cloning the repo into a local directory.
git clone https://github.com/dragosv/serge-plugins.git
cd serge-plugins
With carton you can install all the dependencies needed in a local environment, so you can play around with dependencies without affecting the system libraries. The cpanfile is used to track the dependencies needed.
cpan App::cpanminus
cpanm install Carton
carton install
Once the development environment is set up, in order to run the tests, make should be used
carton exec make test
lib/Serge/Sync/Plugin/TranslationService: Contains translation services plugins.
Dependencies are versioned in a cpanfile. If you have carton, just execute 'carton install' in the main directory, and all dependencies will be pulled in automatically into a local library path. After that use 'carton exec ...' to execute your scripts.
If you add a dependency, just add it to the cpanfile file. There are three sections:
- the general section is for dependencies that are needed only in runtime
- the test section is for dependencies needed to run the test suite
- the develop section is for dependencies needed for developers
carton install will install all dependencies in all sections (after all, we're in developer mode here)
Packaging is managed with Dist::Zilla.