Создание много национального сайта: основные способы реализации

Р
На сайте с 17.05.2011
Offline
136
1106

Всем привет!

Я сейчас бьюсь над русскоязычной версией и пока меня это надолго устраивает. Проект состоит из бек-энда, который условно языко- и региононезависимый и фронтэнда, состоящего из кучки HTML, CSS и JS файлов.

Вот в HTML и JS уже полно русского текста. Из этого, кстати, как я понимаю, легко будет сделать мобильное приложение (вроде, Phonegap build легко из этого делает приложение под все известные платформы, API оно будет использовать тоже самое, что и веб-сайт).

Пока я для себя вижу следующую стратегию: когда понадобится сделать, допустим, англоязычную версию, я просто добавлю папку вида en.example.com, туда скопирую HTML, CSS и JS, ручками все там переведу на английский и все.

Т.к. мне не нужно сразу же получить проект, работающий во всех странах и на всех языках мне такой "постепенный" вариант кажется вполне разумным. Но все же получается довольно много ручной работы с запуском каждой локализации. Плюс, что меня уже очень смущает, если где-то придется подправить шаблон, то это придется как-то в ручном режиме делать на каждом поддомене, что уже совсем плохо.

Какие есть идеи?

Robick
На сайте с 17.08.2007
Offline
173
#1

wordpress - wmpu

S
На сайте с 30.09.2016
Offline
469
#2

Robick, Вы, наверное, не следили за развитием этого проекта с самого начала, и поэтому не в курсе, что ТС хочет самостоятельно изобрести велосипед.

---------- Добавлено 27.02.2017 в 13:40 ----------

Рамарио, для этой цели в PHP существует функция gettext(), она же - подчёркнутый пробел.

P.S. Тьфу ты, совсем забыл, что у Вас всё на хтмл и жабаскрипте...

Ну, в жабаскрипте тоже примерно так же: создаётся языковый файл, в котором неким условным фразам на английском языке сопоставляется реальная выдача на реальном языке. В основных файлах сайта ничего не изменяется, а с подключением нового языка подключается новый языковый файл.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Р
На сайте с 17.05.2011
Offline
136
#3
Sitealert:
Robick, Вы, наверное, не следили за развитием этого проекта с самого начала, и поэтому не в курсе, что ТС хочет самостоятельно изобрести велосипед.

---------- Добавлено 27.02.2017 в 13:40 ----------

Рамарио, для этой цели в PHP существует функция gettext(), она же - подчёркнутый пробел.
P.S. Тьфу ты, совсем забыл, что у Вас всё на хтмл и жабаскрипте...
Ну, в жабаскрипте тоже примерно так же: создаётся языковый файл, в котором неким условным фразам на английском языке сопоставляется реальная выдача на реальном языке. В основных файлах сайта ничего не изменяется, а с подключением нового языка подключается новый языковый файл.

Блин, за мной следят :)))

Не, на самом деле я согласен с вашей иронией. Вы все правильно посмеиваетесь. Для меня это все хобби и я параллельно для себя открываю всякие jQuery, Yii, Slim и т.д. И я совсем не против применять уже изобретенные велосипеды, но до этого тоже надо как-то дорасти. Этот процесс сейчас со мной и происходит.

PS. Ну и, наверно, полезно все-таки понимать как фреймворки работают унутри :)

S
На сайте с 30.09.2016
Offline
469
#4

Надеюсь, я понятно изложил суть? Создаётся языковый файл, в котором каждой переменной присваивается строка, типа var getoff = 'Пошёл вон отсюда', а в рабочем файле шаблона записывается alert(getoff), независимо от языка.

D
На сайте с 31.01.2017
Offline
15
#5
Рамарио:
Пока я для себя вижу следующую стратегию: когда понадобится сделать, допустим, англоязычную версию, я просто добавлю папку вида en.example.com, туда скопирую HTML, CSS и JS, ручками все там переведу на английский и все.

Данная стратегия применима если пользоваться сборщиками проектов: gulp, webpack и т.д. Даже есть свои плюсы, можно отключать-включать модули для разных языковых версий.

Рамарио:
Какие есть идеи?

Есть похожий аналог PHP gettext() на js - https://www.npmjs.com/package/gettext. Или такой https://www.npmjs.com/package/config.

Тоже помню ваши посты:) Насколько понял, вы хотите реализовать веб приложение, а потом портировать в мобильные и возможно десктопные. Тогда вам прямая дорога в node.js и сборщики проектов, это упростит разработку в разы. Про ReactJS уже вам писал. Еще есть Angular, Backbone.js, Ember.js, это из популярных.

Сам рекомендую React, т.к. сейчас набирает обороты React Native и если не делать игры, то приложения под Android и iOS получаются довольно быстро, заодно куча готовых модулей используются в веб-приложении(сайт).

S1
На сайте с 15.09.2016
Offline
9
#6
Рамарио:
Из этого, кстати, как я понимаю, легко будет сделать мобильное приложение (вроде, Phonegap build легко из этого делает приложение под все известные платформы, API оно будет использовать тоже самое, что и веб-сайт).

1. Верстка должна быть полностью адаптивной.

2. Сайт должен быть сделан в виде SPA-приложения, чтобы переходы между экранами были без задержек.

3. Дизайн такого приложения не будет нативным (родным) для мобильной платформы. Нужно будет использовать что-то типа ionicframework.com

SEO анализ сайта (https://seo11.ru/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий