1. Detect the user's browser language settings (likely with "[url removed, login to view] || [url removed, login to view]"). UNLESS! If the user has previously set a preferred language, don't bother detecting language. There's no need.
2. An optional language switcher should exist -- it must be a <select> element in HTML.
2.a. The select list overrides language detection. If the user selects "French" but the browser client is set to "English", go to French and stay in French on all subsequent visits. Use a cookie or local.storage.
3. Five languages should be supported, with more able to be added: English (US, default), Spanish (Spain), French, Japanese, and German.
4. If detecting a language that isn't supported by the website yet, default to English.
* The site is being embedded into an app, so there's no domain other than a local web server. The localized languages for the site are all in the same folder relative to each other:
.../docs/en-us/[url removed, login to view]
.../docs/fr/[url removed, login to view]
.../docs/ja/[url removed, login to view]
.../docs/es-es/[url removed, login to view]
* No requiring changes to existing HTML documents in order for your solution to work, such as asking to modify the <html> element with a specific language attribute. Yes, we'll add the script and the <select> list, but we can't be burdened with making a dozen other tiny changes throughout thousands and thousands of files.
A sample (non-working, but decent starter) project is attached that shows the gist of what's trying to be achieved. Currently, the sample project resolves into a reload loop -- detect language (English), redirect to English page, English page loads, detect language (English), redirect to English page, and so on.
Extra $150 for completing project before 08:00 Wednesday, April 25, Mountain Daylight Time. Roughly 8 hours from now.
19 freelancers are bidding on average $444 for this job