Наша sgioba LovePets UA chruthachadh portal LovePets у ann an 2021 mar ghoireas cànain Ucràinis. An toiseach, bha a h-uile URL ann an Ucràinis agus cha robh còd cànain ann. Nas fhaide air adhart, leudaich sinn ar pròiseact le bhith a’ cur dreach ioma-chànanach den làrach ris, agus a-nis ar goireas ri fhaighinn ann an còrr air 90 cànan. Ach, tha ar susbaint gu lèir, mar a bha e roimhe, air a chruthachadh ann an Ucràinis.
A bharrachd air an sin, chan eil an còd cànain anns na URLan anns an dreach Ucràineach den portal, mar a bha e roimhe. Tha an còd cànain air a chur ris a-mhàin air na duilleagan sin a tha eadar-dhealaichte bhon chànan tùsail - Ucràinis. Tha seo ga dhèanamh comasach structar URL singilte is sìmplidh a chumail do luchd-cleachdaidh, a bheir cothrom goireasach air susbaint dha na h-Ucràinich uile.
Gus cothrom fhaighinn air ar portal do luchd-cleachdaidh às an Úcráin, tha sinn air fios neo-ghluasadach a chuir an gnìomh dhaibhsan a chuireas a-steach an URL leis a’ chòd cànain /ru/. Tha an teachdaireachd seo a’ tabhann atharrachadh gu cànan na h-Ucrain, a’ cumail comhfhurtachd agus goireasachd don h-uile neach-tadhail.
San artaigil seo, roinnidh sinn còd switcher cànain sìmplidh le teachdaireachd as urrainn dhut a chuir air do làrach. Cuidichidh seo thu gus cumail ri riatanasan Lagh na h-Ucrain “Air Dèanamh cinnteach à Gnìomh Cànan na h-Ucrain mar Chànan Stàite” agus dèanamh cinnteach gum bi e goireasach don luchd-cleachdaidh agad, gun a bhith air an ath-stiùireadh gu cànan sònraichte.
Cruthachadh teachdaireachd eadar-obrachail mu dhreach cànain na làraich: stiùireadh ceum air cheum
Is fhiach a ràdh anns a’ bhad gum faodar an còd fios atharrachadh cànain gu h-ìosal atharrachadh airson dreach cànain sam bith. Ach, tha beagan phuingean cudromach ri beachdachadh:
- Còd cànain ann an html: Dèan cinnteach gu bheil an còd cànain agad air a shuidheachadh le HTML a 'cleachdadh an taga
<html lang=«uk»>
. Bu chòir seo a dhèanamh an dà chuid airson an tionndadh cànain bunaiteach agus airson dreachan cànain eile den làrach agad. - Structar URL: Tha an còd air atharrachadh airson làraichean a chleachdas structar subfolder de dhreachan cànain an àite subdomains.
- Ainmean URL: Feumaidh URLan a bhith mar an ceudna airson gach tionndadh cànain. Is e sin, bidh an dreach bunaiteach den duilleag https://www.lovepets.com.ua/pro-sajt mar an ceudna, dìreach le ro-leasachan cànain, /ru/ mar eisimpleir: https://www.lovepets.com .ua/ru/pro -site. Mar a chì thu, tha an t-ainm / pro-sajt an aon rud airson na dreachan Ucràineach agus Ruiseanach.
A-nis nì sinn mion-sgrùdadh air eisimpleir den chòd a sheallas teachdaireachd le tairgse gluasad chun dreach Ucràineach, ma fhuair an neach-cleachdaidh gu duilleag ann an cànan na Ruis. Mar eisimpleir:
1. Tha an neach-cleachdaidh a dh'fhosgail an duilleag: https://www.lovepets.com.ua/ru/ .
2. Tha an comharradh cànain ann an cruth air a shònrachadh ann an còd na duilleige.

3. Anns an URL tha an còd cànain /ru/.
4. Tha an sgriobt, stèidhichte air puingean 2 agus 3, a 'taisbeanadh teachdaireachd le tairgse airson atharrachadh gu dreach na h-Ucrain.

