We saw this problem on a site with multiple opaclanguages selected, all notices were defaulting to arabic template and printed as RTL.
The cronjob gets the template which calls C4::Languages::getlanguage()
The interface is read as 'opac' and no language is selected (no cookie, etc.)
We eventually grab the first from the pref (bug 10560)
The languages in the pref are loaded randomly into the admin view, try searching for 'opaclanguages' a few times or refreshing page, the order is random.
Uncheck and recheck a language and save, note the pref is filled in the display order
Run gather_print_notices.pl with different languages as first in the pref, note that a different template is used for each.
I think the solution is just to allow for passing a specified language to the cron.
Hm, should it not use the setting from the patron record? And as a fallback the language added to the default section of notices?
Default isn't defined anywhere though, it just means to use the notices marked as default, and we don't have that for print notices. We could also add a syspref for 'DefaultLanguage', or just a checkbox when selecting languages to specify one as the default and force that to be saved first in the pref
Hm, will take another look at the GUI tonight - we don't have the version yet with multi-lang notices.
I think bug 20115 will answer your need, could you confirm?
*** This bug has been marked as a duplicate of bug 20115 ***