I'm having a weird problem or maybe i failed to understand how Grails i18n mechanism works.

I inserted the following to my index.gsp file:

```
LocaleContextHolder.locale:              '${org.springframework.context.i18n.LocaleContextHolder.locale}'
java.util.Locale.getDefault():           '${java.util.Locale.getDefault()}'
RequestContextUtils.getLocale(request):  '${org.springframework.web.servlet.support.RequestContextUtils.getLocale(request)}'
session['SessionLocaleResolver.LOCALE']: '${session['org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE']}'

```

This code snippet should print the Locale, and it does like so:

> 
> LocaleContextHolder.locale: 'iw'
> 
> 
> java.util.Locale.getDefault(): 'en\_US'
> 
> 
> RequestContextUtils.getLocale(request): 'iw'
> 
> 
> session['SessionLocaleResolver.LOCALE']: ''
> 
> 
> 

The above is my default output when i run the given code snippet.

I tried to understand what exactly affects this variables so i did the next steps:

1. I changed Chrome's Locale

Settings --> Show advanced settings --> Language and input settings)
2. I changed my operating system's locale (Windows 7)

Control panel --> Region and language --> Format + Location + System locale

After those changes i rebooted my computer and expected the values of the locale variables to change, but they still remain the same.

I'm aware i can change the Locale with the ?lang parameter & with some code, but i'm interested in letting Grails to decide which Locale to pick.

What exactly affects those variables? how does Grails decide the machine's locale?