Skip to content

Commit 64f459a

Browse files
authored
add lang to locales url
1 parent a66cbf8 commit 64f459a

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

front/locale.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,19 @@
6262
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + $max_age));
6363
}
6464

65+
$requested_language = $_GET['lang'] ?? $_SESSION['glpilanguage'];
66+
if (!isset($CFG_GLPI['languages'][$requested_language])) {
67+
// Fallback to default language if requested one is not available
68+
$requested_language = $_SESSION['glpilanguage'];
69+
}
70+
$requested_language = $CFG_GLPI['languages'][$requested_language][1];
6571

6672
// Default response to send if locales cannot be loaded.
6773
// Prevent JS error for plugins that does not provide any translation files
6874
$default_response = json_encode(
6975
[
7076
'' => [
71-
'language' => $CFG_GLPI['languages'][$_SESSION['glpilanguage']][1],
77+
'language' => $requested_language,
7278
'plural-forms' => 'nplurals=2; plural=(n != 1);',
7379
],
7480
]
@@ -90,11 +96,7 @@
9096
}
9197

9298
// Extract headers from main po file
93-
$po_file = GLPI_ROOT . '/locales/' . preg_replace(
94-
'/\.mo$/',
95-
'.po',
96-
$CFG_GLPI['languages'][$_SESSION['glpilanguage']][1]
97-
);
99+
$po_file = GLPI_ROOT . '/locales/' . preg_replace('/\.mo$/', '.po', $requested_language);
98100
$po_file_handle = fopen(
99101
$po_file,
100102
'rb'

src/Glpi/Application/View/Extension/FrontEndAssetsExtension.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ public function localesJs(): string
257257
$locales_path = Html::getPrefixedUrl(
258258
'/front/locale.php'
259259
. '?domain=' . $locale_domain
260+
. '&lang=' . $_SESSION['glpilanguage']
260261
. '&v=' . FrontEnd::getVersionCacheKey($locale_version)
261262
);
262263
$script .= "

0 commit comments

Comments
 (0)