Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.
/ gdgettext Public archive

The `gdgettext` program extracts translatable strings from given Godot input files.

License

Notifications You must be signed in to change notification settings

mrombout/gdgettext

Repository files navigation

gdtexttext

Important

Since Godot 4.0, the editor can generate a PO template automatically from specified scene and GDscript files. See Automatic generation using the editor for more information. You don't need gdgettext anymore.

Actions Status Go Report Card

The gdgettext program extracts translatable strings from given Godot input files. It is meant as an alternative for xgettext specifically for games using Godot Engine.

Currently it extracts translatable strings using the following rules:

  • .tscn - every text parameter being set
  • .gd - every call to tr()

Installation

$ go get github.com/mrombout/gdgettext

Usage

$ gdgettext [option] [inputfile]...

Options

-o file
--output=file
    Write output to specified file (instead of `messages.po`).

Poedit

Open Poedit Preferences and add a new extractor in the Extractors tab and enter the following settings:

Setting Value
Language Godot
List of extensions separated by semicolons (e.g. .cpp;.h) ‪*.gd;*.tscn
Command to extract translations ‪gdgettext -o %o %F
An item in input files list %f

Then create a new .po file and press Extract from sources and set the root of your Godot project as the Base path and add paths containing the translatable strings to the Paths section.

After this Poedit will use gdgettext to extract all translatable strings and you can start editing the .po file using Poedit.

Godot

Use tr() in your .gd files or set the text attributes on the Controls in your scene (e.g. Button) to make strings translatable.

Using poedit gdgettext parses all your .tscn and .gd files and creates a .po file containing all translatable strings.

Now use poedit to translate all translatable string to your desired messages.

You can also create new translation files from the .po files for each language you want to support. For each language you generally create a .po file using the language code as the file name (e.g. nl.po, en.po, no.po, ja.po).

Load all .po files in your Godot project settings.

About

The `gdgettext` program extracts translatable strings from given Godot input files.

Topics

Resources

License

Stars

Watchers

Forks