Detect and serve localized donation page #60

Closed
biodranik wants to merge 2 commits from detect-language into master
biodranik commented 2022-11-20 18:17:57 +00:00 (Migrated from github.com)

Надо продумать cookie, чтобы можно было таки переключиться на английскую после редиректа.
Или сделать как-то ещё умнее/хитрее, сразу для любой страницы сайта.
@rtsisyk есть идеи?

Наверное лучше всего будет автоматом локализовывать ВСЕ дефолтные en страницы сайта, и сохранять куки, чтобы работало предсказуемо. Тогда и донаты заработают.

Надо продумать cookie, чтобы можно было таки переключиться на английскую после редиректа. Или сделать как-то ещё умнее/хитрее, сразу для любой страницы сайта. @rtsisyk есть идеи? Наверное лучше всего будет автоматом локализовывать ВСЕ дефолтные en страницы сайта, и сохранять куки, чтобы работало предсказуемо. Тогда и донаты заработают.
rtsisyk requested changes 2022-11-28 07:09:30 +00:00
@ -0,0 +1,39 @@
// Redirects users from the default en donate page to the appropriate localized version.
Owner

Как это работает и в какой момент выполняется? Можно ли обойтись редиректом на фронтенде и не добавлять вендор-лок от клаудфлера и здесь тоже?

Как это работает и в какой момент выполняется? Можно ли обойтись редиректом на фронтенде и не добавлять вендор-лок от клаудфлера и здесь тоже?
biodranik (Migrated from github.com) reviewed 2022-11-28 08:29:31 +00:00
@ -0,0 +1,39 @@
// Redirects users from the default en donate page to the appropriate localized version.
biodranik (Migrated from github.com) commented 2022-11-28 08:29:31 +00:00

Выполняется для всех роутов /donate и /donate/ (по имени файла и папок), подробнее написано здесь: https://developers.cloudflare.com/pages/platform/functions/routing/

С учётом следующего PR с редиректом на фронте, этот, получается, не нужен, т.к. следующий более универсальный.

Преимущества этого подхода в скорости, т.к. нет ненужной загрузки en страницы в браузере, запуска там js кода, и последующей загрузки локализованной страницы.

Есть, правда, нюанс, что по /donate появляется версия на другом языке. В HTTP же нет штатного способа отдать страницу по-другому адресу с одновременным обновлением адреса, кроме редиректов, верно?

Выполняется для всех роутов /donate и /donate/ (по имени файла и папок), подробнее написано здесь: https://developers.cloudflare.com/pages/platform/functions/routing/ С учётом следующего PR с редиректом на фронте, этот, получается, не нужен, т.к. следующий более универсальный. Преимущества этого подхода в скорости, т.к. нет ненужной загрузки en страницы в браузере, запуска там js кода, и последующей загрузки локализованной страницы. Есть, правда, нюанс, что по /donate появляется версия на другом языке. В HTTP же нет штатного способа отдать страницу по-другому адресу с одновременным обновлением адреса, кроме редиректов, верно?
rtsisyk reviewed 2022-11-28 19:06:59 +00:00
@ -0,0 +1,39 @@
// Redirects users from the default en donate page to the appropriate localized version.
Owner

Есть, правда, нюанс, что по /donate появляется версия на другом языке. В HTTP же нет штатного способа отдать страницу по-другому адресу с одновременным обновлением адреса, кроме редиректов, верно?

Отдавать можно какой угодно контент, но чтобы поменять URL в браузере нужен или серверный Location: redirect или махинации с адресной строкой в JS.

Мне в целом не очень нравится идея залезания на лок клаудфлера. Пусть будет пока редирект на фронтенде. Это можно залить в любой хостинг.

> Есть, правда, нюанс, что по /donate появляется версия на другом языке. В HTTP же нет штатного способа отдать страницу по-другому адресу с одновременным обновлением адреса, кроме редиректов, верно? Отдавать можно какой угодно контент, но чтобы поменять URL в браузере нужен или серверный Location: redirect или махинации с адресной строкой в JS. Мне в целом не очень нравится идея залезания на лок клаудфлера. Пусть будет пока редирект на фронтенде. Это можно залить в любой хостинг.
biodranik commented 2022-12-11 10:45:11 +00:00 (Migrated from github.com)

Localization redirect is now done in browsers. This PR can be used later as an example of enabling Cloudflare Functions for Pages.

Localization redirect is now done in browsers. This PR can be used later as an example of enabling [Cloudflare Functions](https://developers.cloudflare.com/pages/platform/functions/) for Pages.

Pull request closed

Sign in to join this conversation.
No description provided.