Now available: Push back to Github in Lingohub

Post featured image

One of LingoHub's core features is a really smooth Github integration. This allows you to sync your files, work with different branches and basically stay in the development and versioning environment you are already working with. One of the most requested features, which we now implemented, is the ability to trigger a push back to your repository. Let us look at how this works. Please note that you need to be admin of your repository to set up integration.

Push Back to Github

"Push back" to Github means that completed translations stored in new locale-based language resource files can now be pushed back to a Github repository (private and public) with a click, removing yet another extra step in the re-integration workflow. Please note that we also offer a new Bitbucket integration now, but it lacks this feature (read more about that here). With push back to Github it is no longer necessary to download a file and then manually push it to your Github repository (or have a custom script do that for you), LingoHub's Github integration will do that for you.

How does the entire workflow look like with LingoHub's Github integration?

Simple. You connect LingoHub to your repository that holds your translation resource files. You set up a watch pattern to define which files LingoHub should have an eye on (and in which branch). These files will be synced to your LingoHub project, so all the latest text parts are always there and ready to be translated. Once translated, the completed resource files can be pushed back to your Github repository. It's like you don't have to do any work anymore. The following screenshots will illustrate the various steps.

Here is how it works (with screenshots): The first step is to set up Github integration from within your LingoHub project's resource files section. These steps are the same with Bitbucket, by the way. From the main screen you select which type of integration you would like to set up.

Img

The next step is to authenticate. If you used Github as an authentication provider to log into LingoHub (that's also possible), then this step will just be an automatic logging into your account.

Img

Then you can set the repository you want to sync with.

repositories-300x181

Now select the branch within the repository. We recommend that for both the set up of the project on LingoHub as well as the setting up of the synchronization, the actual project or product owner be in charge and be in charge of the integration, even though a LingoHub project can have many collaborators.

branches-300x152

Once that is selected, define a watch pattern for this repository. A watch pattern will let LingoHub know which resource files to watch. You can use some pre-defined watch patterns for common frameworks, or enter one (using REGEX) manually.

watchpatterns-743x1024

A preview will allow you to check if the correct files are captured by your pattern.

watchpatternexample-300x109

Now, the integration is set up.

repository-setting-lingohub3complete-300x183

You can always go to the integration settings page to have a one-view option to change your settings. Here you can also activate automatic sync. Please note that push-back will never be automatic.

repository-setting-lingohub5-300x251

On the Export settings page, you can see the status of all your resource files currently part of your project. The umbrella signs on the right indicate whether all LingoChecks (more on that here) are met. Usually, you only want to sync back resource files that are release-ready and also meet all LingoCheck requirements. You can now download them all, or download individual files only. You can also now trigger a push back to your Github repository. Here, you'll have the option to define the branch you want to push it to.

integration export-300x240

That is it, the most hassle-free localization integration with a code repository you could imagine. it is almost like magic. If you have further questions, feel free to contact us or submit a ticket within our support desk.