• Поставил тему для вордпреса, плагин WooCommerce и Saphali Woocommerce Russian, все вроде перевелось нормально, но на кнопке «Добавить в корзину» по прежнему надпись «ADD TO CART», тема которую я поставил загружает собственные стили для WooCommerce, нашел в папке темы файл где прописан label для копки, и вручную поменял текст на «Добавить в корзину», текст с кнопки пропал вовсе, сначала я подумал что в стилях темы используется шрифт не поддерживающий кириллицу, но увидел что используемый шрифт Source Sans Pro ее поддерживает. Очень странно что в этот лейбел можно писать только латинские символы, хотя используемый шрифт поддерживает кириллицу. В чем может быть проблема?

    Ниже кусок кода который отвечает за этот label:

    <?php
    /**
     * Loop Add to Cart
     *
     * @author 		WooThemes
     * @package 	WooCommerce/Templates
     * @version     1.6.4
     */
    
    if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
    
    global $product;
    ?>
    
    <?php if ( ! $product->is_in_stock() ) : ?>
    
    	<a href="<?php echo apply_filters( 'out_of_stock_add_to_cart_url', get_permalink( $product->id ) ); ?>"><?php echo apply_filters( 'out_of_stock_add_to_cart_text', __( 'Read More', 'woocommerce' ) ); ?></a>
    
    <?php else : ?>
    
    	<?php
    		$link = array(
    			'url'   => '',
    			'label' => '',
    			'class' => ''
    		);
    
    		$handler = apply_filters( 'woocommerce_add_to_cart_handler', $product->product_type, $product );
    
    		switch ( $handler ) {
    			case "variable" :
    				$link['url'] 	= apply_filters( 'variable_add_to_cart_url', get_permalink( $product->id ) );
    				$link['label'] 	= apply_filters( 'variable_add_to_cart_text', __( 'Select options', 'woocommerce' ) );
    			break;
    			case "grouped" :
    				$link['url'] 	= apply_filters( 'grouped_add_to_cart_url', get_permalink( $product->id ) );
    				$link['label'] 	= apply_filters( 'grouped_add_to_cart_text', __( 'View options', 'woocommerce' ) );
    			break;
    			case "external" :
    				$link['url'] 	= apply_filters( 'external_add_to_cart_url', get_permalink( $product->id ) );
    				$link['label'] 	= apply_filters( 'external_add_to_cart_text', __( 'Read More', 'woocommerce' ) );
    			break;
    			default :
    				if ( $product->is_purchasable() ) {
    					$link['url'] 	= apply_filters( 'add_to_cart_url', esc_url( $product->add_to_cart_url() ) );
    					$link['label'] 	= apply_filters( 'add_to_cart_text', __( 'ADD TO CART', 'woocommerce' ) );
    					$link['class']  = apply_filters( 'add_to_cart_class', 'add_to_cart_button' );
    				} else {
    					$link['url'] 	= apply_filters( 'not_purchasable_url', get_permalink( $product->id ) );
    					$link['label'] 	= apply_filters( 'not_purchasable_text', __( 'Read More', 'woocommerce' ) );
    				}
    			break;
    		}
    
    		echo apply_filters( 'woocommerce_loop_add_to_cart_link', sprintf('<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s"><p><i class="mukam-shop"></i> %s</p></a>', esc_url( $link['url'] ), esc_attr( $product->id ), esc_attr( $product->get_sku() ), esc_html( $link['label'] ) , esc_attr( $link['class'] ), esc_attr( $product->product_type ) ), $product, $link );
    
    	?>
    
    <?php endif; ?>
Просмотр 10 ответов — с 1 по 10 (всего 10)
  • В чем может быть проблема?

    http://wpmag.ru/2013/kak-perevodit-temyi-wordpress/

    http://wpmag.ru/2013/kak-perevodit-temyi-wordpress/

    Я добавил в defult.po лежащий в текущей теме в папке languages

    #: ../woocommerce/loop/add-to-cart.php:37
    msgid "ADD TO CART"
    msgstr "В корзину"

    Но никакого эффекта это не возымело, причем пробовал перевести уже предложенные записи например:

    #: ../index.php:50 ../single.php:38
    #, php-format
    msgid "Search Results for: %s"
    msgstr "Товары по запросу: %s"

    Как узнать какой сейчас PO файл использует wordpress?

    Модератор Юрій

    (@yube)

    Как узнать какой сейчас PO файл использует wordpress?

    Никакой. WordPress использует MO — результат компиляции .po.

    Я добавил в defult.po лежащий в текущей теме в папке languages

    Нужно не defult. а в язык локализации (ru-RU). И после из po. получить .mo
    По ссылке написано как это делать.

    Никакой. WordPress использует MO — результат компиляции .po.

    Хорошо, как узнать какой .po файл используется для компиляции .mo, поскольку тот .po, который я редактировал в папке с текущей темой, видимо не используется вовсе. В текущей теме, в папке languages всего 2 файла defult.po и defult.mo

    Нужно не defult. а в язык локализации (ru-RU). И после из po. получить .mo
    По ссылке написано как это делать.

    В wp-config у меня указано

    define( 'WPLANG', 'ru_RU' );

    -Взял файл defult.po из папки languages, текущей темы
    -Переименовал его в ru_RU
    -Открыл в Poedit, изменил в Каталог->Свойства язык перевода на русский
    -Перевел несколько строк
    -Сохранил, получил 2 файла .po .mo
    -Закинул эти 2 файла в папку languages, текущей темы (wp-content\themes\mytheme\languages)
    -На всякий случай очистил кеш на сайте.

    Не помогло, весь текст в теме по прежнему на английском.

    А в теме точно есть поддержка переводов?

    Переименовал его в ru_RU

    в теме есть другие лангпаки (языковые файлы)? Они называются соответственно локализации? (название лангпака может быть не ru_RU.mo, а например mytheme-ru_RU.mo)

    Закинул эти 2 файла в папку languages,

    Судя по комментариям в приведённом коде используется тема от WooThemes.
    В паблик-темах этого производителя лангпаки находятся в каталоге lang

    Вместо Поэдита можно использовать этот плагин и переводить непосредственно в ВП.

    в теме есть другие лангпаки (языковые файлы)? Они называются соответственно локализации? (название лангпака может быть не ru_RU.mo, а например mytheme-ru_RU.mo)

    в теме, в папке languages, находятся только defult.po и defult.mo. Я взял defult.po переименовал его в ru_RU.po и изменил его в Poedit, а потом залил его в туже папку вместе с новым .mo

    Нашел в чем была проблема, в переводе было указано что исходное название «Add to cart», а в теме этот лейбел назывался «ADD TO CART», исправил в теме на строчные буквы все отлично перевелось.

Просмотр 10 ответов — с 1 по 10 (всего 10)

Тема «Проблема с переводом» закрыта для новых ответов.