}
if ($this->_isFieldSelected('params')) {
$this->_actions[$actionName]['params'] = $action->getParamInfo();
- // Language param is only relevant on multilingual sites
- $languageLimit = (array) \Civi::settings()->get('languageLimit');
- if (count($languageLimit) < 2) {
- unset($this->_actions[$actionName]['params']['language']);
- }
- elseif (isset($this->_actions[$actionName]['params']['language'])) {
- $this->_actions[$actionName]['params']['language']['options'] = array_keys($languageLimit);
- }
}
}
}
* by `Civi\Core\Locale::negotiate($preferredLanguage)`.
*
* @var string
- * @optionsCallback getPreferredLanguageOptions
+ * @optionsCallback getLanguageOptions
*/
protected $language;
*
* @return array
*/
- protected function getPreferredLanguageOptions(): array {
+ protected function getLanguageOptions(): array {
$languages = \CRM_Contact_BAO_Contact::buildOptions('preferred_language');
ksort($languages);
- return array_keys($languages);
+ $result = array_keys($languages);
+ if (!\Civi::settings()->get('partial_locales')) {
+ $uiLanguages = \CRM_Core_I18n::uiLanguages(TRUE);
+ $result = array_values(array_intersect($result, $uiLanguages));
+ }
+ return $result;
}
}