How to do translations?

Greetings.

I am developing a GTK4+Adwaita (gtk-rs and Relm4) application and was wondering about how to do internalization “the GNOME” way (GNOME Circle and things like that)?

Where can I read more about this? I could find anything on the internet, unfortunately.

Hi! GNOME uses the gettext library to handle translations. Since you’re using Rust, you’ll want to look into the Rust bindings. Translation files should be put in the /po subdirectory of your project’s repository. Installation of translation files into proper places during build is handled by the build system. I recommend finding existing apps and see what they’re doing, that’s the fastest way to get your head around it :slightly_smiling_face:

It’s not uncommon to connect projects to an external translation website to easen the submission process. GNOME Circle apps can enroll on GNOME’s in-house platform, while non-Circle apps tend to use Weblate.

2 Likes

I guess this answers it for me! Thank you for such a detailed explanation :heart: