I've got something for you to try. It might look a little frightening, but I'll explain what every part does.
First the whole command (this is a single line):
cd ~/Applications/The\ Sims\ 4.app/Contents/__Installer/customcomponent/setLocale ; mv -f setLocale.zsh setLocale.zsh_bkp ; cat setLocale.zsh_bkp | sed 's+/Users/\$USER+$HOME+g' > setLocale.zsh ; chmod +x setLocale.zsh
After you do this try to start The Sims 4 again. If it doesn't work at first try to do a repair. Let me know what happens.
What this command is doing: It's actually several commands strung together to make it easier to copy/paste. Each individual command explained:
cd ~/Applications/The\ Sims\ 4.app/Contents/__Installer/customcomponent/setLocale
This command tells Terminal to move the "active" directory to the "setLocale" directory inside The Sims 4's application bundle. If you have moved The Sims 4 to some other location then this path will need to be adjusted to reflect the new location. The semi-colon ( ; ) in the original command above means "once the last command is done do this next command."
mv -f setLocale.zsh setLocale.zsh_bkp
This command renames (or moves, hence "mv") the original script to a new name so that we keep it as a backup. Backups are always a good idea in case we need to undo our changes. 🙂
cat setLocale.zsh_bkp | sed 's+/Users/\$USER+$HOME+g' > setLocale.zsh
This command strings together two commands into one. The "cat" command means "print the contents of the specified files". The Bar character (actually called a "pipe" (|)) means "take the output from the prior command and run that output into the next command.
The "sed" command allows us to replace one string of letters characters (letters, numbers, etc) with a different string. The mashup of letters there means "find the string '/Users/$USER' and replace it with '$HOME'", and finally the ">" means "take the output from the prior command and write it out to a file."
And finally the "chmod" command. This simply makes sure that the modified script is able to be run.
You can check that the change happened as expected by doing something like this:
diff setLocale.zsh_bkp setLocale.zsh
This will output this text:
4c4
< plistDestDir="/Users/$USER/Library/Application Support/Origin/Installer Data"
---
> plistDestDir="$HOME/Library/Application Support/Origin/Installer Data"
What that means is "the first file I looked had this line that is different from the next file I looked at." You can see that the only line that was changed is this one line, and that the change is that "/Users/$USER" has been replaced with "$HOME".