Главная » Drupal » Статьи Drupal » Контекстный перевод строк — разработчикам на заметку
Распечатать статью

Контекстный перевод строк — разработчикам на заметку

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

Давайте возьмём простой пример, слово «view». Оно может означать различные вещи. Это может быть что-то в модуле Views, это может быть просмотр базы данных, оно может встречаться в фразе «how nice is the view from your window» и в фразе «click to view this post». Другой, очень часто используемый пример из ядра Друпала, слово «May». Друпал включает полные и короткие названия месяцев, январь—янв, февраль—фев и так далее. Но «May» одинаково пишется в обоих случаях. Разницы нет.

В Друпал 7 добавлен контекст строк, чтобы решить проблему перевода строк в зависимости от контекста, в котором они используются. Для слова «May» может использоваться контекст «Полное название месяца», в коде это выглядит вот так: $long_may = t('May', array(), array('context' => 'Long month name'));.

Контексты используются в том случае, когда строка сама по себе слишком коротка, чтобы самостоятельно сказать о своём контексте или для этой строки может быть несколько разных переводов в различных случаях. Разработчики теперь могут использовать эту возможность в своих модулях. Хильда Остлид (zirvap), из норвежской команды, ввела удобный тег для поиска тем связанных с контекстом: string context. Я надеюсь, что контексты станут отличным способом для решения конфликтов значений слова в переводе.

Источник: content-management-systems.info

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи