Localization with GNU Gettext

Powerful localization management tool for GNU Gettext developers

Why Crowdin?

If you have the application that uses GetText ready for localization, keep reading. Crowdin is perfect for GetText file translations and integration translated content into development cycle.

Centralize in the cloud

All the translation resources, comments and issues about them are stored under the same roof with complete accessibility from any device and place.

Synchronize with your code

Our restful API and synchronization tool allows to localize continually and get updates of translated files into your code directly and automatically.

Stay secure

Enjoy role-based permissions, SSL encryption, Amazon AWS servers and more. Ensure brand protection and control over your localization project with Crowdin.

GNU gettext Primarily  Localization Benefits

How it works

Project management

Crowdin has smart search, advanced filtering options, and task management dashboard to help with issues management. Keep better track of tasks, manage new localization texts across team, and assign team members to run different responsibilities.

Social localization

Keeping up with everything is easy with Crowdin. Follow projects activity and conversations, reach out with a quick @mention in comments and check out language discussions to see what everyone has been up to.

In-context localization

Crowdin In-Context provides an overlay for web applications to localize in line on the real product. The translations are achieved via minimized Crowdin translation page with all the functionalities (proofread mode, vote option, comments, terms, etc.).

Choose right tools

GNU Gettext localization: quick start

GNU Gettext localization: quick start

Localization with GNU gettext framework involves few steps:

  • Wrap each translatable element in a GetText function. Wrapping strings into the function allows Gettext return and display translations for the string.
  • Create a .po (Portable Object) file with content for translation. This is a plain text file which contains all the translatable strings (messages) and comments. After the file is translated, it will also include the translation. Pay attention to the structure if the key values and headers. Gettext also support plurals, so it is important to include plural forms into source files as well.

Tip: for better file management you can extract strings from the source code into .pot (Portable Object Template) file (e.g. messages.pot). When you send your template file to Crowdin for translations, change the extension to .po and include the locale (e.g. messages_fr.po).

  • Translate that list to different languages via Crowdin: upload files into the system, invite your translators and download different language packages.

Let's get started!

Expand to new markets with your multilingual product