Hackathon has ended.

đŸ„· Locale Ninja

A Git-based gem to manage translations in your Ruby on Rails app.

LocaleNinja simplifies the management of translations on a website. Unlike traditional solutions that require connecting to an external platform, LocaleNinja is a Git-based gem installed directly in your project, allowing you to maintain full control over your translations without relying on a third-party service.

video of the demo : https://www.loom.com/share/9bbc92ed6aa047b889e5e5b355b6a702?sid=3c37df16-1fde-484a-b41b-40abf72f5585

Key features 

Streamlined Translation Management: LocaleNinja provides a user-friendly interface to effortlessly handle all your website translations within the same project.

Seamless Git Integration: LocaleNinja connects directly to your Git repository and automatically handles pull and push of translation files. This ensures smooth collaboration with developers and simplifies the process of updating translations.



Built with:

Ruby, octokit, tailwind... and pry-byebug 

So we created a gem, the main challenge being the transmissions with Github, for which we rely on the octokit gem. We then had to search the repo for the locales files, even if these are split in different yml for the same language. We made sure that the user could choose which branch to pull the locales from. Once the changes have been made, the person in charge of translation can save and a pull request is created on the remote repo, on the right branch, for the right file. If there are files or keys missing in some languages, they will be automatically created so that all languages are identical.

We still want to add the compatibility with gitlab, add some features in the dashboard, add some tests, work on the UX, improve perf with cache in database... but it will be in a later version 😁.

This hackathon was a blast, we can't wait to put the gem in our projects and test other participants' applications.

130 votes