A week ago I attended an online meetup Flutter Berlin x FlutterLDN. One of the topics was Convenient internationalization of Flutter apps by Dominik Roszkowski. I really liked the solutions to l10n problems existing in Flutter that he presented.
But there was this one thing that I didn't like. He showed us one SaaS application as the only piece of software that deals with Flutter's ARB files good enough. This software, of course, is a paid one (with some free plan), but I thought it can't be that. That was the moment when I created a new GitHub repository 🥳
Arbify is an ARB file localization tool dedicated to Flutter and its intl package. I'm developing it for 8 days straight now and it already works well as an MVP.
My target to what I want Arbify to be is a tool that:
- works well both for individuals as well as teams and companies
- offers a simple access control via user and project roles
- lets you easily export your messages to ARB file
- and most importantly, is free to use! It's open-source and you can self-host it.
I plan to have a Dart extension that will let you easily integrate your Flutter project to any Arbify instance and easily sync your messages with your codebase.
At the beginning, I was wondering what technology should I choose for this project. I really had three options in my mind:
The language that the community already knows well so it would probably attract more contributors from the Flutter environment. But that's the technology I didn't know at all in terms of backend development.
The technologies that I personally know quite well and I can easily create stuff in.
Eventually, I chose Laravel and, I believe, thanks to that the project is in a very good shape right now!
For documentation regarding source code of Arbify, check DOCS.md.
For installation using docker-compose.
cp .env.example .env
.env file with the configuration you want to use.
- If you're using docker-compose, you need to change
- By default
MAIL_MAILERuses SMTP transport; you may want to change that to
logfor development purposes.
docker-compose build arbify docker-compose up -d docker-compose run arbify composer install docker-compose run arbify php artisan key:generate docker-compose run arbify php artisan migrate docker-compose run arbify php artisan db:seed docker-compose run arbify npm install docker-compose run arbify npm run prod
After this you're ready to go to http://localhost:8000 and check out Arbify yourself!
php artisan db:seed command seeded the database with a pre-verified admin account with email
email@example.com and password
I'm very happy I finally found an idea for a project that a) is a niche on the market b) will truly help people and c) drives me so crazy I'm a little bit frustrated I'm programming instead of procrastinating 😂.
Giving back to the community is an awesome thing. (And looks like they like the idea)
Albert Wolszon 💙@albert_wolszonFor the last week, I was working on Arbify! An open-source localization tool for #Flutter. Inspired by @OrestesGaolin talk at @FlutterBerlin x @FlutterLDN. You can check it out yourself with Docker github.com/Arbify/Arbify. 🌟 appreciated. Keep in mind it's early alpha!21:31 PM - 18 May 2020