Собственно сам процесс назначения текущего языка в Symfony находится в файле app/config/config.yml находим там строчку translator: { fallback: %locale% } (если закомментирована, то раскоментируйте ее). После наш путь лежит в файл app/config/parameters.yml в нем находим строчку locale: en и меняем на locale: ru. Итак, саму Symfony к русскому языку мы подготовили.
Действия, который необходимо выполнить далее. Если у вас установлена Sonata (а я предполагаю что так и есть), то у вас в папке src должна быть папка Application в ней папка Sonata и при условии включения SonataMediaBundle должна появиться папка MediaBundle. Если так и есть, то идем туда. (Если такой не возникло, спрашивайте в комментах или пиши на мыло: sin666m4a1fox@gmail.com). В папке src/Application/Sonata/MediaBundle находим папку Resources, а в ней папку translations. Собственно в ней и создаем файл SonataMediaBundle.ru.xliff с таким содержимым:
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="default">
<source>default</source>
<target>По Умолчанию</target>
</trans-unit>
<trans-unit id="sidemenu.link_edit_media">
<source>sidemenu.link_edit_media</source>
<target>Редактировать</target>
</trans-unit>
<trans-unit id="sidemenu.link_media_view">
<source>sidemenu.link_media_view</source>
<target>Просмотр</target>
</trans-unit>
<trans-unit id="breadcrumb.link_media_create">
<source>breadcrumb.link_media_create</source>
<target>Создать</target>
</trans-unit>
<trans-unit id="breadcrumb.link_media_list">
<source>breadcrumb.link_media_list</source>
<target>Медиа</target>
</trans-unit>
<trans-unit id="breadcrumb.link_media_edit">
<source>breadcrumb.link_media_edit</source>
<target>Редактировать</target>
</trans-unit>
<trans-unit id="breadcrumb.link_media_view">
<source>breadcrumb.link_media_view</source>
<target>Просмотр</target>
</trans-unit>
<trans-unit id="breadcrumb.link_media_delete">
<source>breadcrumb.link_media_delete</source>
<target>Удалить</target>
</trans-unit>
<trans-unit id="breadcrumb.link_gallery_create">
<source>breadcrumb.link_gallery_create</source>
<target>Создать</target>
</trans-unit>
<trans-unit id="breadcrumb.link_gallery_list">
<source>breadcrumb.link_gallery_list</source>
<target>Галереи</target>
</trans-unit>
<trans-unit id="breadcrumb.link_gallery_edit">
<source>breadcrumb.link_gallery_edit</source>
<target>Редактировать</target>
</trans-unit>
<trans-unit id="breadcrumb.link_gallery_delete">
<source>breadcrumb.link_gallery_delete</source>
<target>Удалить</target>
</trans-unit>
<trans-unit id="media">
<source>media</source>
<target>Медиа</target>
</trans-unit>
<trans-unit id="gallery">
<source>gallery</source>
<target>Галерея</target>
</trans-unit>
<trans-unit id="title_select_provider">
<source>title_select_provider</source>
<target>Выбрать медиа поставщика</target>
</trans-unit>
<trans-unit id="no_provider_available">
<source>no_provider_available</source>
<target>Поставщик не доступен</target>
</trans-unit>
<trans-unit id="title.media_preview">
<source>title.media_preview</source>
<target>Предпросмтр</target>
</trans-unit>
<trans-unit id="title.media_thumbnail">
<source>title.media_thumbnail</source>
<target>Миниатюра</target>
</trans-unit>
<trans-unit id="title.informations">
<source>title.informations</source>
<target>Информация</target>
</trans-unit>
<trans-unit id="label.size">
<source>label.size</source>
<target>Размер</target>
</trans-unit>
<trans-unit id="label.width">
<source>label.width</source>
<target>Ширина</target>
</trans-unit>
<trans-unit id="label.height">
<source>label.height</source>
<target>Высота</target>
</trans-unit>
<trans-unit id="label.content_type">
<source>label.content_type</source>
<target>Тип контента</target>
</trans-unit>
<trans-unit id="label.copyright">
<source>label.copyright</source>
<target>Лицензия</target>
</trans-unit>
<trans-unit id="label.author_name">
<source>label.author_name</source>
<target>Автор</target>
</trans-unit>
<trans-unit id="label.cdn">
<source>label.cdn</source>
<target>Сеть доставки контента</target>
</trans-unit>
<trans-unit id="label.to_be_flushed">
<source>label.to_be_flushed</source>
<target>Flushable</target>
</trans-unit>
<trans-unit id="label.flushed_at">
<source>label.flushed_at</source>
<target>Опубликовано: </target>
</trans-unit>
<trans-unit id="label.public_url">
<source>label.public_url</source>
<target>Публичная Ссылка</target>
</trans-unit>
<trans-unit id="label.name">
<source>label.name</source>
<target>Имя</target>
</trans-unit>
<trans-unit id="label.file">
<source>label.file</source>
<target>Файл</target>
</trans-unit>
<trans-unit id="label.author">
<source>label.author</source>
<target>Автор</target>
</trans-unit>
<trans-unit id="label.enabled">
<source>label.enabled</source>
<target>Включить</target>
</trans-unit>
<trans-unit id="label.cdn_is_flushable">
<source>label.cdn_is_flushable</source>
<target>Flush CDN</target>
</trans-unit>
<trans-unit id="label.video_reference">
<source>label.video_reference</source>
<target>Изменить видео</target>
</trans-unit>
<trans-unit id="label.description">
<source>label.description</source>
<target>Описание</target>
</trans-unit>
<trans-unit id="title.formats">
<source>title.formats</source>
<target>Форматы</target>
</trans-unit>
<trans-unit id="label.select_context">
<source>label.select_context</source>
<target>Контекст: </target>
</trans-unit>
<trans-unit id="label.select_provider">
<source>label.select_provider</source>
<target>Тип : </target>
</trans-unit>
<trans-unit id="link.all_providers">
<source>link.all_providers</source>
<target>Все</target>
</trans-unit>
<trans-unit id="sonata.media.provider.dailymotion">
<source>sonata.media.provider.dailymotion</source>
<target>DailyMotion</target>
</trans-unit>
<trans-unit id="sonata.media.provider.youtube">
<source>sonata.media.provider.youtube</source>
<target>YouTube</target>
</trans-unit>
<trans-unit id="sonata.media.provider.vimeo">
<source>sonata.media.provider.vimeo</source>
<target>Vimeo</target>
</trans-unit>
<trans-unit id="sonata.media.provider.image">
<source>sonata.media.provider.image</source>
<target>Изображение</target>
</trans-unit>
<trans-unit id="sonata.media.provider.file">
<source>sonata.media.provider.file</source>
<target>Файлы</target>
</trans-unit>
<trans-unit id="label.protected_download_url">
<source>label.protected_download_url</source>
<target>Защищенная ссылка</target>
</trans-unit>
<trans-unit id="description.roles_download_strategy">
<source>description.roles_download_strategy</source>
<target>Медиа файлы могу быть добавленны пользователями с ролями : %roles%.</target>
</trans-unit>
<trans-unit id="label.protected_download_url_notice">
<source>label.protected_download_url_notice</source>
<target>Предупреждения</target>
</trans-unit>
<trans-unit id="description.public_download_strategy">
<source>description.public_download_strategy</source>
<target>Медиа файлы могут быть добавлены кем угодно.</target>
</trans-unit>
<trans-unit id="description.forbidden_download_strategy">
<source>description.forbidden_download_strategy</source>
<target>Медиа файлы не могут быть добавленны никем.</target>
</trans-unit>
<trans-unit id="link.test_protected_url">
<source>link.test_protected_url</source>
<target>Ссылка для скачивания</target>
</trans-unit>
<trans-unit id="label.edit_with_pixlr">
<source>label.edit_with_pixlr</source>
<target>Редактировать файлы с помощью Pixlr</target>
</trans-unit>
<trans-unit id="label.pixlr_warning">
<source>label.pixlr_warning</source>
<target>
<![CDATA[
<span class="label important">Important</span> you are going to expose the media to an <strong>external service</strong>. <br />
If you are working on confidentiel materials, please do not use this service.
]]>
</target>
</trans-unit>
<trans-unit id="label.pixlr_express_editor">
<source>label.pixlr_express_editor</source>
<target>
<![CDATA[
<strong style="color: white">Express Editor</strong> <br />
Simple interface for quick editing
]]>
</target>
</trans-unit>
<trans-unit id="label.pixlr_advanced_editor">
<source>label.pixlr_advanced_editor</source>
<target>
<![CDATA[
<strong style="color: white">Advanced Editor</strong> <br />
Experimented users only
]]>
</target>
</trans-unit>
<trans-unit id="form.label_enabled">
<source>form.label_enabled</source>
<target>Включить</target>
</trans-unit>
<trans-unit id="form.label_media">
<source>form.label_media</source>
<target>Средняя</target>
</trans-unit>
<trans-unit id="form.label_position">
<source>form.label_position</source>
<target>Позиция</target>
</trans-unit>
<trans-unit id="form.label_context">
<source>form.label_context</source>
<target>Контекст</target>
</trans-unit>
<trans-unit id="form.label_name">
<source>form.label_name</source>
<target>Имя</target>
</trans-unit>
<trans-unit id="form.label_default_format">
<source>form.label_default_format</source>
<target>Формат</target>
</trans-unit>
<trans-unit id="form.label_gallery_has_medias">
<source>form.label_gallery_has_medias</source>
<target>Медиа</target>
</trans-unit>
<trans-unit id="form.label_author_name">
<source>form.label_author_name</source>
<target>Автор</target>
</trans-unit>
<trans-unit id="form.label_cdn_is_flushable">
<source>form.label_cdn_is_flushable</source>
<target>Flush CDN</target>
</trans-unit>
<trans-unit id="form.label_description">
<source>form.label_description</source>
<target>Описание</target>
</trans-unit>
<trans-unit id="form.label_copyright">
<source>form.label_copyright</source>
<target>Лицензия</target>
</trans-unit>
<trans-unit id="list.label_enabled">
<source>list.label_enabled</source>
<target>Включить</target>
</trans-unit>
<trans-unit id="list.label_name">
<source>list.label_name</source>
<target>Имя</target>
</trans-unit>
<trans-unit id="list.label_context">
<source>list.label_context</source>
<target>Контекст</target>
</trans-unit>
<trans-unit id="list.label_default_format">
<source>list.label_default_format</source>
<target>Формат</target>
</trans-unit>
<trans-unit id="list.label__action">
<source>list.label__action</source>
<target>Действие</target>
</trans-unit>
<trans-unit id="list.label_custom">
<source>list.label_custom</source>
<target>Пользовательский</target>
</trans-unit>
<trans-unit id="filter.label_name">
<source>filter.label_name</source>
<target>Имя</target>
</trans-unit>
<trans-unit id="filter.label_provider_reference">
<source>filter.label_provider_reference</source>
<target>Ссылка на поставщика</target>
</trans-unit>
<trans-unit id="filter.label_enabled">
<source>filter.label_enabled</source>
<target>Включить</target>
</trans-unit>
<trans-unit id="filter.label_context">
<source>filter.label_context</source>
<target>Контекст</target>
</trans-unit>
</body>
</file>
</xliff>
Переводил это дело сам, и где то используя google translation поэтому могут быть (а наверно и есть) ошибки, но вы вольны менять значения русской версии по своему усмотрению и по своим требованиям.
P.S. Если что то лишнее в файле затесалось, то прошу прощения, возможно строки из проекта и там засветились. Собственно вот и все. Простой способ сделать в SonataMediaBundle свой перевод кнопок и строк. Всем удачи. До новых встреч.
P.S.S Не нашел как оформить файл xliff ибо хабровский source сбрасывает и делает не реальным чтение файла. Уж простите, может кто подскажет :)
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.
Комментариев нет:
Отправить комментарий