Plugin to Extract Only Strings Missing in the Master Job

Plugin source location: <serge_root>/lib/Serge/Engine/Plugin/feature_branch.pm

Plugin always attaches itself to the following callback phases:

This plugin allows you localize multiple versions (branches) of the same resource files without having to expose duplicate strings for translation. Consider the following example: you have a main development branch (let's call it master) where you have resources to localize. In addition to that, you have multiple feature branches, each having a few new or changed translatable strings as compared to master. A naive approach would be to create multiple translation projects, one per branch. But each project can contain thousands of strings, and it's not practical to keep them all in the database and expose them for translation just for the sake of a few new strings that differ from master, especially if the lifespan of a feature branch is short.

feature_branch plugin attemts to simplify working with multiple branches at once by preventing the strings that are already there in the master branch to be extracted for translation from feature branches. For all matching strings in feature branches, it reuses translations from the master branch, so that feature branch resources can still be fully localized for QA purposes.

The plugin must be referenced in both master and feature branch localization jobs

Usage

example-project.serge