mahdi6 1 ارسال شده در مهر 21، 1400 گزارش اشتراک گذاری ارسال شده در مهر 21، 1400 با سلام. در فایل functions.php یک قطعه کد قرار دادم که در آن یک کلمه فارسی وجود دارد که مربوط به ووکامرس است. حال اگر سایت چند زبانه باشد که بخواهم آن کلمه ی فارسی موجود در قطعه کد به زبان های دیگر در صفحه ی خودشان به نمایش گذاشته شود باید چه کاری انجام دهم ؟ ( مثلا در صفحه ی زبان انگلیسی , معادل کلمه ی فارسی را به انگلیسی وارد کنم تا قابل نمایش و خواندن برای انگلیسی زبانان باشد) در ضمن wpml هم نصب است اما در string translition کلمه ی موجود در functions وجود نداشت تا ترجمه اش کنم. لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
Masih 6,279 ارسال شده در مهر 21، 1400 گزارش اشتراک گذاری ارسال شده در مهر 21، 1400 درود؛ بجای عبارت مستقیم، باید به صورت Translate Ready وارد کنید. یعنی به صورت زیر: function mesale_functions( $text ) { return __("متن خود را اینجا وارد کنید","themedomain"); } add_filter( 'mesale-filter', 'mesale_functions' ); بجای themedomain باید دامین ترجمه قالب رو از فایل Style.css قالب جایگزین کنید تا ابزارهای ترجمه بتونن اون متن رو شناسایی کنند. 1 1 لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
mahdi6 1 ارسال شده در مهر 21، 1400 مالک گزارش اشتراک گذاری ارسال شده در مهر 21، 1400 در 49 دقیقه قبل، Masih گفته است : درود؛ بجای عبارت مستقیم، باید به صورت Translate Ready وارد کنید. یعنی به صورت زیر: function mesale_functions( $text ) { return __("متن خود را اینجا وارد کنید","themedomain"); } add_filter( 'mesale-filter', 'mesale_functions' ); بجای themedomain باید دامین ترجمه قالب رو از فایل Style.css قالب جایگزین کنید تا ابزارهای ترجمه بتونن اون متن رو شناسایی کنند. خب این کد مربوط به تغییر نمایش "بازه قیمتی ووکامرس" به نمایش "حداقل قیمت محصول در ووکامرس" است که در این کد کلمه ی فارسی "شروع قیمت از" وجود دارد که باید قابل ترجمه شود. لطفا این کد را به نحوی که برای ابزار مترجم فعال شود ویرایش کنید تا متوجه بشم : add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 ); add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 ); function wc_wc20_variation_price_format( $price, $product ) { // Main Price $prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) ); $price = $prices[0] !== $prices[1] ? sprintf( __( 'شروع قیمت از %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); // Sale Price $prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) ); sort( $prices ); $saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'شروع قیمت از %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); if ( $price !== $saleprice ) { $price = '<del>' . $saleprice . '</del> <ins>' . $price . '</ins>'; } return $price; } لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
Masih 6,279 ارسال شده در مهر 21، 1400 گزارش اشتراک گذاری ارسال شده در مهر 21، 1400 الان هم ابزار ترجمه می تونه شناسایی کنه فقط از زیرمجموعه قالب ها در دسترس نیست. چون Text Domain مربوط به افزونه ووکامرس استفاده شده احتمالا اگه وارد ویرایش زبان افزونه ووکامرس با Loco Translate یا WPML بشید می تونید این متن ها رو مشاهده کنید. اگه می خواهید توی قالب هاتون بیاد، باید textdomain رو تغییر بدید. به این صورت: add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 ); add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 ); function wc_wc20_variation_price_format( $price, $product ) { // Main Price $prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) ); $price = $prices[0] !== $prices[1] ? sprintf( __( 'شروع قیمت از %1$s', 'mytextdomain' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); // Sale Price $prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) ); sort( $prices ); $saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'شروع قیمت از %1$s', 'mytextdomain' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); if ( $price !== $saleprice ) { $price = '<del>' . $saleprice . '</del> <ins>' . $price . '</ins>'; } return $price; } بجای هر دو mytextdomain باید تکست دامین قالبتون رو جایگزین کنید. وارد فایل style.css قالب بشید اونجا تکست دامین قالب نوشته شده ابتدای فایل (در محدوده اطلاعات قالب) 1 1 لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
mahdi6 1 ارسال شده در مهر 22، 1400 مالک گزارش اشتراک گذاری ارسال شده در مهر 22، 1400 (ویرایش شده) در 2 ساعت قبل، Masih گفته است : الان هم ابزار ترجمه می تونه شناسایی کنه فقط از زیرمجموعه قالب ها در دسترس نیست. چون Text Domain مربوط به افزونه ووکامرس استفاده شده احتمالا اگه وارد ویرایش زبان افزونه ووکامرس با Loco Translate یا WPML بشید می تونید این متن ها رو مشاهده کنید. اگه می خواهید توی قالب هاتون بیاد، باید textdomain رو تغییر بدید. به این صورت: add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 ); add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 ); function wc_wc20_variation_price_format( $price, $product ) { // Main Price $prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) ); $price = $prices[0] !== $prices[1] ? sprintf( __( 'شروع قیمت از %1$s', 'mytextdomain' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); // Sale Price $prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) ); sort( $prices ); $saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'شروع قیمت از %1$s', 'mytextdomain' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); if ( $price !== $saleprice ) { $price = '<del>' . $saleprice . '</del> <ins>' . $price . '</ins>'; } return $price; } بجای هر دو mytextdomain باید تکست دامین قالبتون رو جایگزین کنید. وارد فایل style.css قالب بشید اونجا تکست دامین قالب نوشته شده ابتدای فایل (در محدوده اطلاعات قالب) انجام دادم اما در قسمت string translation wpml عبارت فارسی اضافه نشد. امکان اینکه تنها برای یک زبان خاص از این کد functions استفاده کنیم هست؟ مثلا همین کدی که به اشتراک گذاشته شده با متن فارسی برای زبان فارسی و مثل همین تنها با متن انگلیسی برای زبان انگلیسی اضافه کنیم. !! ویرایش شده مهر 22، 1400 توسط mahdi6 لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
Masih 6,279 ارسال شده در مهر 22، 1400 گزارش اشتراک گذاری ارسال شده در مهر 22، 1400 اگر اضافه نشد بجای فارسی، زبان انگلیسی رو بصورت پیش فرض داخل کدها وارد کنید و ترجمه ها رو در فایل po و mo انجام بدید. مرحله تغییر کد رو انجام بدید و بجای wpml افزونه loco translate رو نصب کنید. در قسمت ترجمه ها، زبان جدید برای سایت ایجاد کنید و ترجمه انجام بدید. لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
پست های پیشنهاد شده