1111# #
1212# @author Tobias Fischer #
1313# @url https://github.com/tofi86/universalJavaApplicationStub #
14- # @date 2021-02-03 #
14+ # @date 2021-02-20 #
1515# @version 3.1.1-beta #
1616# #
1717# #################################################################################
@@ -335,26 +335,33 @@ done
335335# ###########################################
336336
337337# supported languages / available translations
338- stubLanguages=( " fr " " de " " zh " " es " " en " )
338+ stubLanguages=" ^(fr|de|zh|es|en)- "
339339
340340# read user preferred languages as defined in macOS System Preferences (#101)
341- stub_logger ' [LanguageSearch] Checking preferred languages ...'
341+ stub_logger ' [LanguageSearch] Checking preferred languages in macOS System Preferences ...'
342342appleLanguages=($( defaults read -g AppleLanguages | grep ' \s"' | tr -d ' ,' | xargs) )
343+ stub_logger " [LanguageSearch] ... found [${appleLanguages[*]} ]"
343344
344345language=" "
345346for i in " ${appleLanguages[@]} "
346347do
347348 langValue=" ${i% -* } "
348- stub_logger " [LanguageSearch] ... found '$i ' (as '$langValue ')"
349- if [ -z " ${language} " ] && grep -q ${langValue} <<< " ${stubLanguages[@]}" ; then
350- stub_logger " [LanguageSearch] ... ... which has been set as the default language for the launcher stub"
349+ if [[ " $i " =~ $stubLanguages ]]; then
350+ stub_logger " [LanguageSearch] ... selected '$i ' ('$langValue ') as the default language for the launcher stub"
351351 language=${langValue}
352+ break
352353 fi
353354done
355+ if [ -z " ${language} " ]; then
356+ language=" en"
357+ stub_logger " [LanguageSearch] ... selected fallback 'en' as the default language for the launcher stub"
358+ fi
354359stub_logger " [Language] $language "
355360
356- # French localization
357- if [[ " $language " == " fr" ]] ; then
361+
362+ case " ${language} " in
363+ # French
364+ fr)
358365 MSG_ERROR_LAUNCHING=" ERREUR au lancement de '${CFBundleName} '."
359366 MSG_MISSING_MAINCLASS=" 'MainClass' n'est pas spécifié.\nL'application Java ne peut pas être lancée."
360367 MSG_JVMVERSION_REQ_INVALID=" La syntaxe de la version de Java demandée est invalide: %s\nVeuillez contacter le développeur de l'application."
@@ -367,9 +374,10 @@ if [[ "$language" == "fr" ]] ; then
367374 MSG_LATER=" Plus tard"
368375 MSG_VISIT_JAVA_DOT_COM=" Java by Oracle"
369376 MSG_VISIT_ADOPTOPENJDK=" Java by AdoptOpenJDK"
377+ ;;
370378
371- # German localization
372- elif [[ " $language " == " de " ]] ; then
379+ # German
380+ de)
373381 MSG_ERROR_LAUNCHING=" FEHLER beim Starten von '${CFBundleName} '."
374382 MSG_MISSING_MAINCLASS=" Die 'MainClass' ist nicht spezifiziert!\nDie Java-Anwendung kann nicht gestartet werden!"
375383 MSG_JVMVERSION_REQ_INVALID=" Die Syntax der angeforderten Java-Version ist ungültig: %s\nBitte kontaktieren Sie den Entwickler der App."
@@ -382,9 +390,10 @@ elif [[ "$language" == "de" ]] ; then
382390 MSG_LATER=" Später"
383391 MSG_VISIT_JAVA_DOT_COM=" Java von Oracle"
384392 MSG_VISIT_ADOPTOPENJDK=" Java von AdoptOpenJDK"
393+ ;;
385394
386- # Simplifyed Chinese localization
387- elif [[ " $language " == " zh " ]] ; then
395+ # Simplified Chinese
396+ zh)
388397 MSG_ERROR_LAUNCHING=" 无法启动 '${CFBundleName} '."
389398 MSG_MISSING_MAINCLASS=" 没有指定 'MainClass'!\nJava程序无法启动!"
390399 MSG_JVMVERSION_REQ_INVALID=" Java版本参数语法错误: %s\n请联系该应用的开发者。"
@@ -397,9 +406,10 @@ elif [[ "$language" == "zh" ]] ; then
397406 MSG_LATER=" 稍后"
398407 MSG_VISIT_JAVA_DOT_COM=" Java by Oracle"
399408 MSG_VISIT_ADOPTOPENJDK=" Java by AdoptOpenJDK"
409+ ;;
400410
401- # Spanish localization
402- elif [[ " $language " == " es " ]] ; then
411+ # Spanish
412+ es)
403413 MSG_ERROR_LAUNCHING=" ERROR iniciando '${CFBundleName} '."
404414 MSG_MISSING_MAINCLASS=" ¡'MainClass' no especificada!\n¡La aplicación Java no puede iniciarse!"
405415 MSG_JVMVERSION_REQ_INVALID=" La sintaxis de la versión Java requerida no es válida: %s\nPor favor, contacte con el desarrollador de la aplicación."
@@ -412,9 +422,10 @@ elif [[ "$language" == "es" ]] ; then
412422 MSG_LATER=" Más tarde"
413423 MSG_VISIT_JAVA_DOT_COM=" Java de Oracle"
414424 MSG_VISIT_ADOPTOPENJDK=" Java de AdoptOpenJDK"
425+ ;;
415426
416- # English default localization
417- else
427+ # English | default
428+ en| * )
418429 MSG_ERROR_LAUNCHING=" ERROR launching '${CFBundleName} '."
419430 MSG_MISSING_MAINCLASS=" 'MainClass' isn't specified!\nJava application cannot be started!"
420431 MSG_JVMVERSION_REQ_INVALID=" The syntax of the required Java version is invalid: %s\nPlease contact the App developer."
427438 MSG_LATER=" Later"
428439 MSG_VISIT_JAVA_DOT_COM=" Java by Oracle"
429440 MSG_VISIT_ADOPTOPENJDK=" Java by AdoptOpenJDK"
430- fi
441+ ;;
442+ esac
431443
432444
433445
0 commit comments