FreeTube is Now Accepting Translations Via Weblate!

Hey there everyone! Today I'm very pleased to announced that FreeTube is now available and accepting translations via Weblate! If you would like to see FreeTube translated into your native language, or if you just happen to know multiple languages, we'd love to have your help with contributions. In this quick blog post, I will be giving some extra details about everything.

I'll cut right to the chase, if you'd like to help with translations for FreeTube, the Weblate link is right here. You'll have to be registered on the site to contribute. I hope to see you over there!

Localization

Getting FreeTube (or any app for that matter) setup and ready for translations is no easy task. To start, you have to get a base file created so that all other translations have something to base off of. This means that I have to compile a list of every single phrase that is currently within FreeTube. Luckily I've had some recent help from a few members of the community to help get this file put together. You guys are awesome!

Once that's complete, I then have to hook up that compiled list to the app, and replace every hard coded phrase with an object that references that compiled file. This is a fairly time consuming task and sometimes remember which strings of text is where can be difficult to find.

Both of these together is why it has taken so long to get this properly setup. In the past the base file was so outdated that I couldn't take advantage of any translations. We've since then been able to completely catch up with it, so we're finally ready to start using these files.

Weblate

If you're new to Weblate, Weblate is a service that allows translators to quickly and easily view all of the words within an application and convert them into a language of their choice. They are able to receive updates when a new word or phrase has been introduced into the app as well which allows them to focus on localization and skip anything code related. Translators can also discuss about certain phrases and ask questions to both myself and other translators.

At the time of writing, Weblate is currently hooked up to push new translations over to the rewrite I'm currently working on. Once the rewrite is finished and the project has been transferred to the main repo (more details about that in the near future), I will be able to update Weblate to point to the other repository.

Since we have a brand new format that we're using for the source strings (And because they're fairly outdated at this point), I won't be able to transfer any translations that were done for the live build of FreeTube. If you sent over translations in the past, I kindly ask that you do it again under this new build so that we can have your language of choice in a new build.

Once a certain threshold has been met (I haven't decided on anything specific yet, I'm thinking about 80% of words translated), then I will enable that language within our automated builds for FreeTube. Since FreeTube is in active development, new strings will likely be added fairly often, so be sure to check back periodically or enable notifications via Weblate for when new strings are added.

If your language has a specific use case for phrases (Ex: Your language is right aligned instead of left aligned, your language requires certain things that need changed around) that has to be solved by a coding change, please let me know. I will likely not prioritize it for now due to a soft deadline that I'd like to meet, but please feel free to make a comment about it so that I can get to it at a later point. Feel free to make translations in the mean time, I just likely won't enable them until the appropriate changes have been made.

Conclusion

Once again, you can head over here if you'd like to get started with helping. I hope to see you there soon and I can't wait to get more languages supported.

If you'd like to discuss anything related to the translations or FreeTube, the best way to do so is over in our Matrix Community. You can also find me on Mastodon and Reddit.

Take care!