diff --git a/forms/LanguageDropdownField.php b/forms/LanguageDropdownField.php index c9d680b8a..c2ef796cf 100755 --- a/forms/LanguageDropdownField.php +++ b/forms/LanguageDropdownField.php @@ -35,11 +35,21 @@ class LanguageDropdownField extends GroupedDropdownField { ($allowedLocales && !in_array($locale, $allowedLocales)) || ($excludeLocales && in_array($locale, $excludeLocales)) || ($usedLocalesWithTitle && array_key_exists($locale, $usedLocalesWithTitle)) - || ($instance && !$instance->canTranslate(null, $locale)) ) { unset($allLocalesWithTitle[$locale]); } } + // instance specific permissions + foreach($allLocalesWithTitle as $locale => $localeTitle) { + if($instance && !$instance->canTranslate(null, $locale)) { + unset($allLocalesWithTitle[$locale]); + } + } + foreach($usedLocalesWithTitle as $locale => $localeTitle) { + if($instance && !$instance->canTranslate(null, $locale)) { + unset($usedLocalesWithTitle[$locale]); + } + } // Sort by title (array value) asort($allLocalesWithTitle);