Language selection at first startup

Issue #143 closed
timothy perfitt created an issue

Each time, this online recovery is in English by default. If I restore the macbook with this "official" reinstallation method, without choosing the language in the recovery environment, I get the same problem ! So you're right !

But in this environment in "manual mode" (without Automaton), I can choose another language, and the installation continues in the desired language. This is not the case with Automaton !

For me, this is not a problem if the MDS's workflow is in English. What is important is that the MacOS will be configured in French by default, or the language is requested during the wizard at the first start.

I imagine two or three possibilities: - tell the Automaton config to change the language - a script in the MDS workflow that defines the default language of the system - a configuration variable for the Setup Assistant ?!

Comments (5)

  1. Sylvain La Gravière

    You can use this command in a bash script to set language to French : languagesetup -langspec fr

  2. Louis Decherf

    You can use also this script to change region and language at the same time. By executing it after macos install, this is working with no problem with me. Don't change the setup language but directly in the user settings

    #!/bin/sh
    
    # Created by Amsys
    #
    # Use at your own risk.  Amsys will accept
    # no responsibility for loss or damage
    # caused by this script.
    #
    # Requires 10.10 or higher.
    
    ###############
    ## variables ##
    ###############
    
    # Make sure to change these variables
    LANG="fr"                                     # macOS language
    REGION="fr_FR"                                # macOS region
    
    #### These variables can be left alone
    PLBUDDY=/usr/libexec/PlistBuddy
    SW_VERS=$(sw_vers -productVersion)
    BUILD_VERS=$(sw_vers -buildVersion)
    ARD="/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart"
    CRASHREPORTER_SUPPORT="/Library/Application Support/CrashReporter"
    CRASHREPORTER_DIAG_PLIST="${CRASHREPORTER_SUPPORT}/DiagnosticMessagesHistory.plist"
    
    #############################################
    ######## Do not edit below this line ########
    #############################################
    
    ###############
    ## functions ##
    ###############
    
    update_language() {
      ${PLBUDDY} -c "Delete :AppleLanguages" "${1}" &>/dev/null
      if [ ${?} -eq 0 ]
      then
        ${PLBUDDY} -c "Add :AppleLanguages array" "${1}"
        ${PLBUDDY} -c "Add :AppleLanguages:0 string '${LANG}'" "${1}"
      fi
    }
    
    update_region() {
      ${PLBUDDY} -c "Delete :AppleLocale" "${1}" &>/dev/null
      ${PLBUDDY} -c "Add :AppleLocale string ${REGION}" "${1}" &>/dev/null
      ${PLBUDDY} -c "Delete :Country" "${1}" &>/dev/null
      ${PLBUDDY} -c "Add :Country string ${REGION:3:2}" "${1}" &>/dev/null
    }
    
    ################
    #### Script ####
    ################
    
    # Set the computer language
    update_language "/Library/Preferences/.GlobalPreferences.plist" "${LANG}"
    
    for HOME in /Users/*
      do
        if [ -d "${HOME}"/Library/Preferences ]
        then
          cd "${HOME}"/Library/Preferences
          GLOBALPREFERENCES_FILES=`find . -name "\.GlobalPreferences.*plist"`
          for GLOBALPREFERENCES_FILE in ${GLOBALPREFERENCES_FILES}
          do
            update_language "${GLOBALPREFERENCES_FILE}" "${LANG}"
          done
        fi
    done
    
    # Set the region
    update_region "/Library/Preferences/.GlobalPreferences.plist" "${REGION}"
    
    for HOME in /Users/*
      do
        if [ -d "${HOME}"/Library/Preferences ]
        then
          cd "${HOME}"/Library/Preferences
          GLOBALPREFERENCES_FILES=`find . -name "\.GlobalPreferences.*plist"`
          for GLOBALPREFERENCES_FILE in ${GLOBALPREFERENCES_FILES}
          do
            update_region "${GLOBALPREFERENCES_FILE}" "${REGION}"
          done
        fi
    done
    
    
    
    # Set the time zone to Paris
    /usr/sbin/systemsetup -settimezone "Europe/Paris"
    
    # Enable network time servers
    /usr/sbin/systemsetup -setusingnetworktime on
    
    # Configure a specific NTP server
    /usr/sbin/systemsetup -setnetworktimeserver "time.euro.apple.com"
    
    
    exit 0
    
  3. pexner

    @timothy perfitt Could you please bundle this script inside the MDS diskimage in: Documentation/SampleScriptsAndResources ?

  4. Log in to comment