Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

ОтВинта

  • записів
    7
  • коментарів
    57
  • перегляду
    2 872

Лайфхак и закон "Про мову"


Vladzimir

1 878 переглядів

Знаете как обычно это бывает?

Роблю, роблю. Чую будять.

Так и UANet внезапно встал перед дилемой о локализации по умолчанию на украинский язык.

Кто-то про данный закон не знал, кто-то думал что пронесет и его отменят, а кто-то (например как я) попросту не успевают сделать перевод своего маленького магазинчика в 30000 наименований.

Но тем не менее. Dura lex sed lex

Как в же в пару строк кода сделать свой сайт таким чтоб он соответствовал данному закону?

Легко. Качаем https://github.com/get-web/google-translate-custom-widget

Подключаем в хедере стили и скрипты

В футер добавляем html-код с языками

И в google-translate.js вносим единственное изменение

const googleTranslateConfig = {
    /* Original language */
    lang: "ru",
    /* The language we translate into on the first visit*/
    /* Язык, на который переводим при первом посещении */
    langFirstVisit: 'uk',
    /* Если скрипт не работает на поддомене, 
    раскомментируйте и
    укажите основной домен в свойстве domain */
    /* domain: "Get-Web.Site" */
};

Все. Мы все молодцы.

  • +1 7

11 коментарів


Recommended Comments

Ну это, конечно, решение :), но в такой ситуации, боюсь украиский трафик вам особо не светит :). Как временное решение - возможно. Но переводить все равно нужно будет :)

Надіслати
8 минут назад, pawana сказал:

Ну это, конечно, решение :), но в такой ситуации, боюсь украиский трафик вам особо не светит :). Как временное решение - возможно. Но переводить все равно нужно будет :)

Как показывает практика, на текущий момент, поисковые запросы по языкам распределяются таким образом:

  • ру - 90%
  • уа - 10%

Надеюсь что современем эта ситуация изменится в лучшеую сторону. Хотя бы 50/50. Потому что работы увеличивается в 2 раза, а продажи увеличиваются всего на 10%.

И да, это временный костыль. Хотя частый случай, что временное становится постоянным.

Надіслати

Подскажите, я так понял согласно закона сайт должен по умолчанию загружаться на украинском языке, то есть при загрузке сайта по умолчанию на русском и  возможности выбора языка рус/укр не достаточно, верно?

Как-то печально, как уже писали Выше подавляющее большинство запросов на русском языке...

Надіслати

Опа, мой скрипт пригодился)

Кстати переменная оригинального языка  (lang: "ru",) не просто так выведена, в случае если у сайта есть несколько родных вариантов перевода в эту переменную следует записать текущий язык и если он совпадает с тем на который должен переводить виджет, то будет оставлен оригинальный перевод, то есть виджет не ограничивает стандартный функционал ни в чем. Все думал написать модуль для opencart, но так как опыта в бекенде мало не хочу позориться)

  • +1 2
Надіслати
17 минут назад, GetWeb сказал:

Опа, мой скрипт пригодился)

Кстати переменная оригинального языка  (lang: "ru",) не просто так выведена, в случае если у сайта есть несколько родных вариантов перевода в эту переменную следует записать текущий язык и если он совпадает с тем на который должен переводить виджет, то будет оставлен оригинальный перевод, то есть виджет не ограничивает стандартный функционал ни в чем. Все думал написать модуль для opencart, но так как опыта в бекенде мало не хочу позориться)

Оп-па автор!

За скрипт спасибо.

Но у себя я обнаружил несколько проблем с куками.

Они пишутся в привязке к категории, а это не есть хорошо.

И они пишутся двумя способами сразу, а читаются только одним. Из-за этого переключатель языков работает только один раз. Т.е. нельзя переключиться обратно.

У себя я сделал так

function TranslateCookieHandler(val, domain) {
    // Записываем куки /язык_который_переводим/язык_на_который_переводим
    $.cookie("googtrans", val, {
        path: "/",
    });
}

И в стилях добавил

.goog-text-highlight {
    background-color: inherit !important;
    box-shadow: none !important;
    box-sizing: inherit !important;
}

 

Надіслати
13 минут назад, GetWeb сказал:

Опа, мой скрипт пригодился)

Кстати переменная оригинального языка  (lang: "ru",) не просто так выведена, в случае если у сайта есть несколько родных вариантов перевода в эту переменную следует записать текущий язык и если он совпадает с тем на который должен переводить виджет, то будет оставлен оригинальный перевод, то есть виджет не ограничивает стандартный функционал ни в чем. Все думал написать модуль для opencart, но так как опыта в бекенде мало не хочу позориться)

Как вариант, хранить не в куках,  а локал сторадж
Т по онлоад грузить еше свой собственный силь, который отрубит onhover стилизацию

Надіслати
31 минуту назад, Vladzimir сказал:

Они пишутся в привязке к категории, а это не есть хорошо.

Вы пробовали указать адрес домена? Обычно это помогает. Еще бывает проблема связанная с настройками сервера, когда кукам назначается HttpOnly, но похоже это не ваш случай.

 

44 минуты назад, Vladzimir сказал:

И они пишутся двумя способами сразу, а читаются только одним.

Даже 4-мя, если передан домен. Мой скрипт это надстройка до инициализации самого виджета и для корректного перевода важно как сам виджет будет читать куки на что мы уже повлиять не можем, с нашей стороны главное правильно записать. Ваше решение с path: "/", вполне корректно и изначально примерно так и было, но практика показала что с ним проблемы встречались чаще, поэтому пока остановился на такой реализации.

 

 

Надіслати
1 час назад, chukcha сказал:

Как вариант, хранить не в куках,  а локал сторадж

На то как работает виджет мы никак не можем повлиять, он пишет куки, а мы просто вклиниваемся в этот процесс, когда сами переназначаем их. Подробнее о самой концепции можно прочитать тут https://habr.com/ru/post/438588/

Змінено користувачем GetWeb
Надіслати
5 минут назад, chukcha сказал:

google-translate.js:

Это локальный скрипт и в нем можно юзать не куки

Я не совсем понимаю о чем речь. lang: "ru" это один из параметров в который мы пишем текущий язык, а затем решаем что делать с этой информацией, зачем локальное хранилище? В работе с виджетом оно не поможет потому что виджет работает только с куками, а раз уж мы используем куки, то опять возникает вопрос зачем локальное хранилище использовать?

Надіслати

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.