Translations live here.

The text domain is "bitforgenet-guest-tickets". Six languages travel with the plugin: English —
which is the source and needs no file — French, Spanish, Portuguese, German and
Arabic. Each is a pair: a .po that a person can read and edit, and a .mo that
gettext can read quickly.

Rebuilding the template after changing any string:

    php tools/i18n/makepot.php

That reads every PHP file with PHP's own tokeniser and writes bitforgenet-guest-tickets.pot. It
does the job wp-cli's `wp i18n make-pot` does, and exists so that the template
can be rebuilt on a machine that has no wp-cli on it.

A .po edited by hand has to be compiled before WordPress will read it. There is
no msgfmt on every machine, so the build script in tools/i18n compiles them too.

Which language the plugin speaks is not decided here. BFNET_I18n resolves it --
from the site, or from the setting under Settings -> Language -- and falls back
to French for any site whose language the plugin does not have. See
includes/class-bfnet-i18n.php, which says why.

A note on the public build: WordPress loads a language pack from
translate.wordpress.org before it loads the file in this folder, and the first
one loaded wins. That is the order we want. A translator's work always beats
ours, and these files are what a site reads until there is any.
