Jump to content

Завершение переводов для сайта


Recommended Posts

Завершение переводов для сайта

 

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

О причинах этого решения мы уже сообщали ранее в этой записи.

 

Перевод от 24 июля 2017, источник ВТК Интегра

Spoiler

24 июля 2017

 

t_9y3bwq8OI.jpg

 

Официальный сайт мультиплеера - только на английском.

Спустя 3 года, "TruckersMP" прекратил принимать новые переводы для сайта, и как только произойдёт крупное обновление самого сайта - исчезнет возможность выбора языка языка на веб-сайте.

Комментарий главного разработчика сайта TruckersMP, Thor Erik (Tuxy Fluffyclaws) об этом:

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

Из 35 языков (хорошо, 34, если не считать «английский»), на веб-сайте было включено 30, благодаря переводу пользователей. Несомненно, это хорошо, но с другой стороны 40% всех ошибок 500 (Внутренняя ошибка сервера, прим. "Интегра"), вызваны неверно сделанными переводами. 

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

TruckersMP использует
Laravel (бесплатный веб-фреймворк с открытым кодом), который в свою очередь использует модуль перевода Symfony (PHP фреймворк) вкупе скриптов, работающих взаимосвязано друг с другом. На первый взгляд, это может показаться разумным, но тогда вы получаете итог:


{0} No players in queue|{1} :players player in queue|[2, Inf] :players players in queue 

Вы можете сказать: «Это выглядит не так уж плохо, вам не нужно иметь 3 условия/пункта!». Конечно, для англоязычных пользователей это выглядит правильно, но для других языков не так всё просто. Вы также будете удивлены, узнав, что «I» в «Inf» чувствителен к регистру...

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

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

В качестве дополнительной заметки, если вы уже "находитесь в лодке" (предусмотрели кодом дальнейший перевод) для перевода, вы можете посмотреть на Microsoft, Apple, Logitech или любую другую огромную компанию и как они встраивают ключ языка в URL ссылок их сайтов. Если у вас есть хоть небольшие сомнения в том, что пользователи могут обмениваться ссылками, не делайте этого или не ставьте приоритеты в своих заголовках заголовках и для языковых ключей в URL-адресе, и так же необходимо убедиться, что перенаправление работает на ту же страницу и на этом языке или на английский (или региональный язык компании, если английский не является основным). Это то, о чем я даже не думал и, учитывая что большое количество наших пользователей - турки, у нас есть много ссылок с турецким языком в них, а переводы пользователей на турецкий язык разочаровывают.
"

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

Так же хотелось бы пояснить часть о "10-футовых полях" - наверняка многие из вас не поняли о чём речь.
Итак, поясняем:
Для примера возьмём одну из строк, приведённую в пример Эриком:


{0} No players in queue|{1} :players player in queue|[2, Inf] :players players in queue

Вы можете догадаться, что данная строка отвечает за отображение части информации о статусе сервера, а точнее об очереди на него.
Элемент 


{0} No players in queue|

должен сообщать о том, что нет игроков в очереди
Элемент 


{1} :players player in queue|

отображает текущее значение и текст - *игрок в очереди. Здесь важно отметить, что важно - "1" - в английском языке окончание для "player" не используется.
Элемент


[2, Inf] :players players in queue

отображает текущее значение и текст - *игроков в очереди. Здесь важно отметить, что важно - "2" - это чётное/множественное число и в английском языке применяется окончание для "player" -> "playerS".
Всё. Для английского языка не нужно больше ничего делать, только эти три условия - нет, есть, есть много.
 

Quote

Теперь рассмотрим на примере русского языка, сколько необходимо условий в строке для корректного отображения информации на сайте:

1. Нет игроков в очереди
2. 1 (21, 31, 131, 231 и т.д) игрок в очереди
3. 2 (3, 4, 33, 62) игрока в очереди
4. 5 (6, 7, 8, 9, 25, 134) игрока в очереди


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

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

P.S.:
К слову, перевод сайта TruckersMP на русский язык был осуществлён всего 3-мя людьми и на данный момент перевод выполнен на 100% из доступного для перевода.
И вот так это выглядит на данный момент (24 июля 2017) -

 

iZ6PUpSy3O8.jpg

 

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

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

 

Источник

  • Thanks 1

ResTed.gif

Бронзовый призёр в номинации "Сотрудник поддержки 2016"

Game Moderator Leader of the Year 2019 - #2

TMPForum.png

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.