Skip navigation

Это форум технической поддержки WPML – плагина для многоязычной WordPress.

Доступно для чтения всем, но только клиенты, купившие WPML, могут оставлять сообщения. Сотрудники WPML отвечают на сообщения форума 6 дней в неделю, 22 часов в сутки.

Эта тема содержит 6 ответов, имеет 2 голоса.

Последнее обновление: andriyL 1 год, 10 месяцев назад.

При содействии: Andrey.

Автор Записи
18 апреля, 2023 на 9:12 пп #13499519

andriyL

Я сделал изменения на сайте в карточке товара,к корзине и в форме оформления заказов в файле functions.php
Как мне теперь найти и сделать перевод на другие языки?

Screenshot_2.png
Screenshot_1.png
19 апреля, 2023 на 9:48 дп #13503591

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

Вы пробовали найти строку следующим образом?

- Перейти в WPML >> Перевод Строк
- Активировать опцию "Look for strings while pages are rendered" (Искать строки во время рендеринга страниц)
- Открыть необходимую страницу, где отображаются не переведенные строки
- Вернуться в WPML >> Перевод Строк и проверить была ли зарегистрирована данная строка
- Сделать перевод

https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/

Если же данная строка не была найдена, тогда Вам необходимо убедиться, что она была обвернута в вызов Gettext. И после проделать еще раз шаги выше.

Больше информации:
https://wpml.org/documentation/support/enabling-text-translation-for-themes-not-compatible-with-wpml/

https://wpml.org/documentation/support/translating-the-theme-you-created/

19 апреля, 2023 на 7:43 пп #13507629

andriyL

не хватает моего ума, не получается у меня

20 апреля, 2023 на 9:51 дп #13510319

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

Покажите мне код, который Вы вставили в functions.php и другие изменения, которые были сделаны. Вы можете вставить код прям здесь на форуме и добавить скриншоты при необходимости.

20 апреля, 2023 на 3:05 пп #13512749

andriyL

////----------------------ДОБАВЛЯЮ ТЕКСТ В КАРТОЧКЕ ТОВАРА------------------------------
////----------------------

add_action( 'woocommerce_single_product_summary', 'action_function_name_2498' );
function action_function_name_2498(){
echo "<p style='font-weight: bold;'>Мінімальна сума замовлення стандартних товарів <span style='color:red;'>200 грн.</span> Індивідуальних <span style='color:red;'>500 грн.</span></p>";
}
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );

function wc_minimum_order_amount() {
$minimum = 200; //минимальная цена заказа
if ( WC()->cart->subtotal < $minimum ) {

if( is_cart() )
{
$s1 = wc_price( $minimum );
$s2 = wc_price( WC()->cart->subtotal); // общая сумма вместе БЕЗ доставки
//$s2 = wc_price( WC()->cart->total ); // общая сумма вместе С доставкой
$message = "Мінімальна сума замовлення на сайті $s1";
wc_print_notice( $message, 'error' );
}
else
{
$s1 = wc_price( $minimum );
$s2 = wc_price( WC()->cart->subtotal); // общая сумма вместе БЕЗ доставки
//$s2 = wc_price( WC()->cart->total ); // общая сумма вместе С доставкой
$message = "<p style='font-weight: bold;'>Мінімальна сума замовлення на сайті <span style='color:red;'>$s1 </span></p>";
wc_add_notice( $message, 'error' );

}
}

}
//-------------------------------------------
//Как отключить кнопку «оформление заказа», если минимальная сумма не достигнута
//-----------------------------------------
function disable_checkout_button() {

// Set this variable to specify a minimum order value
$minimum = 200;
$total = WC()->cart->cart_contents_total;
if( $total < $minimum ){
remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
echo 'Продовжити покупку Перейти до оформлення<p style="font-weight: bold;">Мінімальна сума замовлення на сайті <span style="color:red;">'.$minimum.'</span> грн. </p>';
}
}

add_action( 'woocommerce_proceed_to_checkout', 'disable_checkout_button', 1 );

21 апреля, 2023 на 7:04 дп #13515259

Andrey
Supporter

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+02:00)

Да, все верно. Как писал ранее, текст необходимо оборачивать в функцию gettext __(), чтобы он был доступен для перевода. Это стандартная функция для локализации строк в WordPress, иначе данные строки не смогут быть найдены плагинами для перевода.

Пример:

echo "<p style='font-weight: bold;'>Мінімальна сума замовлення стандартних товарів <span style='color:red;'>200 грн.</span> Індивідуальних <span style='color:red;'>500 грн.</span></p>";
}

Вам необходимо сделать следующее:

echo "<p style='font-weight: bold;'>__( 'Мінімальна сума замовлення стандартних товарів', 'woocommerce' ); <span style='color:red;'>200 грн.</span> __( 'Індивідуальних', 'woocommerce' ); <span style='color:red;'>500 грн.</span></p>";
}

Существуют разные вариации данной функции, больше примеров:
https://wpml.org/documentation/support/enabling-text-translation-for-themes-not-compatible-with-wpml/

После того, как сделали локализацию строки, Вам необходимо добавить ее на перевод. Используйте один из вариантов:

- Это активировать опцию "Look for strings while pages are rendered", как писал ранее (используйте шаги выше)

https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/#auto-register-strings-for-translation

- Просканировать текущую тему на новые строки в WPML >> Theme and Plugins Localization

https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/#scanning-for-hard-coded-strings

Я надеюсь эта информация поможет разобраться, найти и перевести необходимый текст.

https://codex.wordpress.org/I18n_for_WordPress_Developers