There are a couple of approaches that come to mind:
GET. I.e. something like www.domain.com, www.domain.com/lang/de
Session.
Database.
I am curious what is an industry standard in this area.
There are a couple of approaches that come to mind:
GET. I.e. something like www.domain.com, www.domain.com/lang/de
Session.
Database.
I am curious what is an industry standard in this area.
You could change de default application locale in the bootstrap based on the value stored in a session. This way you get more flexibility if you want to add a new language, you just have to create a new translation file if all of you code is built based on the user local. This will also ease the date/time and money display process since those are also based on the locale.
french locale ie : fr_FR or fr_CA (for french France of french Canada) english locale id : en_US or en_UK (for english United States or english United Kindom)
and then if you have to display money, the local will set the good money symbol (but won't do the price conversion) (ie fr_FR -> € and fr_CA -> $)
You could base the default language selection based on the geolocation of the user based on his IP address