Parcourir la source

Fix install.php script (choice of lang)

Fix a bug in Minz_Translate too
Marien Fressinaud il y a 11 ans
Parent
commit
85ea5e548a
2 fichiers modifiés avec 13 ajouts et 14 suppressions
  1. 12 13
      app/install.php
  2. 1 1
      lib/Minz/Translate.php

+ 12 - 13
app/install.php

@@ -43,21 +43,18 @@ function param($key, $default = false) {
 
 // gestion internationalisation
 function initTranslate() {
-	$available_languages = array(
-		'en' => 'English',
-		'fr' => 'Français'
-	);
+	Minz_Translate::init();
+	$available_languages = Minz_Translate::availableLanguages();
 
 	if (!isset($_SESSION['language'])) {
-		$best = get_best_language();
-		if (!isset($available_languages[$best])) {
-			$best = 'en';
-		}
+		$_SESSION['language'] = get_best_language();
+	}
 
-		$_SESSION['language'] = $best;
+	if (!in_array($_SESSION['language'], $available_languages)) {
+		$_SESSION['language'] = 'en';
 	}
 
-	Minz_Translate::init($_SESSION['language']);
+	Minz_Translate::reset($_SESSION['language']);
 }
 
 function get_best_language() {
@@ -254,7 +251,7 @@ function checkStep() {
 function checkStep0() {
 	$languages = Minz_Translate::availableLanguages();
 	$language = isset($_SESSION['language']) &&
-	            isset($languages[$_SESSION['language']]);
+	            in_array($_SESSION['language'], $languages);
 
 	return array(
 		'language' => $language ? 'ok' : 'ko',
@@ -429,8 +426,10 @@ function printStep0() {
 			<label class="group-name" for="language"><?php echo _t('install.language'); ?></label>
 			<div class="group-controls">
 				<select name="language" id="language">
-				<?php foreach ($languages as $short => $lib) { ?>
-				<option value="<?php echo $short; ?>"<?php echo $actual == $short ? ' selected="selected"' : ''; ?>><?php echo $lib; ?></option>
+				<?php foreach ($languages as $lang) { ?>
+				<option value="<?php echo $lang; ?>"<?php echo $actual == $lang ? ' selected="selected"' : ''; ?>>
+					<?php echo _t('gen.lang.' . $lang); ?>
+				</option>
 				<?php } ?>
 				</select>
 			</div>

+ 1 - 1
lib/Minz/Translate.php

@@ -49,7 +49,7 @@ class Minz_Translate {
 		self::$lang_name = $lang_name;
 		self::$lang_files = array();
 		self::$translates = array();
-		foreach ($path_list as $path) {
+		foreach (self::$path_list as $path) {
 			self::loadLang($path);
 		}
 	}