Browse Source

Update Language.php

inoas 8 years ago
parent
commit
ab4dc85591
1 changed files with 10 additions and 12 deletions
  1. 10 12
      src/Utility/Language.php

+ 10 - 12
src/Utility/Language.php

@@ -8,23 +8,21 @@ namespace Tools\Utility;
 class Language {
 
 	/**
-	 * @param string|null $languageList List of language codes or locales codes.
-	 * @param array|bool|null $options Flags to forceAllLowerCase or keepDuplicates.
-	 *        @deprecated: Set to true/false to toggle forceAllLowerCase
-	 * @param bool $keepDuplicates Flag to keep or discard duplicates, defaults to keep.
+	 * @param string|null $languageList List of locales/language codes.
+	 * @param array|bool|null $options Flags to forceLowercase or removeDuplicates locales/language codes
+	 *        @deprecated: Set to true/false to toggle lowercase
 	 *
 	 * @return array
 	 */
-	public static function parseLanguageList($languageList = null, Array $options = []) {
+	public static function parseLanguageList($languageList = null, array $options = []) {
 		$defaultOptions = [
-			'forceAllLowerCase' => true,
-			'keepDuplicates' => true,
+			'forceLowercase' => true,
+			'removeDuplicates' => false,
 		];
 		if (!is_array($options)) {
-			$options = $defaultOptions + ['forceAllLowerCase' => $options];
-		} else {
-			$options = $defaultOptions + $options;
+			$options = ['lowercase' => $options];
 		}
+		$options += $defaultOptions;
 
 		if ($languageList === null) {
 			if (empty(env('HTTP_ACCEPT_LANGUAGE'))) {
@@ -51,7 +49,7 @@ class Language {
 				}
 
 				$language = $match[1];
-				if ($options['forceAllLowerCase']) {
+				if ($options['forceLowercase']) {
 					$language = strtolower($language);
 				} else {
 					$language = substr_replace($language, strtolower(substr($language, 0, 2)), 0, 2);
@@ -60,7 +58,7 @@ class Language {
 					}
 				}
 
-				if ($options['keepDuplicates']) {
+				if ($options['removeDuplicates']) {
 					$languages[$rank][] = $language;
 				} else {
 					if (array_key_exists($language, $languagesRanks) === false) {