Еще раз о многоязычном сайте на Blogger

Модератор: Fleelancer

<<

Ivan

Автор темы

Сообщения: 37

Зарегистрирован: 09 ноя 2012, 21:19

Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Сообщение 06 май 2013, 14:29

Еще раз о многоязычном сайте на Blogger

Знаю, что Blogger не поддерживает многоязычную структуру блогов, но по причине большой необходимости, у меня есть полная англоязычная версия сайта. По сути, это отдельный сайт, который взаимосвязан с русским через кнопку переводчика в гаджете.
http://www.ivankrutoyarov.com/
Смирился с, не совсем удачными адресами, но не дает покоя переадресовка. Из-за того, что URL переадресации не определяется динамически, я не могу с русской страницы сообщения перейти на английский аналог сообщения, только на главную (она прописана по умолчанию).
Хотелось бы где-то хранить массив из двух колонок(для двух языков) вида

URL русский ---------------->> URL английский
1. URL 1 rus -------------------->> URL 1 en
............... -------------------->> ..........
n. URL n rus -------------------->> URL n en

в котором можно прописать адреса страниц русского сайта и адреса английских аналогов. Зная URL страницы, на которой находится пользователь, в массиве ищется этот URL и по его позиции в массиве выбирается URL аналога на другом языке.

Можно ли в Blogger организовать подобную структуру? Где можно посмотреть информацию?
<<

antoshabrain

Аватара пользователя

Сообщения: 47

Зарегистрирован: 22 дек 2011, 14:03

Благодарил (а): 7 раз.
Поблагодарили: 6 раз.

Сообщение 06 май 2013, 15:24

Re: Еще раз о многоязычном сайте на Blogger

В настройках сообщения, можно ставить свой url и потом просто копировать url одного из языков в тему другого. Либо, в теории, найти какую нибудь js библиотеку, которая каким то образом при определенном действии меняет боди на iframe с другого блога. Либо сразу на одном блоге писать на нескольких языках, тоже с помощью какой нибудь библиотеки подгружать нужную версию текста пользователю. Конечно, при таком варианте сложно говорить о рекламе для буржуев, хотя если она в боди и это эдсенс или что то подобное то возможны варианты.
<<

Ivan

Автор темы

Сообщения: 37

Зарегистрирован: 09 ноя 2012, 21:19

Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Сообщение 06 май 2013, 15:42

Re: Еще раз о многоязычном сайте на Blogger

Немного не понял, но пока ждал ответа, пришла в голову такая мысль:
Не нужно никакого массива. В коде самого сообщения (или страницы) прописать сразу переменную, которая бы содержала URL аналога сообщения (страницы) на другом языке. Вы это имели в виду?
Как потом вытащить этот URL для гаджета, чтобы на него переадресовать переводчик?
<<

Ivan

Автор темы

Сообщения: 37

Зарегистрирован: 09 ноя 2012, 21:19

Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Сообщение 06 май 2013, 19:10

Re: Еще раз о многоязычном сайте на Blogger

Как нужно описать в коде каждого сообщения переменную для присвоения URL страницы на другом языке?
Какой вид в гаджете должна иметь конструкция
<a href="URL ПЕРЕМЕННАЯ'><img.../></a>,
чтобы работала ссылка?
<<

aldous

Аватара пользователя

Сообщения: 1167

Зарегистрирован: 22 май 2011, 22:53

Откуда: Оттуда

Благодарил (а): 20 раз.
Поблагодарили: 131 раз.

Сообщение 06 май 2013, 23:10

Re: Еще раз о многоязычном сайте на Blogger

Сейчас Blogger и Яндекс поддерживаю мультиязычную разметку постов.
http://googlerussiablog.blogspot.ru/201 ... pdate.html
http://webmaster.ya.ru/replies.xml?item_no=15326
<<

Ivan

Автор темы

Сообщения: 37

Зарегистрирован: 09 ноя 2012, 21:19

Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Сообщение 07 май 2013, 19:24

Re: Еще раз о многоязычном сайте на Blogger

