automatically select proper download file based on accept-language header
This commit is contained in:
parent
8db88973cc
commit
8fc99fc639
3 changed files with 23 additions and 3 deletions
|
|
@ -12,3 +12,4 @@ TODO
|
|||
- [ ] help page
|
||||
- [ ] setup travis for generate_downloads.rb
|
||||
- [ ] update header to latest version (different logo)
|
||||
- [ ] deploy accounts, and update url to accounts production in download.js
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ layout: default
|
|||
<label class="language-select">
|
||||
<select>
|
||||
{% for language in page.files %}
|
||||
<option value="{{ language[1] }}">
|
||||
<option value="{{ language[1] }}" data-locale={{ language[0] }}>
|
||||
{% case language[0] %}
|
||||
{% when 'en' %}
|
||||
ENGLISH
|
||||
|
|
|
|||
|
|
@ -1,8 +1,27 @@
|
|||
document.addEventListener('DOMContentLoaded',function() {
|
||||
var languageSelect = document.querySelector(".language-select select");
|
||||
languageSelect.onchange=languageSelectHandler;
|
||||
languageSelect.onchange = languageSelectHandler;
|
||||
|
||||
var script = document.createElement('script');
|
||||
script.src = '//accounts.adafruit.vm/users/locale?callback=setLocale';
|
||||
document.head.appendChild(script);
|
||||
|
||||
},false);
|
||||
|
||||
function languageSelectHandler(event) {
|
||||
document.querySelector(".download-button").href = event.target.value;
|
||||
var languageSelect = document.querySelector(".language-select select");
|
||||
document.querySelector(".download-button").href = languageSelect.value;
|
||||
}
|
||||
|
||||
function setLocale(response) {
|
||||
var languages = response.languages.join(' ')
|
||||
var languageSelect = document.querySelector(".language-select select");
|
||||
var options = languageSelect.options;
|
||||
|
||||
for (var i = 0; i < options.length; i++) {
|
||||
if (languages.includes(options[i].dataset.locale)) {
|
||||
options[i].selected = true;
|
||||
languageSelect.onchange();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue