перевод строки в drupal без английского по умолчанию в коде

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

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

Теперь я вижу, что мои строки должны быть на английском языке в вызове t ('button label for'). Тогда этот текст «например, метка кнопки» является ключевым для других языков. Проблемы: 1. изменение требует изменения кода 2. изменение требует обновления ключевой строки на всех языках 3. некоторые языки могут иметь разную грамматику, и одно английское слово может отображаться во многих версиях, поэтому текст «книга» не является эногу и не может быть меткой, поскольку это могут быть 2 разных слова на другом языке в зависимости от контекста или книгу для прочтения).

Есть ли способ иметь значимые метки, такие как mymodule_btn_buy_now, и тогда каждый язык будет использовать это в качестве ключа? То есть английские метки будут отделены от кода и помещены в файл перевода? Можно ли это как-то сделать в drupal?

Спасибо!

4 голоса | спросил Art79 8 J000000Thursday10 2010, 16:59:56

3 ответа


0

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

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

ответил Henrik Opel 10 J000000Saturday10 2010, 15:02:57
0

AFAIK, нет необходимости писать строку перевода внутри t() в Enlisch, это просто по умолчанию и удобство. Если ваш язык по умолчанию, например, Польский, чем вы можете написать все строки перевода на польском языке и перевести их через интерфейс Drupals. Причина правильного перевода на английский заключается в том, что это язык по умолчанию, и если другой язык не найден, то используется уже заданная строка.

Для Drupal не имеет значения, переведено ли отдельное слово или полное предложение, так что вы можете легко переводить целые предложения, и вам не нужно беспокоиться о грамматике или о чем-либо.

Лично я бы порекомендовал сохранить переводы с английского на метод t(), так как это хорошая настройка по умолчанию, и просто добавьте все необходимые языки с Drupal

ответил DrColossos 8 J000000Thursday10 2010, 17:35:42
0

После расследования источников я думаю, что нет никакого способа сделать это, щелкая.

Лучшее решение, которое я пока вижу, это заменить все экземпляры «en» на «zu» ... сделал это в common.php и locale.php и на самом деле работает! ЛОЛ! Придется немного его протестировать, так как я не уверен, насколько сильно это сказывается на производительности. Не должно быть слишком плохо, так как английский был иностранным языком, я думаю. Я могу редактировать этикетки и экспортировать переведенные тексты на английском языке.

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

ответил Art79 8 J000000Thursday10 2010, 20:00:19

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132