@@ -334,11 +334,27 @@ done
334334# internationalized messages
335335# ###########################################
336336
337- LANG=$( defaults read -g AppleLocale)
338- stub_logger " [Language] $LANG "
337+ # supported languages / available translations
338+ stubLanguages=(" fr" " de" " zh" " es" " en" )
339+
340+ # read user preferred languages as defined in macOS System Preferences (#101)
341+ stub_logger ' [LanguageSearch] Checking preferred languages ...'
342+ appleLanguages=($( defaults read -g AppleLanguages | grep ' \s"' | tr -d ' ,' | xargs) )
343+
344+ language=" "
345+ for i in " ${appleLanguages[@]} "
346+ do
347+ langValue=" ${i% -* } "
348+ stub_logger " [LanguageSearch] ... found '$i ' (as '$langValue ')"
349+ if [ -z " ${language} " ] && [[ " ${stubLanguages[@]} " =~ " ${langValue} " ]]; then
350+ stub_logger " [LanguageSearch] ... ... which has been set as the default language for the launcher stub"
351+ language=${langValue}
352+ fi
353+ done
354+ stub_logger " [Language] $language "
339355
340356# French localization
341- if [[ $LANG == fr * ]] ; then
357+ if [[ " $language " == " fr " ]] ; then
342358MSG_ERROR_LAUNCHING=" ERREUR au lancement de '${CFBundleName} '."
343359MSG_MISSING_MAINCLASS=" 'MainClass' n'est pas spécifié.\nL'application Java ne peut pas être lancée."
344360MSG_JVMVERSION_REQ_INVALID=" La syntaxe de la version de Java demandée est invalide: %s\nVeuillez contacter le développeur de l'application."
@@ -353,7 +369,7 @@ if [[ $LANG == fr* ]] ; then
353369MSG_VISIT_ADOPTOPENJDK=" Java by AdoptOpenJDK"
354370
355371# German localization
356- elif [[ $LANG == de * ]] ; then
372+ elif [[ " $language " == " de " ]] ; then
357373MSG_ERROR_LAUNCHING=" FEHLER beim Starten von '${CFBundleName} '."
358374MSG_MISSING_MAINCLASS=" Die 'MainClass' ist nicht spezifiziert!\nDie Java-Anwendung kann nicht gestartet werden!"
359375MSG_JVMVERSION_REQ_INVALID=" Die Syntax der angeforderten Java-Version ist ungültig: %s\nBitte kontaktieren Sie den Entwickler der App."
@@ -368,7 +384,7 @@ elif [[ $LANG == de* ]] ; then
368384MSG_VISIT_ADOPTOPENJDK=" Java von AdoptOpenJDK"
369385
370386# Simplifyed Chinese localization
371- elif [[ $LANG == zh * ]] ; then
387+ elif [[ " $language " == " zh " ]] ; then
372388MSG_ERROR_LAUNCHING=" 无法启动 '${CFBundleName} '."
373389MSG_MISSING_MAINCLASS=" 没有指定 'MainClass'!\nJava程序无法启动!"
374390MSG_JVMVERSION_REQ_INVALID=" Java版本参数语法错误: %s\n请联系该应用的开发者。"
@@ -383,7 +399,7 @@ elif [[ $LANG == zh* ]] ; then
383399MSG_VISIT_ADOPTOPENJDK=" Java by AdoptOpenJDK"
384400
385401# Spanish localization
386- elif [[ $LANG == es * ]] ; then
402+ elif [[ " $language " == " es " ]] ; then
387403MSG_ERROR_LAUNCHING=" ERROR iniciando '${CFBundleName} '."
388404MSG_MISSING_MAINCLASS=" ¡'MainClass' no especificada!\n¡La aplicación Java no puede iniciarse!"
389405MSG_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."
0 commit comments