Рубрика «мультиязычность»

Перевод состоит из двух частей:

  • Сама страница, текст, которой приходит с бэка по REST API запросу с указанием нужного языка

  • Перевод вспомогательных компонентов: кнопки, элементы навигации, отдельные заголовки.

Так же нам нужно переключение с английского языка на французский и обратно.

Для удобства работы будем использовать библиотеку Axios (установка npm i axios).

В корне проекта в папке store заводим инстанс, который отвечает за первичную настройку запросов:

apiInstance.ts

import axios from 'axios';
const URL = process.env.NEXT_PUBLIC_API_URL;
const instance = axios.create({
baseURL: `${URL}/api/`,
});
export default instance;

Читать полностью »

Вступление

Многие начинающие веб-разработчики сталкиваются с необходимостью создания меню, каталогов или рубрикаторов для своего проекта на Yii2, которые бы имели иерархическую структуру, но при этом поддерживали мультиязычность. Задача довольно простая, но не совсем очевидная в рамках данного фреймворка. Есть большое количество готовых расширений для создания древовидных структур (меню, каталогов итд.), но довольно сложно найти решение, которое бы поддерживало полноценную работу с несколькими языками. Причём речь тут идёт не о переводе интерфейса штатными средствами фреймворка, а про хранение данных в базе на нескольких языках. Также достаточно сложно найти удобный и полностью работоспособный виджет для управления деревом, который мог бы также работать с многоязычным контентом без сложных манипуляций с кодом.

Я хотел бы поделиться рецептом того, как можно создавать подобные модули на примере реализации модуля меню. Для примера я буду использовать шаблон приложения Yii2 App Basic, но вы можете адаптировать всё под свой шаблон, если он отличается от базового.

Читать полностью »

Введение

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

Мой опыт основывается на продвижении сайта для экспатов и путешественников со всего мира, контентные страницы которого формируются из базы данных. Сайт с миллионами страниц генерированного из базы данных контента.
Читать полностью »

Побочные стороны монопольного положения

Про минусы Битрикса уже написано достаточно и не так давно, т.е. претензии актуальны, поэтому дополним, а не повторим.

Банально, но сейчас 2017 год и даже без философии о необходимости must-have функционала сама компания вроде бы как понимает и предпринимает попытки выйти на международные рынки. Ведь рано или поздно рынок России будет исчерпан, а рынки стран СНГ будут, если не полностью, то частично утеряны (о причинах дальше) или в лучшем случае опять же исчерпаны. Для этого компания постоянно добавляет другие языки для административной части, среди которых практически не используемые у нас – Португальский, Испанский, Китайский, Немецкий и др. Но насколько эта активность реально принесет результат, а не формально добавит красивые пунктики в рекламные брошюры и презентационные файлы маркетологов и продавцов этой CMS?
Читать полностью »

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

Вы запускаете приложение и видите следующее:

Дизайн мультиязычных приложений - 1

Хм. Что-то тут не так. Сверху встроено видео, но текст в нем — на языке, которого вы не понимаете. Формулировки какие-то странные, а надпись на кнопке даже не влезает на саму кнопку. Как такое может нравиться людям?

Оказывается, дело в том, что приложение изначально создавалось не на вашем родном языке. Его разработали на эльфийском, а потом уже перевели. Большинство людей использует эльфийскую версию и не знает, как все это выглядит на вашем языке.
Читать полностью »

Проект по переводу языка Wolfram Language (Mathematica) на различные языки - 1

Перевод поста Eila Stiegler "The Wolfram Language Worldwide Translations Project".

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


Довольно много времени прошло с тех пор, как я закончила колледж в Германии. И я до сих пор хорошо помню те длинные бессонные ночи, что проводила за выполнением трудных домашних заданий, исследований, и почти полное отсутствие свободного времени. Но так же я хорошо помню и занятия по программированию. Я старалась приступить к ним как можно позже. Но когда программирование уже вошло в список моих обязательных предметов, у меня уже не было возможности его игнорировать. И так как английский — не мой родной язык, мне тяжело давались принципы программирования, которые были для меня чем-то уж очень абстрактным; я постоянно терялась среди названий различных функций, которые приводились на английском. И пускай мне далось всё это весьма тяжело, я с успехом закончила обучение, и вот теперь, годы спустя, я являюсь частью проекта, который мог бы тогда мне сильно помочь — проекта по переводу Wolfram Language на различные языки.