К сожалению, я понимаю, что мне этим уже не воспользоваться. Сайт работает давно и имеет ли смысл его переделывать (точнее даже не один)?
Если идти старым путем, озвучу еще раз чисто технические вопросы к знатокам кода:
Как нужно описать в коде каждого сообщения "ПЕРЕМЕННУЮ URL" этого сообщения на другом языке?
Какой вид в гаджете должна иметь конструкция
<a href="ПЕРЕМЕННАЯ URL"><img.../></a>,
чтобы работала ссылка?
<<

antoshabrain

Аватара пользователя

Сообщения: 47

Зарегистрирован: 22 дек 2011, 14:03

Благодарил (а): 7 раз.
Поблагодарили: 6 раз.

Сообщение 07 май 2013, 19:47

Re: Еще раз о многоязычном сайте на Blogger

Ivan писал(а):К сожалению, я понимаю, что мне этим уже не воспользоваться. Сайт работает давно и имеет ли смысл его переделывать (точнее даже не один)?
Если идти старым путем, озвучу еще раз чисто технические вопросы к знатокам кода:
Как нужно описать в коде каждого сообщения "ПЕРЕМЕННУЮ URL" этого сообщения на другом языке?
Какой вид в гаджете должна иметь конструкция
<a href="ПЕРЕМЕННАЯ URL"><img.../></a>,
чтобы работала ссылка?


Я далеко не прогер, знаю только базово, но php не поддерживается блоггером, если только, конечно, не пихнуть его через iframe. Если видите потенциал сайта и есть время, то обязательно переделывайте, заодно много недочетов найдете в процессе работы над старыми постами. Есть сумбурная догадка, что это можно сделать спомощью парсера spyder на питоне, но я от этого далек. Гугл дает возможность бесплатно разместить приложение на питоне, щяс правда ссылку не найду, вкладок over 9000 и все тормозит ужасно.
<<

Ivan

Автор темы

Сообщения: 37

Зарегистрирован: 09 ноя 2012, 21:19

Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Сообщение 08 май 2013, 20:31

Re: Еще раз о многоязычном сайте на Blogger

Аntoshabrain, спасибо за совет.
Сайт на английском нужен обязательно. У меня бывают выставки за границей, общаюсь со многими людьми. Не знаю, стоит ли вообще переживать о переделках (рейтинги и прочее). Тематика у меня узкая, сейчас больше 100 человек в день не бывает. Знать бы, что это пойдет на пользу...
Я не понял из этих ссылок, как все-таки организована навигация страниц с языка на язык. С адресами все красиво - это ясно. Гугл будет переключать автоматически на нужную версию, в зависимости от определения местоположения? А если русский человек в Штатах захочет почитать русскую версию? Как переключаться, тем более именно на нужном сообщении (чего я и добиваюсь)? Пока не понял, как будут поисковики делать выдачу.
Вообщем, пока вопросы. Наверное нужно делать тестовый блог.
Кстати, в PHP еще до публикации этой рубрики нашел что-то, на мой взгляд, похожее на мою задачу, попробовал - не работало.
Жду мнений по этому вопросу. Буду благодарен, если кто-то поделится умными мыслями.
<<

aldous

Аватара пользователя

Сообщения: 1167

Зарегистрирован: 22 май 2011, 22:53

Откуда: Оттуда

Благодарил (а): 20 раз.
Поблагодарили: 131 раз.

Сообщение 09 май 2013, 00:07

Re: Еще раз о многоязычном сайте на Blogger

но php не поддерживается блоггером

Спецы из IBM считают по-другому. Есть подложка для Blogger и PHP, только нам это не нужно.
<<

terkin88

Сообщения: 2

Зарегистрирован: 31 июл 2015, 23:11

Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение 01 авг 2015, 02:04

Re: Еще раз о многоязычном сайте на Blogger

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

Взято с англоязычного блога /go.php?http://polytimenerd.blogspot.com/2012/06/multilanguage-posts-in-your-blog.html за авторством Alessandro Pellegrini. Сообщение аж 2012 года. Здесь нужно работать с кодом каждого сообщения. Тогда при переключении кнопок (об этом позже), будет отображаться тот или иной вариант текста. На заголовки статей , страниц, ярлыков и виджетов это не действует.

