Hi,
Thank you for your continued investigation.
I performed some additional debugging and found what appears to be the key difference.
The language bundle itself is generated correctly. When I open:
ajax.php/i18n/no/js
directly in the browser, I can see that it contains:
datepicker.regional.no = { ... }
as well as the translated $.oststrings definitions. This confirms that the Norwegian language pack itself is not missing the Datepicker translations.
However, on the actual staff pages:
Object.keys($.datepicker.regional)
returns:
["", "en", "en-US"]
and:
$.datepicker.regional.no
returns
undefined
I also verified that the language bundle is not being loaded into the page:
document.querySelector('script[src*="i18n"]')
returns
null
Looking at include/staff/footer.inc.php, the language bundle appears to be loaded only when:
$thisstaff->getLanguage()
returns a value:
if ($thisstaff
&& ($lang = $thisstaff->getLanguage())
&& 0 !== strcasecmp($lang, 'en_US'))
This made me wonder whether the value stored in ost_staff.lang might affect whether ajax.php/i18n/<lang>/js is included in the rendered page.
For reference, I have now reproduced the same behavior on:
using fresh installations and fresh Norwegian language pack.
Could you please check on your working installation:
Whether the page source includes: ajax.php/i18n/no/js>?
What the following returns in the browser console: Object.keys($.datepicker.regional) ?
Whether your staff account has a language value explicitly set in the ost_staff.lang column?
At this point, it looks like the localization bundle is generated correctly, but is not being injected into the page on my installations.
Thanks again for your help.
Kind regards,
Pritam Lal Shrestha