Skip to content

dragosv/serge-plugins

Repository files navigation

Serge Plugins

Project Status: Active - The project has reached a stable, usable state and is being actively developed. Build Status Build status codecov PRs Welcome Join the chat at https://gitter.im/serge-plugins/Lobby License: Perl FOSSA Status

Plugins allowing integration between Serge (Free, Open Source Solution for Continuous Localization) and various Translation Software (Open Source and Commercial).

These plugins are supplementing the built-in Serge translation software plugins, Pootle (Open Source) and Zing (Open Source).

Installation

If you want to install and use the plugins then just install it via cpanm.

cpanm install Serge::Sync::Plugin::TranslationService::plugin

Docker

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)

Development setup

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

Organization

lib/Serge/Sync/Plugin/TranslationService: Contains translation services plugins.

Dependencies

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

Packaging is managed with Dist::Zilla.

License

Perl 5 License

FOSSA Status