I am currently evaluating something similar, for some users I want some texts to be differently translated. And I also ran into the problem to not be able to create a custom locale value.
Tough what I found out in my tests seems to solve/work around the problem.
See also here: Combining multiple translation sources
What I am doing is to just add a custom translation to my default ones.
$translateDef = new Zend_Translate(
array(
'adapter' => 'gettext',
'content' => 'locale/default/',
'locale' => 'auto',
'scan' => Zend_Translate::LOCALE_DIRECTORY
)
);
$translateCust = new Zend_Translate(
array(
'adapter' => 'gettext',
'content' => 'locale/custom/',
'locale' => 'auto',
'scan' => Zend_Translate::LOCALE_DIRECTORY
)
);
$translateDef->addTranslation(array(
'content' => $translateCust
)
);
And the folder structure looks like this:
locale/
default/
de
en
custom/
de
en
So when doing the addTranslation
it seems to overvwrites the existing ones, so for your new users, you could add custom folder with the proper translations.
For my tests this worked so far, but haven't evaluated it in depth yet.