Оказалось нужным изменить значение текста у виджета quantity из commerce kickstart
нашёл, то что он подргужается таким способом:
<?php $form['quantity']['#title'] = t('Enter Quantity'); ?>
стало быть он берёт строку из переводов.. захожу в систему переводов. там нету такой строки.. ясное дело, возникает желанию добавить эту строку.. есть какой-то простой способ это сделать?
Комментарии
Зашел у себя в систему перевода, набрал для поиска Enter Quantity - появилась одна строка, перевел.Хм...при поиске у меня включены "Все языки", "Переведенные и непереведенные","Все текстовые группы".
Я так не делал, но попробовать можно на вкладке "Экспорт"(в "Переводе интерфейса") выложить все переводы в файл *.po. По образу и подобию в нем создать(посмотреть как в файле это сделано, только не вначале) две строки msgid "Enter Quantity"
msgstr "Желаемый перевод"
и импортировать файл обратно. И не забывайте М.Боярского, который пел примерно следующее "BackUp себе говорю я и ДЕЛАЮ ШАГ".
окей.. я скачал файл po их localize drupal project. Немецкий, потому что английский там пустой..
Теперь у меня в интерфейсе переводов строк появилась моя долгожданная строка "Enter Quantity"
НО!!! только на немецком. А где английская версия? и почему я не могу добавить английский вариант перевода? почему этот стринг даётся для редактирования только на немецком?
На Вашем сайте, в разделе переводы, на закладке "Экспорт" экспортировать в файл *.po Ваши все переводы!!! Потом подредактировать полученный файл и импортировать его обратно в систему. Скачивать ничего не нужно.
Интересный способ. Я с первого раза вас не понял.
Однако есть проблема. У меня в системе 2 языка. английский и немецкий. по-умолчанию - английский. когда захожу на закладку Экспорт, то мне предлагается экспортировать только немецкий язык, другого выбора нету.
а ещё я заметил странность. на странице переводов вот такая статистика - я прикрепил скриншот к этому сообщению
в общем пока что не получается это решить, к сожалению
А русского нет вообще у Вас ?? Тогда экспортируйте немецкий , в нем добавляйте перевод и имортируйте обратно в немецкий. На картинке ничего необычного.
Обратите еще внимание на модуль . Это автоматический и ручной обновлятель переводов всего , что у Вас есть на сайте и что устанавливаете. Можно его вручную запускать и он обновит все , что можно. Либо он сам стартует сразу после подключения нового модуля.
русского нету?
а как тогда быть с английским? ведь мне на самом деле перевод надо поменять для английской версии, а не для немецкой
Не совсем понимаю, что нужно в английском поменять?? Не нравится само "Enter Quantity"?Хм тогда попробуйте просто в тесте программы поменять, ведь Вы уже нашли место....
да.. чорт.. с самого начала то не написал, что мне нужно.
да. мне надо "Enter Quantity" заменить на просто "Quantity"
в тексте - самый просто способ.. но как известно, после обновления значение сбросится.. не хотелось бы
Куда сбросится??
что значит, куда сбросится? ... при обновлении кода произойдёт перезаписывание php-файла, и t('Enter Quantity'); снова примет изначальное значение
Ну если у Вас претензии ко мне, тогда всего хорошего.
да нет же.. я хочу понять, как мне изменить английский перевод строки.. ну и желательно так, чтобы он не затёрся при обновлении системы.
как перезаписать строку в исходном файле - это я понял, спасибо за совет... но мне кажется что это не правильно - изменять перевод посредством редактирования исходных файлов..
скажите, так можно заменить перевод для английского языка? или это попросту невозможно?
у меня просто появилась ещё одна строка, которую я бы хотел заменить... но мне дают редактировать перевод только для немецкого языка
Я думаю это естественно только для немецкого, потому как английский является исходным и соответсвенно его можно, как я понимаю, поменять только в тексте программы. Ведь в программе , я так догадываюсь, запускается поиск по английскому слову или словам и в зависимости от настроек языка выводится английский(как первоисточник) либо язык, который установлен по умолчанию и если для этого языка есть перевод.
Я себе представляю, что запись t('Enter quantity') запуск процедуры, которая :
Смотрит какой нужен перевод, если английский , то выводит 'Enter Quantity', если другой какой язык, то по 'Enter Quantity' ищет перевод и выводит перевод, если перевод не найден, то снова же 'Enter Quantity'. Я вот еще раз экспортировал русский перевод в ru.po. Там у меня есть строка msgid 'Enter Quantity'. Как бы Вы расшифровали msgid? Я бы, например, как message id т.е. идентифокатор сообщения.("Идентификатор" - однозначно определяющий). А за ним следует msgstr.Message string то бишь. Вот если бы поиск шел покакой-нибудь цифре и msgid=5 например, а не 'Enter Quantity', тогда бы стоило бы поискать и английский и другой перевод по цифровому id.Но цифрового айди не видать. Вот это все и подталкивает меня к выводу, что английский менять либо в программе либо вообще не трогать.Ибо как Вы правильно подметили, прийдет обновление и снова прийдется править.
А так же не исключаю, что я чего-то неправильно понимаю или не знаю.
в settings.php
'Enter Quantity' => 'Quantity',
);
фантастика!!! спасибо огромное