Skocz do zawartości
  • 0

Multi language na stronie.


Gość Usunięty#30711

Pytanie

Gość Usunięty#30711

Witam, posiadam stronę swojego bota discord, tworzę zmianę jezyków w bocie. Na stronie nie zabardzo wiem jak mogę to wykonać. Kolega na stronie zrobił:

25kQQ7r.png

Po kliknięciu w polski lub angielski na stronie zmienia się natychmiastowo.

Moja strona jest w html. Proszę o pomoc i napisanie kodu ;)

(oczywiście gdyby była możliwość zrobić to np. lang("jezyk np. pl/en", "polski tekst", "angielski tekst") i gdy język jest ustawiony na pl to zwraca "polski tekst") Dzięki!

Odnośnik do komentarza
https://skript.pl/temat/44689-multi-language-na-stronie/
Udostępnij na innych stronach

2 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Wszystko zależy od tego na jakim poziomie piszesz stronę, na upartego móglbyś skopiować tą strone i jedną kopie umieścić w katalogu /pl/ a drugą w /en/ i przerzucać użytkownika między nimi, bardziej "profesjonalnym" (o ile w ogóle można nazwać tak duży projekt pisany w czystym HTMLu profesjonalnym) mógłbyś zrobić to JS, przykładowo tworząc tablice obiektów 

Przykład:

const lang = [
	{
		name: 'pl',
		fullname: 'polski',
		values: {
			header: "Bot discordowy",
			description: "Oto bot discordowy potrafiący...."
		}
	}
]

a następnie podmieniać wartość pól o danym id przykładowo taką funkcją:

function refreshLang(){
	document.getElementById("header").innerText = langCookie().values.header
 	document.getElementById("description").innerText = langCookie().values.description
}

Funkcja langCookie zwracała by dany obiekt w zależności od wybranego języka:

function langCookie() {
	const defaultLang = "pl"
    if(window.localStorage.getItem("lang") === null){
    	return lang[defaultLang];
    }else{
      	let obj = lang[window.localStorage.getItem("lang")];
      	if(obj === undefined || obj ===  null) return lang[defaultLang];
      	else return obj;
    }
}

Kolejno przypisać funkcje refreshLang do załadowania strony

document.onLoad = refreshLang;

A do listy dodać event onChange

document.getElementById("chooseLang").addEventListener("change", ChooseLang());

a następnie stworzyć funkcje ChooseLang, która zmieniała by zapisany język i odświeżała dane strony:

function ChooseLang(){
  	const select = document.getElementById("selectLang");
	window.localStorage.setItem("lang", select.value);
  	refreshLang();
}

 

Edytowane przez wiktorm12
Odnośnik do komentarza
https://skript.pl/temat/44689-multi-language-na-stronie/#findComment-280967
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...