2 declare(strict_types = 1);
39 $languageId = (int)($config[
'sys_language_uid'] ?? 0);
40 $fallbacks = GeneralUtility::trimExplode(
';', $config[
'sys_language_mode'] ??
'');
42 if (isset($fallbacks[0])) {
43 $fallbackMode = $fallbacks[0];
45 $fallbackOrder =
null;
46 if (isset($fallbacks[1])) {
47 $fallbackOrder = $fallbacks[1];
51 switch ($fallbackMode) {
57 $fallBackOrder = [-1];
60 case 'content_fallback':
61 if (!empty($fallbackOrder)) {
62 $fallBackOrder = GeneralUtility::trimExplode(
',', $fallbackOrder);
64 if (!in_array(0, $fallBackOrder) && !in_array(
'pageNotFound', $fallBackOrder)) {
65 $fallBackOrder[] =
'pageNotFound';
72 $fallBackOrder = [
'off'];
79 switch ((
string)($config[
'sys_language_overlay'] ??
'')) {
86 case 'hideNonTranslated':
93 return GeneralUtility::makeInstance(LanguageAspect::class, $languageId, $languageId, $overlayType, $fallBackOrder);
107 $fallbackOrder[] =
'pageNotFound';
108 switch ($fallbackType) {
128 $fallbackOrder = [0];
132 return GeneralUtility::makeInstance(LanguageAspect::class, $languageId, $languageId, $overlayType, $fallbackOrder);