The current situation about translating FreePBX is somewhat difficult. A proposal from me is to do a small rewrite of the code to be able to do a translation without a new submission of a module. The attached file is the blacklist module with my suggestion and language files.
Instead of having the English text in the module you replace that with a label. Today it is like _("Some text") but in the future it should be like _DEFINEDLABEL. In a separate file called en_US.php you have the text like this:
<?php
// English text
define("_BLACKLISTENTRY","Blacklist entry");
define("_BLACKLISTDELETED","deleted");
.
.
?>
And in the module you have a line like this:
include_once("en_US.php");
Or get the definitions from the cookie set by language.
To translate to another language all you have to do is to copy the en_US.php file to for example se_SV.php and then translate all text in that file.
<?php
// Swedish text
define("_BLACKLISTENTRY","Svartlistade nummer");
define("_BLACKLISTDELETED","raderad");
.
.
?>
By doing this you can easy translate all text without change anything in the module code. If you add some new text with a new label, that label could easily be added to all other languages. If a label is missing from a language file it will simply print the label on the page, and you can easy see what labels are missing from the language file.
I hope that my suggestion make sense.
I have attached the blacklist module file together with the English and Swedish file for you to test out.