Nuair a chì an neach-cleachdaidh teachdaireachd mu bhith ag atharrachadh a’ chànain, tha dileab aige: gluais chun dreach Ucràineach no fuirich air duilleag na Ruis. Ma roghnaicheas e tionndadh chun dreach Ucràineach, thèid ath-stiùireadh chun duilleag fhreagarrach san aon uinneag bhrobhsair. Bidh an sgriobt ag obair gu sìmplidh: bidh e a’ toirt air falbh an ro-leasachan cànain bhon URL agus ag ath-stiùireadh an neach-cleachdaidh chun chànan bunaiteach. Ach, tha e cudromach gum bi na h-aon ainmean URL aig gach dreach cànain den làrach agad, mar a chaidh ainmeachadh roimhe.
Ma cho-dhùnas an neach-cleachdaidh fuireach air an dreach làithreach den làrach agus cliog air a’ phutan “Dùin”, bidh cuimhne air a roghainn. Rè aon seisean, cha nochd an teachdaireachd a-rithist. Tha seo air a choileanadh le bhith a’ cleachdadh stòradh ionadail a’ bhrobhsair (localStorage
), a chumas dàta eadhon às deidh ath-luchdachadh duilleag.
Mar a tha e ag obair:
LocalStorage
a’ stòradh fiosrachadh gun do dhùin an neach-cleachdaidh am brath.- Rè an ath thuras chun làraich, bidh an sgriobt a’ sgrùdadh a bheil clàr ann
localStorage
. Ma tha, chan eil an teachdaireachd air a thaisbeanadh.
Feartan:
- Dàta a-steach
localStorage
air an stòradh gu maireannach - gus am bi an neach-cleachdaidh fhèin a’ glanadh tasgadan a’ bhrobhsair. - Tha seo a’ ciallachadh nach tèid am fios a thaisbeanadh eadhon ged a dhùineas an neach-cleachdaidh an taba agus gun tadhail e air an làrach a-rithist.
- Ma tha feum air, faodaidh tu giùlan nas sùbailte a rèiteachadh, mar eisimpleir, gus an teachdaireachd a shealltainn a-rithist às deidh beagan ùine. Airson seo, faodaidh tu dòighean eile a chleachdadh airson stòradh dàta, leithid briosgaidean no stòradh sealach a-steach
sessionStorage
.
Tha an dòigh seo a tha goireasach do luchd-cleachdaidh, mar nach eil e sàrachail agus aig an aon àm a 'toirt spèis do roghainn. Ma cho-dhùnas an neach-cleachdaidh an cànan atharrachadh nas fhaide air adhart, faodaidh e an-còmhnaidh sin a dhèanamh tron widget atharrachadh cànain air ar portal.
A-nis, seo an còd fios fhèin leis an roghainn an dreach cànain atharrachadh, as urrainn dhut a chuir ann am bonn na làraich agad le bhith ga chuir gu dìreach ris a’ chòd html no tro plugan WordPress: WPCode - Cuir a-steach bannan-cinn is bonn-coise.
Cuir a-steach an còd ron tag
</body>
a dhùineas An còd fhèin:
<!-- Перемикач мови -->
<script>
document.addEventListener("DOMContentLoaded", function() {
// Перевіряємо, чи не закривав користувач повідомлення раніше
if (localStorage.getItem("hideLanguageNotification") !== "true") {
// Перевіряємо значення атрибута lang
if (document.documentElement.lang === "ru") {
// Отримуємо поточний URL
var currentUrl = window.location.href;
// Прибираємо /ru/ з URL
var ukrainianUrl = currentUrl.replace("/ru/", "/");
// Створюємо елемент для повідомлення
var message = document.createElement("div");
message.innerHTML = `
<p style="margin: 0 0 10px 0;">Вы находитесь на русскоязычной версии сайта.</p>
<a href="${ukrainianUrl}" style="background-color: #007bff; color: white; padding: 10px 20px; border-radius: 5px; text-decoration: none; display: inline-block; margin-bottom: 10px;">Перейти на украинскую версию</a>
<button id="closeNotification" style="background-color: red; color: white; padding: 10px 20px; border: none; cursor: pointer; border-radius: 5px; display: inline-block;">Закрыть</button>
<p style="font-size: 12px; margin-top: 10px; text-align: center;">
Надано <a href="https://www.lovepets.com.ua/eeat/eksperty-lovepets-ua" target="_blank" style="color: #007bff; text-decoration: underline;">командою LovePets UA</a>
</p>
`;
message.style.position = "fixed";
message.style.bottom = "50px"; // Додаємо відступ знизу для адаптивності
message.style.right = "10px";
message.style.left = "10px"; // Додаємо відступ зліва для адаптивності
message.style.padding = "15px";
message.style.backgroundColor = "#ffcc00";
message.style.color = "#000";
message.style.borderRadius = "5px";
message.style.boxShadow = "0px 0px 10px rgba(0, 0, 0, 0.1)";
message.style.zIndex = "1000";
message.style.maxWidth = "400px"; // Обмежуємо максимальну ширину для великих екранів
message.style.margin = "0 auto"; // Центруємо на екранах
// Додаємо повідомлення на сторінку
document.body.appendChild(message);
// Обробник закриття повідомлення
document.getElementById("closeNotification").addEventListener("click", function() {
// Зберігаємо інформацію про те, що повідомлення було закрито
localStorage.setItem("hideLanguageNotification", "true");
// Видаляємо повідомлення
message.remove();
});
}
}
});
</script>
Mar a tha e ag obair:
- A’ sgrùdadh cànan na duilleige:
- Ma tha cànan na duilleige air a shuidheachadh gu
lang=«ru»
, tha an sgriobt air a ghnìomhachadh.
- Ma tha cànan na duilleige air a shuidheachadh gu
- Cruthachadh URL airson an dreach Ucràineach:
- Tha an URL làithreach air a sgrùdadh airson ro-leasachan
/ru/
. Ma lorgar an ro-leasachan, thèid a thoirt air falbh gus URL an tionndaidh Ucràineach a chruthachadh às aonais an ro-leasachan cànain.
- Tha an URL làithreach air a sgrùdadh airson ro-leasachan
- A 'cruthachadh agus a' cur a-mach teachdaireachd:
- Tha bloc le teacsa agus putan a’ nochdadh air an duilleag a’ tabhann atharrachadh gu dreach na h-Ucrain. Bidh am putan a’ leantainn gu URL às aonais
/ru/
.
- Tha bloc le teacsa agus putan a’ nochdadh air an duilleag a’ tabhann atharrachadh gu dreach na h-Ucrain. Bidh am putan a’ leantainn gu URL às aonais
- Sgrùdadh
localStorage
:- Bidh an sgriobt a’ sgrùdadh na h-iuchrach
hideLanguageNotification
le ciall«true»
. Ma tha an iuchair ann, chan eil teachdaireachd air a thaisbeanadh.
- Bidh an sgriobt a’ sgrùdadh na h-iuchrach
- A 'dùnadh na teachdaireachd:
- Nuair a bhriogas tu air a’ phutan “Dùin” a-steach
localStorage
tha an luach air a chlàradh«true»
, agus thèid an teachdaireachd a thoirt air falbh bhon sgrion. Cha nochd am brath tuilleadh gu deireadh an t-seisein.
- Nuair a bhriogas tu air a’ phutan “Dùin” a-steach
- Tionndaidh gu dreach Ucràinis:
- Tha am putan airson tionndadh chun dreach Ucràineach gnìomhach agus a’ leantainn chun URL co-fhreagarrach.
Stoidhle na teachdaireachd:
Tha an teachdaireachd air a stoidhleachadh airson a bhith furasta fhaicinn agus tha e suidhichte anns an oisean gu h-ìosal air an làimh dheis den duilleag. Seo eisimpleir de fheartan bunaiteach CSS:
message.style.position = "fixed"; /* Повідомлення залишається на екрані під час прокручування */
message.style.bottom = "50px"; /* Відступ від нижньої межі екрана */
message.style.right = "10px"; /* Відступ від правої межі екрана */
message.style.padding = "15px"; /* Внутрішні відступи */
message.style.backgroundColor = "#ffcc00"; /* Світло-жовте тло для помітності */
message.style.color = "#000"; /* Чорний текст для контрасту */
message.style.borderRadius = "5px"; /* Закруглені кути для сучасного зовнішнього вигляду */
message.style.boxShadow = "0px 0px 10px rgba(0, 0, 0, 0.1)"; /* Тінь для створення об'єму */
message.style.zIndex = "1000"; /* Поверх інших елементів сторінки */
message.style.maxWidth = "400px"; /* Обмеження ширини для великих екранів */
Faodaidh tu na stoidhlichean sin a ghnàthachadh a rèir do thoil le bhith a’ cur ris no ag atharrachadh roghainnean a rèir dealbhadh na làraich agad.
Feartan agus sùbailteachd:
- Tha an dàta air a stòradh ann
localStorage
, gus am bi an neach-cleachdaidh a’ glanadh tasgadan a’ bhrobhsair. - Airson suidheachadh fios nas sùbailte (mar eisimpleir, ath-nochdadh às deidh ùine sònraichte) faodar a chleachdadh
Cookies
abosessionStorage
.
Tionndadh cànain bho Ruisis gu bunaiteach gu dreach Ucràineach den làrach leis a’ chòd cànain anns an t-seòladh url
Agus dè a nì thu dhaibhsan aig a bheil an dreach Ruiseanach den sata gu bunaiteach às aonais an ro-leasachan / ru /, agus anns an dreach Ucràineach den làrach tha an ro-leasachan / uk/? Seo eisimpleir de chòd:
<!-- Перемикач мови -->
<script>
document.addEventListener("DOMContentLoaded", function() {
// Перевіряємо, чи не закривав користувач повідомлення раніше
if (localStorage.getItem("hideLanguageNotification") !== "true") {
// Перевіряємо значення атрибута lang
if (document.documentElement.lang === "ru") {
// Отримуємо поточний URL
var currentUrl = window.location.href;
// Створюємо новий URL з додаванням префікса /uk/
var ukrainianUrl;
if (currentUrl.includes("/uk/")) {
ukrainianUrl = currentUrl; // Якщо вже є префікс /uk/, не змінюємо
} else {
var urlParts = currentUrl.split('/');
urlParts.splice(3, 0, 'uk'); // Вставляємо 'uk' після домену
ukrainianUrl = urlParts.join('/');
}
// Створюємо елемент для повідомлення
var message = document.createElement("div");
message.innerHTML = `
<p style="margin: 0 0 10px 0;">Вы находитесь на русскоязычной версии сайта.</p>
<a href="${ukrainianUrl}" style="background-color: #007bff; color: white; padding: 10px 20px; border-radius: 5px; text-decoration: none; display: inline-block; margin-bottom: 10px;">Перейти на украинскую версию</a>
<button id="closeNotification" style="background-color: red; color: white; padding: 10px 20px; border: none; cursor: pointer; border-radius: 5px; display: inline-block;">Закрыть</button>
<p style="font-size: 12px; margin-top: 10px; text-align: center;">
Надано <a href="https://www.lovepets.com.ua/eeat/eksperty-lovepets-ua" target="_blank" style="color: #007bff; text-decoration: underline;">командою LovePets UA</a>
</p>
`;
message.style.position = "fixed";
message.style.bottom = "50px"; // Додаємо відступ знизу для адаптивності
message.style.right = "10px";
message.style.left = "10px"; // Додаємо відступ зліва для адаптивності
message.style.padding = "15px";
message.style.backgroundColor = "#ffcc00";
message.style.color = "#000";
message.style.borderRadius = "5px";
message.style.boxShadow = "0px 0px 10px rgba(0, 0, 0, 0.1)";
message.style.zIndex = "1000";
message.style.maxWidth = "400px"; // Обмежуємо максимальну ширину для великих екранів
message.style.margin = "0 auto"; // Центруємо на екранах
// Додаємо повідомлення на сторінку
document.body.appendChild(message);
// Обробник закриття повідомлення
document.getElementById("closeNotification").addEventListener("click", function() {
// Зберігаємо інформацію про те, що повідомлення було закрито
localStorage.setItem("hideLanguageNotification", "true");
// Видаляємо повідомлення
message.remove();
});
}
}
});
</script>
Dè tha air atharrachadh:
- Ro-leasachan /uk/: Tha an còd a-nis a 'cur ro-leasachan
/uk/
às deidh an ainm fearainn san URL (mar eisimpleir, lehttps://example.com/page
obraichidhhttps://example.com/uk/page
). - A’ sgrùdadh a bheil ro-leasachan ann: Ma tha san URL mu thràth
/uk/
, chan eil an sgriobt a 'cur ris a-rithist. - Giullachd ceangail: Ma tha an neach-cleachdaidh air an dreach Ruiseanach, thèid putan a chruthachadh gus ath-stiùireadh chun dreach Ucràineach leis an ro-leasachan ceart a chur ris.
A-nis, nuair a thionndaidheas tu gu dreach Ucràineach den làrach, cha tèid aire a thoirt ach don chòd cànain ann an HTML, agus thèid an ro-leasachan riatanach a chuir ris gu fèin-ghluasadach.
Ach, tha sinn gad chuimhneachadh a-rithist gu bheil an còd (an dà chuid anns a’ chiad agus an dàrna eisimpleir) ag obair a-mhàin ma tha na h-aon ainmean URL agad airson na dreachan Ruiseanach is Ucràineach.
Dè bu chòir dhut a dhèanamh ma tha na URLan eadar-dhealaichte agus nach eil a bhith a’ cur an àite an ro-leasachan cànain a-mhàin a’ fuasgladh na duilgheadas?
Ma dh'atharraicheas an làrach chan ann a-mhàin an ro-leasachan cànain, ach cuideachd ainm nan URLan a rèir a 'chànain (mar eisimpleir, airson an aon duilleag anns an dreach Ruiseanach dh'fhaodadh gum bi aon URL ann, agus anns an dreach Ucràineach - fear eile), bidh thu feumar litrichean aithnichte roimhe seo a chleachdadh eadar URLan Ruiseanach is Ucràineach airson ath-stiùireadh ceart.
Dòigh-obrach 1: Cleachd mapa URL ro-aithnichte
- Bidh thu a’ cruthachadh nì far a bheil a h-uile URL ann an cànan na Ruis a’ freagairt ri URL Ucràineach.
- Ma lorgar gu bheil an neach-cleachdaidh air an dreach Ruiseanach den làrach, bidh thu a’ coimhead airson an URL gnàthach sa mhapa seo agus ag ath-stiùireadh chun URL co-fhreagarrach Ucràineach.
Butt:
<!-- Перемикач мови -->
<script>
document.addEventListener("DOMContentLoaded", function() {
// Перевіряємо, чи не закривав користувач повідомлення раніше
if (localStorage.getItem("hideLanguageNotification") !== "true") {
// Перевіряємо значення атрибута lang
if (document.documentElement.lang === "ru") {
// Отримуємо поточний URL
var currentUrl = window.location.href;
// Карта відповідностей URL між російською та українською версіями
var urlMap = {
"https://www.example.com/ru/about-us": "https://www.example.com/uk/pro-nas",
"https://www.example.com/ru/contact": "https://www.example.com/uk/kontakty",
"https://www.example.com/ru/services": "https://www.example.com/uk/poslugy"
// Додавайте інші відповідності
};
// Знайти український URL для поточної сторінки
var ukrainianUrl = urlMap[currentUrl] || currentUrl.replace("/ru/", "/uk/");
// Створюємо елемент для повідомлення
var message = document.createElement("div");
message.innerHTML = `
<p style="margin: 0 0 10px 0;">Вы находитесь на русскоязычной версии сайта.</p>
<a href="${ukrainianUrl}" style="background-color: #007bff; color: white; padding: 10px 20px; border-radius: 5px; text-decoration: none; display: inline-block; margin-bottom: 10px;">Перейти на украинскую версию</a>
<button id="closeNotification" style="background-color: red; color: white; padding: 10px 20px; border: none; cursor: pointer; border-radius: 5px; display: inline-block;">Закрыть</button>
<p style="font-size: 12px; margin-top: 10px; text-align: center;">
Предоставлено <a href="https://www.lovepets.com.ua/eeat/eksperty-lovepets-ua" target="_blank" style="color: #007bff; text-decoration: underline;">LovePets UA</a>
</p>
`;
message.style.position = "fixed";
message.style.bottom = "50px"; // Додаємо відступ знизу для адаптивності
message.style.right = "10px";
message.style.left = "10px"; // Додаємо відступ зліва для адаптивності
message.style.padding = "15px";
message.style.backgroundColor = "#ffcc00";
message.style.color = "#000";
message.style.borderRadius = "5px";
message.style.boxShadow = "0px 0px 10px rgba(0, 0, 0, 0.1)";
message.style.zIndex = "1000";
message.style.maxWidth = "400px"; // Обмежуємо максимальну ширину для великих екранів
message.style.margin = "0 auto"; // Центруємо на екранах
// Додаємо повідомлення на сторінку
document.body.appendChild(message);
// Обробник закриття повідомлення
document.getElementById("closeNotification").addEventListener("click", function() {
// Зберігаємо інформацію про те, що повідомлення було закрито
localStorage.setItem("hideLanguageNotification", "true");
// Видаляємо повідомлення
message.remove();
});
}
}
});
</script>
Mar a tha e ag obair:
urlMap
na nì far a bheil URL Ucràineach co-fhreagarrach air a sgrìobhadh airson gach URL Ruiseanach. Eisimpleir: airson duilleag/ru/about-us
tha an dreach Ucràineach co-fhreagarrach/uk/pro-nas
.- Rannsachadh URL Ucràinis:
- Ma tha an URL làithreach an làthair anns an nì
urlMap
, thèid an neach-cleachdaidh ath-stiùireadh chun dreach Ucràinis ainmichte. - Ma tha gèilleadh a-steach
urlMap
cha deach a lorg, thèid an ro-leasachan an àite an sgriobt/ru/
air/uk/
a ghnàth.
- Ma tha an URL làithreach an làthair anns an nì
- Freagarrach airson atharrachaidhean san àm ri teachd: Ma chuireas tu duilleagan ùra ris le URLan eadar-dhealaichte, dìreach ùraich am mapa
urlMap
, a’ cur maidsean ùra ris.
An roghainn as fheàrr airson làraich beaga agus duilleagan cur air tìr, làraich companaidh no duilleagan tighinn air tìr.
Dòigh-obrach 2: Cleachd mìneachadh URL fiùghantach
Mura h-eil maids soilleir agad airson a h-uile URL, no ma dh’ atharraicheas e, faodaidh tu feuchainn ri amalachadh le loidsig deireadh-cùil (me tro stòr-dàta) gus URLan air an itealan a mhaidseadh, ach is e fuasgladh nas iom-fhillte a tha seo a dh’ fheumas tilleadh - crìoch air amalachadh. Ach, tha seo taobh a-muigh raon an stuth seo.
Leigidh an còd seo leat eadar-ghluasadan a riaghladh gu sùbailte, eadhon ged a tha an URL ag atharrachadh nas motha na dìreach an ro-leasachan cànain.
Cuir an àite Visnovka
Mar is dòcha gu bheil thu air mothachadh, bidh portal LovePets UA a ’cleachdadh a’ chiad dreach den chòd. Faodaidh tu aoigheachd a thoirt dha air an làrach agad no atharrachadh a rèir na feumalachdan agad. Tha am prionnsapal seo buntainneach chan ann a-mhàin airson na paidhrichean cànain "Russian <-> Ucràinis", ach cuideachd airson measgachadh sam bith eile de chànanan.
Tha sinn gu dùrachdach an dòchas gum bi an stuth seo feumail dhut. Airson ar pàirt, tha sinn air cuideam a chuir a-rithist air cho cudromach sa tha e taic a thoirt do agus leasachadh susbaint cànain Ucràineach.
- Carson a tha e cudromach taic a thoirt do leasachadh ghoireasan fiosrachaidh anns a’ chànan dhùthchasach?
- Taic agus leasachadh susbaint cànain Ucràineach ann an raon cùram pheata.
- Cò as urrainn cur gu mòr ri leasachadh susbaint cànain Ucràineach mu pheataichean?
Leig leinn còmhla leasachadh susbaint càileachd is sàbhailte a bhrosnachadh ann an cànan na h-Ucrain agus a dhèanamh mòr-chòrdte. Agus airson toiseach tòiseachaidh, faodaidh tu tòiseachadh le bhith a’ cleachdadh a’ widget gus an cànan atharrachadh bho Ruisis gu Ucràinis.
Bhiomaid taingeil cuideachd mura toireadh sibh air falbh an iomradh thugainn bhon chòd. Tapadh leibh ro làimh.