my settings in _config.php are:
Object::add_extension('SiteTree', 'Translatable');
Translatable::set_default_locale('de_AT');
Translatable::set_allowed_locales(array('de_AT', 'en_GB'));
so i have explicitely defined the "allowed" languges; i am wondering Kalileo that you cannot reproduce my described steps:
1.) added the user "EnglishTranslator" and given the group the permission to edit site content and to translate to english ('TRANSLATE_en_GB');
2.) logging in with that user shows the german sitetree but in the dropdown is just "English (United Kingdom)" displayed, so the "wrong" language is displayed for the current sitetree; navigating through the german sitetree is also not possible because ajax is missing the locale from the dropdown;
Kalileo, if you reproduce these steps you see in in the language dropdown of the sitetree still the german language (you are also using SS 2.3.3, isn´t it)? with the code of Ingo it shouldn´t be because in this foreach loop in LanguageDropdownField.php
foreach($usedLocalesWithTitle as $locale => $localeTitle) {
if($instance && !$instance->canTranslate(null, $locale)) {
unset($usedLocalesWithTitle[$locale]);
}
}
can_Translate will return false for "de_AT" locale and so it is removed from the $usedLocalesWithTitle array, if the user has just the permisision-code TRANSLATE_en_GB as in my testcase above defined;