HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 30.01.2024, 00:10
sweet candy
Новичок
Регистрация: 07.10.2021
Сообщений: 22
С нами: 2422352

Репутация: 1
По умолчанию

есть папка по пути

путь:





Код:
Desktop\project\name_project


которая является корнем проекта сайта

сказали сделать перевод сайта английский-русский через дублирование, продублировать нужные файлы в папку /ru которая по пути лежит

путь:





Код:
Desktop\project\name_project/ru


вроде бы подключил все как надо, но ничего не фурычило от слова совсем, решил прибегнуть к чату гпт, 2 часа бестолку)

файл для русской версии (header.html)

HTML:





Код:
МЕНЮ

услуги

о нас

портфолио

контакты

EN

/

RU


для английской

HTML:





Код:
MENU

услуги

о нас

портфолио

контакты

EN

/

RU


при нажатии на RU просто перезагружается страница и кидает на ссылку http://localhost:3333/?lang=ru и так-же обратно только http://localhost:3333/?lang=en, переключатель возвращается в активную форму на EN)

в чем проблема?

languageswitcher.js:





Код:
document
.
addEventListener
(
'DOMContentLoaded'
,
function
(
)
{
const
englishLink
=
document
.
getElementById
(
'englishLink'
)
;
const
russianLink
=
document
.
getElementById
(
'russianLink'
)
;
const
languageSeparator
=
document
.
getElementById
(
'languageSeparator'
)
;
function
switchLanguage
(
language
)
{
console
.
log
(
`Switching to${language}`
)
;
const
currentPath
=
window
.
location
.
pathname
;
const
params
=
new
URLSearchParams
(
window
.
location
.
search
)
;
const
currentLang
=
params
.
get
(
'lang'
)
||
'en'
;
if
(
language
!==
currentLang
)
{
params
.
set
(
'lang'
,
language
)
;
const
newPath
=
`${currentPath}?${params.toString()}`
;
console
.
log
(
`New path:${newPath}`
)
;
window
.
location
.
href
=
newPath
;
}
}
englishLink
.
addEventListener
(
'click'
,
function
(
event
)
{
event
.
preventDefault
(
)
;
switchLanguage
(
'en'
)
;
}
)
;
russianLink
.
addEventListener
(
'click'
,
function
(
event
)
{
event
.
preventDefault
(
)
;
switchLanguage
(
'ru'
)
;
}
)
;
// Проверяем язык при загрузке страницы
const
params
=
new
URLSearchParams
(
window
.
location
.
search
)
;
const
currentLang
=
params
.
get
(
'lang'
)
||
'en'
;
console
.
log
(
`Current language:${currentLang}`
)
;
// Если язык в параметрах запроса не соответствует текущему языку, переключаем язык
if
(
currentLang
===
'ru'
)
{
switchLanguage
(
'ru'
)
;
}
}
)
;
 
Ответить с цитированием

  #2  
Старый 30.01.2024, 20:35
PaddingtonBaby
Познающий
Регистрация: 06.08.2023
Сообщений: 76
С нами: 1460109

Репутация: 13
По умолчанию

Вы хотите, чтобы менялся язык, но при этом обе версии на русском?.. Не совсем понимаю, в чем проблема? В переключателе или обработке события? А что делает Ваш JS код, анализировали? 🙃

+ https://qna.habr.com/q/1001843

+ https://ru.stackoverflow.com/questions/542767/Мультиязычность-с-javascript-на-всех-страницах-сайта
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.