The locale of an ivy session is determined as follows. The first defined locale wins - top down. E.g. if browser language is set, the client OS is ignored:
1. request
2. override
3. ivy (designer simulation settings)
4. browser
5. client OS
For the system session you should be able to refine the locale by using the API that will influence the 'override' locale:
ISession system = ivy.session.getSecurityContext().getSystemUserSession();
system.setFormattingLocale(java.util.Locale.ITALIAN);
system.setContentLocale(java.util.Locale.ITALIAN);
Be aware that you need some maintenance code set these Locales after an engine reboot.
Anyway, what is your use case to refine the system users language? Are you trying to influence the language within Task-Mails? If so, consider to use Axon.ivy 6.4 which will be available around the end of October. We've introduced API to load CMS contents in E-Mail steps with a given language: `<%=ivy.cms.coLocale("myContent/uri", "de_DE") %>`