Проект по переводу Wolfram Language представляет любым неанглоговорящим программистам лёгкий вход в изучение Wolfram Language. Проект служит для того, чтобы иметь возможность работать с Wolfram Language вне зависимости от навыков владения английским языком.

Как обычно обучаются программированию? Судя по моему опыту, студентам дают кусок кода и объясняют для чего он нужен. Таким образом, у них появляется возможность познакомиться со структурой и различными функциями. Чтобы облегчить этот процесс, Wolfram Research добавила функционал, который проставляет к коду на языке Wolfram Language аннотации на предпочтительном для вас языке. Мы постоянно развиваем это направление и стараемся добавить максимально возможное количество языков. На данный момент уже имеется поддержка японского, китайского традиционного и упрощенного, корейского, испанского, русского, украинского, польского, немецкого, французского и португальского.

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

Аннотации к коду

Снова возвращаясь к своему студенчеству: если бы у меня был код демонстрации “Major Multinational Languages”, — пример с сайта Wolfram Demonstrations Project — я смогла бы увидеть этот код, аннотированный на немецком. Аннотации никак не изменяют код и не ограничивают его функциональность. Он по-прежнему вычисляемый и может редактироваться, а аннотации к нему изменяются на лету:

Проект по переводу языка Wolfram Language (Mathematica) на различные языки - 2
Читать полностью »

Лет пять назад подсел на разработку сайтов, причем чисто из интереса к вебу. Хотелось осознать, как их делать и делать лучше, чем другие. Начиналось всё это, как и для большинства разработчиков, с простого познания HTML, CSS и, конечно, популярных CMS, таких как Joomla, WordPress и Data Life Engine. По мере роста приходилось углубляться в Javascript и, конечно, в мой любимый сейчас PHP. Но все шло не так быстро, как хотелось. Тренируясь на простом, хотелось понять сложные вещи. PHP поначалу плохо давался, но характер взял верх и все же через некоторое время написал что-то вроде похожее на мини-социальную сеть.

Ну а затем пошло-поехало: ООП, MVC и, наконец, пришло время покорять фреймворки. На тот момент самыми известными для меня были Zend, Kohana и CodeIgniter. Позже узнал о Symphony и YII. Выбор пал на Kohana, т.к. для новичка была проще в освоении и с нормальной документацией. Ну и недостатков в принципе для себя не видел в этом фреймворке.
Читать полностью »

Не так давно состоялся релиз системы Textolite на Хабре. С тех пор вышло уже три версии, все они были связаны, в основном, с исправлением ошибок и доработкой существующих возможностей. И вот теперь готова первая версия, расширяющая возможности системы. Для этой версии выбраны наиболее горячие темы: отсутствие возможности создавать шаблоны и редактировать что-либо, кроме HTML-файлов. О том, что в итоге изменилось далее.
Читать полностью »

BabelFish

Интернет приносит в нашу жизнь глобальность. И многие веб-ресурсы не ограничиваются аудиторией, живущей в одной стране и разговаривающей на одном языке. Однако, поддержка нескольких языковых версий сайта вручную — затея малоприятная и, начиная с определённого масштаба, вряд ли реальная.

Например, в REG.RU на сегодня в словарях более 15000 фраз, из которых порядка 200 используют склонение, и более 2000 используют подстановку переменных. Каждый день добавляется не менее 10 фраз. И это при том, что мы пока только начали локализацию сайта и впереди планы на новые языки.

Хотя задачи интернационализации и локализации программного обеспечения (в том числе в веб) не новы, и, в целом, довольно стандартны, хороших универсальных инструментов для их решения не так много. И подобрать такой инструмент для конкретного стека клиентских и серверных технологий не всегда просто, особенно если хочется использовать один и тот же инструмент и там, и там.

DON'T PANIC.

Недавно был опубликован пакет BabelFish 1.0, предназначенный для интернационализации JavaScript-приложений.

Идеи, лежащие в его основе, настолько пришлись нам по душе, что мы даже перенесли их на Perl в виде CPAN-модуля Locale::Babelfish, и используем это для Perl-приложений. Но вернёмся к JavaScript-реализации.
Читать полностью »

Многоязычный сайт. 16 проблем и 5 способов решения

Вам приходилось видеть сайты на нескольких языках?

Уверен, да.

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

Сегодняшняя статья про Многоязычность сайтов.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js