Описываю по порядку, как и в данном посте.

Например, я хочу, чтобы блог был на английском и русском языках.

1 Создаем новый пост, и выбираю кнопку HTML (которая в левом верхнем углу рядом с кнопкой создать), чтобы в редакторе сообщения отражалась его кодировка.


2 Вставляем в сообщение следующий код :

  Код:
<div class="lang:russian">
Это русский текст
</div>
<div class="lang:english">
This is English content
</div>


Где "Это русский текст" - русский текст, а "This is English content" - английский текст (К.О)

3 Снова переключаем редактор нашего поста из режима HTML в визуальный режим (нажимаем кнопу создать в левом углу над полем редактора). Мы видим два предложения: "Это русский текст" и "This is English content". Выделяем эти предложения по очереди и вместо них вставляем заранее написанные и разбитые на абзацы тексты (оригинал и перевод). Клавишей Enter работать не нужно - английская версия будет стоять впритык к последнему абзацу русского текста - это нормально.

4 Сохраняем сообщение. Переходим в раздел Дизайн и добавляем гаджет HTML/JavaScript (лучше в самом видном месте - это будут наши кнопки для переключения между языками). Например, назовет этот гаджет Языки/ Languages . Вставляем в содержание следующий код:

  Код:
<script language="Javascript">
function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
        return classElements;
}

function show_en() {
        var ru = getElementsByClass('lang:russian', null, null);
        var en = getElementsByClass('lang:english', null, null);

        for(i = 0; i < ru.length; i++) {
                ru[i].style.display = 'none';
        }

        for(i = 0; i < en.length; i++) {
               en[i].style.display = 'block';
        }
}

function show_ru() {
        var ru = getElementsByClass('lang:russian', null, null);
        var en = getElementsByClass('lang:english', null, null);

        for(i = 0; i < ru.length; i++) {
                ru[i].style.display = 'block';
        }

        for(i = 0; i < en.length; i++) {
               en[i].style.display = 'none';
        }
}

</script>


<a href="#" onclick="show_en();"><img src="[b]ссылка на иконку английского флага[/b]" /></a>
<a href="#" onclick="show_ru();"><img src="[b]ссылка на иконку российского флага[/b]" /></a>


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

5 Сохраняем . В блоге появляется новый виджет "язык / language" - 2 кнопки с изображением флагов. В сообщении мы по прежнему видим два текста на русском и английском языках. При переключении кнопок отображается только одна версия. Чтобы исправить это, переходим в редактор шаблона. " Шаблон - Изменить HTML"

6 Через комбинацию клавиш ctr + F в коде шаблона находим тег <body ( На всякий случай рекомендуется сохранить резервную копию шаблона на компьютер)

7 Вставляем в тег (отсутпив пробел от слова body) одну из следующих записей:

onload='show_ru();' - если мы хотим, чтобы по умолчанию в постах блога отображался русский текст


onload='show_en();' -если мы хотим, чтобы по умолчанию в постах блога отображался английский текст

8 Сохраняем шаблон

9 Проверяем. На страницах видим лишь одну версию текста. При переключении языка получаем его переведенный вариант.

Спасибо автору Alessandro Pellegrini.

PS Как было сказано, мультиязычными можно сделать только сообщения (и может быть страницы). Но различные заголовки, названия гаджетов и страниц, название блога изменяться не будут.
Последний раз редактировалось Admin 06 авг 2015, 10:53, всего редактировалось 1 раз.
Причина: ВВкод
Popular Science Blog: nuclear physics, chemistry, biology, technology etc
След.

Вернуться в Вопросы от новичков

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot], Yahoo [Bot]

cron
Работает на phpBB © 2000, 2002, 2005, 2007 phpBB Group. Дизайн ST Software и Blogger Форум. Русская поддержка phpBB
ЧПУ ссылки от phpbb seo