mirror of
https://github.com/wownero/wownero.org-website.git
synced 2026-10-17 15:21:36 +02:00
add language selector dropdown and fix translation system
Add LANG dropdown to desktop and mobile navbars with all available translations. Use localStorage to persist language choice across page loads. Fix undefined key errors in traduction.js. Handle English selection by clearing stored preference and reloading.
This commit is contained in:
+24
-2
@@ -23,7 +23,7 @@
|
||||
<script src="js/translations/traduction.js"></script>
|
||||
<meta http-equiv="onion-location" content="http://wownero2x67npb3ovmy6efclulrg4bg56jmq5kqaoqzvtxrybqqkchad.onion/" />
|
||||
</head>
|
||||
<body onload="translate(navigator.language)" style="overflow-x: hidden;">
|
||||
<body onload="translate(localStorage.getItem('wowLang') || navigator.language)" style="overflow-x: hidden;">
|
||||
|
||||
<script>
|
||||
AOS.init({
|
||||
@@ -50,7 +50,18 @@
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#wallets" class="myButton" id="walletss">WALLETS</a>
|
||||
</li>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="myButton dropdown-toggle" href="#" id="langDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">LANG</a>
|
||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="langDropdown">
|
||||
<a class="dropdown-item" href="#" onclick="translate('en-US'); return false;">English</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('fr-FR'); return false;">Français</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('it-IT'); return false;">Italiano</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('ru'); return false;">Русский</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('pt-BR'); return false;">Português (BR)</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('pt-PT'); return false;">Português (PT)</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -66,6 +77,17 @@
|
||||
<li class="nav-item">
|
||||
<a href="#wallets" class="myButton-mobile-nav" id="walletss">WALLETS</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="myButton-mobile-nav dropdown-toggle" href="#" id="langDropdownMobile" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">LANG</a>
|
||||
<div class="dropdown-menu" aria-labelledby="langDropdownMobile">
|
||||
<a class="dropdown-item" href="#" onclick="translate('en-US'); return false;">English</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('fr-FR'); return false;">Français</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('it-IT'); return false;">Italiano</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('ru'); return false;">Русский</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('pt-BR'); return false;">Português (BR)</a>
|
||||
<a class="dropdown-item" href="#" onclick="translate('pt-PT'); return false;">Português (PT)</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
async function translate(lang) {
|
||||
if (lang == 'en-US') return;
|
||||
if (lang == 'en-US' || lang == 'en') {
|
||||
localStorage.removeItem('wowLang');
|
||||
location.reload();
|
||||
return;
|
||||
}
|
||||
if (lang == "it" || lang == "it-CH") lang = "it-IT";
|
||||
if (lang == "pt") lang = "pt-BR";
|
||||
localStorage.setItem('wowLang', lang);
|
||||
var ids = [];
|
||||
ids = Array.from(document.querySelectorAll('[id]'));
|
||||
var ids_arr = Array.prototype.map.call(ids, (element, i)=>{return element.id});
|
||||
@@ -12,5 +17,6 @@ async function translate(lang) {
|
||||
};
|
||||
|
||||
async function getTranslation(data, keys) {
|
||||
if (data[keys] === undefined) return;
|
||||
document.getElementById(keys).textContent = JSON.stringify(data[keys]).replace(/["]+/g, '');
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user