At first, I simply implemented 1. Custom Resource Provider which reads browser preference only but tricky customers wanted 2. Toggle Languages function. I used Cookie and Database for each user's localization data store and I described here how it's implemented.
* Click images below to see larger ones.
1. Custom Resource Provder

2. SharePoint Localization to support a toggle function for two languages
