Plugin Directory

Changeset 3459343


Ignore:
Timestamp:
02/11/2026 08:53:25 PM (8 days ago)
Author:
fromgate
Message:

Update trunk/assets for version 1.0.4

Location:
prozen-integration-for-dzen/trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • prozen-integration-for-dzen/trunk/includes/Modules/Rss/ContentProcessor.php

    r3455309 r3459343  
    130130
    131131    /**
     132     * Transformer for custom html block
     133     */
     134    private static function transform_html_block(array $block): string
     135    {
     136        $html = $block['innerHTML'] ?? '';
     137        $video_html = self::extract_video_from_html($html);
     138        return !empty($video_html) ? $video_html : $html;
     139    }
     140
     141    /**
    132142     * Transformer for unknow gutenberg blcoks
    133143     */
     
    135145    {
    136146        $html = \render_block($block);
    137         $video_name = '';
    138         if (preg_match('/"name"\s*:\s*"([^"]+)"/', $html, $nm)) {
    139             $video_name = stripslashes($nm[1]);
    140         }
    141 
    142         if (preg_match('/"embedUrl"\s*:\s*"([^"]+)"/', $html, $matches)) {
    143             $url = stripslashes($matches[1]);
    144             $clean_url = self::process_generic_video_url($url, $video_name);
    145             if ($clean_url) return $clean_url;
    146         }
    147 
    148         if (preg_match('/href=["\']([^"\']*(?:dzen\.ru\/embed|youtube\.com|youtu\.be|rutube\.ru|vk\.com\/video_ext)[^"\']*)["\']/', $html, $matches)) {
    149             $url = $matches[1];
    150             $clean_url = self::process_generic_video_url($url, $video_name);
    151             if ($clean_url) return $clean_url;
    152         }
    153 
    154         return $html;
    155     }
    156 
    157     private static function process_generic_video_url(string $url, string $title = ''): string
    158     {
    159         if (empty($url)) return '';
    160 
    161         if (strpos($url, 'dzen.ru') !== false) {
    162             $watch_url = '';
    163             $final_title = $title;
    164 
    165             if (strpos($url, 'video/watch') !== false) {
    166                 $watch_url = $url;
    167             } elseif (strpos($url, 'embed') !== false) {
    168                 $meta = \ProzenDzen\Services\DzenApi::fetch_video_metadata($url);
    169                 if (!empty($meta['watchUrl'])) {
    170                     $watch_url = $meta['watchUrl'];
    171                     if (empty($final_title)) {
    172                         $final_title = $meta['title'];
    173                     }
    174                 }
    175             }
    176 
    177             if (!empty($watch_url)) {
    178                 return sprintf(
    179                     '<iframe width="480" height="270" src="%s" allow="autoplay; fullscreen; accelerometer; gyroscope; picture-in-picture; encrypted-media" frameborder="0" scrolling="no" allowfullscreen></iframe>',
    180                     esc_url($watch_url)
    181                 );
    182             }
    183 
    184             return sprintf(
    185                 '<p>%1$s <a href="%2$s">%3$s</a></p>',
    186                 __('Видео:', 'prozen-integration-for-dzen'),
    187                 esc_url($url),
    188                 !empty($final_title) ? esc_html($final_title) : __('Смотреть видео в Дзене', 'prozen-integration-for-dzen')
    189             );
    190         }
    191 
    192         if (preg_match('/(youtube\.com|youtu\.be)/', $url)) {
    193             return self::handle_youtube($url);
    194         }
    195 
    196         if (strpos($url, 'rutube.ru') !== false) {
    197             return sprintf(
    198                 '<p>%1$s <a href="%2$s">%3$s</a></p>',
    199                 __('Видео:', 'prozen-integration-for-dzen'),
    200                 esc_url($url),
    201                 !empty($title) ? esc_html($title) : __('Смотрите видео на RuTube', 'prozen-integration-for-dzen')
    202             );
    203         }
    204 
    205         if (strpos($url, 'vk.com/video_ext') !== false || strpos($url, 'vkvideo.ru') !== false) {
    206             return sprintf(
    207                 '<p>%1$s <a href="%2$s">%3$s</a></p>',
    208                 __('Видео:', 'prozen-integration-for-dzen'),
    209                 esc_url($url),
    210                 !empty($title) ? esc_html($title) : __('Смотрите видео в ВК', 'prozen-integration-for-dzen')
    211             );
    212         }
    213 
    214         return '';
     147        $video_html = self::extract_video_from_html($html);
     148        return !empty($video_html) ? $video_html : $html;
    215149    }
    216150
     
    745679    }
    746680
     681    private static function extract_video_from_html(string $html): string
     682    {
     683        if (empty($html)) return '';
     684
     685        $video_name = '';
     686
     687        if (preg_match('/"name"\s*:\s*"([^"]+)"/', $html, $nm)) {
     688            $video_name = stripslashes($nm[1]);
     689        }
     690
     691        if (preg_match('/"embedUrl"\s*:\s*"([^"]+)"/', $html, $matches)) {
     692            $url = stripslashes($matches[1]);
     693            $clean_url = self::process_generic_video_url($url, $video_name);
     694            if ($clean_url) return $clean_url;
     695        }
     696
     697        if (preg_match('/<iframe[^>]+src=["\']([^"\']+)["\']/i', $html, $ifm)) {
     698            $url = $ifm[1];
     699            if (empty($video_name) && preg_match('/title=["\']([^"\']+)["\']/i', $html, $ti)) {
     700                $video_name = $ti[1];
     701            }
     702            $clean_url = self::process_generic_video_url($url, $video_name);
     703            if ($clean_url) return $clean_url;
     704        }
     705
     706        if (preg_match('/href=["\']([^"\']*(?:dzen\.ru\/embed|youtube\.com|youtu\.be|rutube\.ru|vk\.com\/video_ext)[^"\']*)["\']/', $html, $matches)) {
     707            $url = $matches[1];
     708            $clean_url = self::process_generic_video_url($url, $video_name);
     709            if ($clean_url) return $clean_url;
     710        }
     711
     712        return '';
     713    }
     714
     715    private static function process_generic_video_url(string $url, string $title = ''): string
     716    {
     717        if (empty($url)) return '';
     718
     719        if (strpos($url, 'dzen.ru') !== false) {
     720            $watch_url = '';
     721            $final_title = $title;
     722
     723            if (strpos($url, 'video/watch') !== false) {
     724                $watch_url = $url;
     725            } elseif (strpos($url, 'embed') !== false) {
     726                $meta = \ProzenDzen\Services\DzenApi::fetch_video_metadata($url);
     727                if (!empty($meta['watchUrl'])) {
     728                    $watch_url = $meta['watchUrl'];
     729                    if (empty($final_title)) {
     730                        $final_title = $meta['title'];
     731                    }
     732                }
     733            }
     734
     735            if (!empty($watch_url)) {
     736                return sprintf(
     737                    '<iframe width="480" height="270" src="%s" allow="autoplay; fullscreen; accelerometer; gyroscope; picture-in-picture; encrypted-media" frameborder="0" scrolling="no" allowfullscreen></iframe>',
     738                    esc_url($watch_url)
     739                );
     740            }
     741
     742            return sprintf(
     743                '<p>%1$s <a href="%2$s">%3$s</a></p>',
     744                __('Видео:', 'prozen-integration-for-dzen'),
     745                esc_url($url),
     746                !empty($final_title) ? esc_html($final_title) : __('Смотреть видео в Дзене', 'prozen-integration-for-dzen')
     747            );
     748        }
     749
     750        if (preg_match('/(youtube\.com|youtu\.be)/', $url)) {
     751            return self::handle_youtube($url);
     752        }
     753
     754        if (strpos($url, 'rutube.ru') !== false) {
     755            return sprintf(
     756                '<p>%1$s <a href="%2$s">%3$s</a></p>',
     757                __('Видео:', 'prozen-integration-for-dzen'),
     758                esc_url($url),
     759                !empty($title) ? esc_html($title) : __('Смотрите видео на RuTube', 'prozen-integration-for-dzen')
     760            );
     761        }
     762
     763        if (strpos($url, 'vk.com/video_ext') !== false || strpos($url, 'vkvideo.ru') !== false) {
     764            $vk_title = $title;
     765            if (empty($vk_title)) {
     766                $meta = \ProzenDzen\Services\DzenApi::fetch_vk_video_metadata($url);
     767                if (!empty($meta['title'])) {
     768                    $vk_title = $meta['title'];
     769                }
     770            }
     771
     772            return sprintf(
     773                '<p>%1$s <a href="%2$s">%3$s</a></p>',
     774                __('Видео:', 'prozen-integration-for-dzen'),
     775                esc_url($url),
     776                !empty($vk_title) ? esc_html($vk_title) : __('Смотрите видео в ВК', 'prozen-integration-for-dzen')
     777            );
     778        }
     779
     780        return '';
     781    }
     782
    747783    /**
    748784     * Signature processing.
  • prozen-integration-for-dzen/trunk/includes/Services/DzenApi.php

    r3455309 r3459343  
    9595
    9696        if ($result['title'] || $result['watchUrl']) {
    97             set_transient('prozen_dzen_vid_meta_' . $cache_key, $result, YEAR_IN_SECONDS);
     97            set_transient('prozen_dzen_vid_meta_' . $cache_key, $result, MONTH_IN_SECONDS);
    9898        }
    9999        return $result;
     
    102102    public static function fetch_vk_video_metadata($url)
    103103    {
     104        if (empty($url)) return ['title' => ''];
     105
     106        $clean_url = strtok($url, '?');
     107        $cache_key = md5($clean_url);
     108        $cached = get_transient('prozen_dzen_vk_vid_meta_' . $cache_key);
     109
     110        if (false !== $cached) {
     111            return $cached;
     112        }
     113
    104114        $response = wp_remote_get($url, ['timeout' => 15]);
    105         if (is_wp_error($response) || wp_remote_retrieve_response_code($response) !== 200) return false;
     115        if (is_wp_error($response) || wp_remote_retrieve_response_code($response) !== 200) {
     116            return ['title' => ''];
     117        }
     118
    106119        $html = wp_remote_retrieve_body($response);
    107         if (preg_match('/"title":"([^"]+)"/u', $html, $m)) return ['title' => str_replace('\"', '"', $m[1])];
    108         return ['title' => ''];
     120
     121        if (preg_match('/charset=windows-1251/i', $html)) {
     122            $html = mb_convert_encoding($html, 'UTF-8', 'windows-1251');
     123        }
     124
     125        $result = ['title' => ''];
     126
     127        if (preg_match('/"title"\s*:\s*"((?:[^"\\\\]|\\\\.)*)"/', $html, $m)) {
     128            $raw_value = $m[1];
     129
     130            $decoded_title = json_decode('"' . $raw_value . '"');
     131            $result['title'] = $decoded_title ?: $raw_value;
     132        }
     133        elseif (preg_match('/property="og:title"\s+content="([^"]+)"/i', $html, $m)) {
     134            $result['title'] = html_entity_decode($m[1], ENT_QUOTES, 'UTF-8');
     135        }
     136
     137        if (!empty($result['title']) && $result['title'] !== 'Video embed') {
     138            set_transient('prozen_dzen_vk_vid_meta_' . $cache_key, $result, MONTH_IN_SECONDS);
     139        }
     140
     141        return $result;
    109142    }
    110 
     143   
    111144    public static function extract_channel_slug($input)
    112145    {
  • prozen-integration-for-dzen/trunk/languages/prozen-integration-for-dzen-ru_RU-15368892e133e1dfdde1b60fa462a238.json

    r3457033 r3459343  
    1 {"translation-revision-date":"2026-02-09 15:10+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/dzen-article\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"Dzen Article":["\u0421\u0442\u0430\u0442\u044c\u044f \u0432 \u0414\u0437\u0435\u043d\u0435"],"Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438"],"Article Link":["\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044e"]}}}
     1{"translation-revision-date":"2026-02-11 23:52+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/dzen-article\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"Dzen Article":["\u0421\u0442\u0430\u0442\u044c\u044f \u0432 \u0414\u0437\u0435\u043d\u0435"],"Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438"],"Article Link":["\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044e"]}}}
  • prozen-integration-for-dzen/trunk/languages/prozen-integration-for-dzen-ru_RU-2dd9208e2ada190a486702f3a7d78f60.json

    r3457033 r3459343  
    1 {"translation-revision-date":"2026-02-09 15:10+0300","generator":"WP-CLI\/2.12.0","source":"assets\/admin-settings.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"Select Image":["\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"],"Dzen":["\u0414\u0437\u0435\u043d"],"CHANNEL NAME":["\u041d\u0410\u0417\u0412\u0410\u041d\u0418\u0415 \u041a\u0410\u041d\u0410\u041b\u0410"],"Article Title":["\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u0442\u0430\u0442\u044c\u0438"],"Demo description is limited to %s characters.":["\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u2014\u00a0%s \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432."],"Example of a publication title":["\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u043b\u0435\u043d\u0442\u0435"],"Use this image":["\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"]}}}
     1{"translation-revision-date":"2026-02-11 23:52+0300","generator":"WP-CLI\/2.12.0","source":"assets\/admin-settings.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"Select Image":["\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"],"Dzen":["\u0414\u0437\u0435\u043d"],"CHANNEL NAME":["\u041d\u0410\u0417\u0412\u0410\u041d\u0418\u0415 \u041a\u0410\u041d\u0410\u041b\u0410"],"Article Title":["\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u0442\u0430\u0442\u044c\u0438"],"Demo description is limited to %s characters.":["\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u2014\u00a0%s \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432."],"Example of a publication title":["\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u043b\u0435\u043d\u0442\u0435"],"Use this image":["\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"]}}}
  • prozen-integration-for-dzen/trunk/languages/prozen-integration-for-dzen-ru_RU-32ff011b0f919c993ad8f012fce1ed64.json

    r3457033 r3459343  
    1 {"translation-revision-date":"2026-02-09 15:10+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/posts-grid\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"Card Layout":["\u041c\u0430\u043a\u0435\u0442 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438"],"Logo Display":["\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430"],"Never":["\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c"],"Always":["\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u0433\u0434\u0430"],"First card only":["\u041d\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435"],"Logo Style":["\u0421\u0442\u0438\u043b\u044c \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430"],"Logo Size":["\u0420\u0430\u0437\u043c\u0435\u0440 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430"],"16:9, text below image":["16:9, \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u0434 \u0444\u043e\u0442\u043e"],"4:3, text below image":["4:3, \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u0434 \u0444\u043e\u0442\u043e"],"4:3, text over image":["4:3, \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0444\u043e\u0442\u043e"],"16:9, text over image":["16:9, \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0444\u043e\u0442\u043e"],"Dark":["\u0422\u0451\u043c\u043d\u044b\u0439"],"Light":["\u0421\u0432\u0435\u0442\u043b\u044b\u0439"],"Star":["\u0417\u0432\u0435\u0437\u0434\u0430"],"Dzen Publications":["\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0437 \u0414\u0437\u0435\u043d\u0430"],"Content":["\u041a\u043e\u043d\u0442\u0435\u043d\u0442"],"Number of Posts":["\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a"],"Columns (Desktop)":["\u041a\u043e\u043b\u043e\u043d\u043a\u0438"],"Narrow Container Display":["\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 \u0443\u0437\u043a\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445"],"Behavior in narrow areas":["\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0443\u0437\u043a\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445"],"Sidebars or mobile devices.":["\u0421\u0430\u0439\u0434\u0431\u0430\u0440\u044b \u0438\u043b\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430."],"Horizontal Scroll (Carousel)":["\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430 (\u043a\u0430\u0440\u0443\u0441\u0435\u043b\u044c)"],"Wrap to Multiple Rows":["\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438"],"Layout and Logo":["\u041c\u0430\u043a\u0435\u0442 \u0438 \u043b\u043e\u0433\u043e\u0442\u0438\u043f"],"Appearance":["\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434"],"Corner Radius (px)":["\u0421\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0443\u0433\u043b\u043e\u0432 (px)"],"Font Size (px)":["\u0420\u0430\u0437\u043c\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430 (px)"],"Gap between cards (px)":["\u041e\u0442\u0441\u0442\u0443\u043f \u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0430\u043c\u0438 (px)"],"Colors":["\u0426\u0432\u0435\u0442\u0430"],"Background Color":["\u0426\u0432\u0435\u0442 \u0444\u043e\u043d\u0430"],"Text Color":["\u0426\u0432\u0435\u0442 \u0442\u0435\u043a\u0441\u0442\u0430"],"Advanced Design (Plus)":["\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0439 \u0434\u0438\u0437\u0430\u0439\u043d (Plus)"],"Upgrade to Plus to unlock:":["\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 Plus:"],"Custom Background & Text colors":["\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0446\u0432\u0435\u0442\u0430 \u0444\u043e\u043d\u0430 \u0438 \u0442\u0435\u043a\u0441\u0442\u0430"],"Corner Radius & Font Size control":["\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435\u043c \u0443\u0433\u043b\u043e\u0432 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0448\u0440\u0438\u0444\u0442\u0430"],"Card Spacing (Gap) adjustment":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0442\u0441\u0442\u0443\u043f\u0430 \u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a"],"Learn more about Prozen Plus":["\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u00ab\u041f\u0440\u043e\u0434\u0437\u0435\u043d Plus\u00bb"]}}}
     1{"translation-revision-date":"2026-02-11 23:52+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/posts-grid\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"Card Layout":["\u041c\u0430\u043a\u0435\u0442 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438"],"Logo Display":["\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430"],"Never":["\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c"],"Always":["\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u0433\u0434\u0430"],"First card only":["\u041d\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435"],"Logo Style":["\u0421\u0442\u0438\u043b\u044c \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430"],"Logo Size":["\u0420\u0430\u0437\u043c\u0435\u0440 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430"],"16:9, text below image":["16:9, \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u0434 \u0444\u043e\u0442\u043e"],"4:3, text below image":["4:3, \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u0434 \u0444\u043e\u0442\u043e"],"4:3, text over image":["4:3, \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0444\u043e\u0442\u043e"],"16:9, text over image":["16:9, \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0444\u043e\u0442\u043e"],"Dark":["\u0422\u0451\u043c\u043d\u044b\u0439"],"Light":["\u0421\u0432\u0435\u0442\u043b\u044b\u0439"],"Star":["\u0417\u0432\u0435\u0437\u0434\u0430"],"Dzen Publications":["\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0437 \u0414\u0437\u0435\u043d\u0430"],"Content":["\u041a\u043e\u043d\u0442\u0435\u043d\u0442"],"Number of Posts":["\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a"],"Columns (Desktop)":["\u041a\u043e\u043b\u043e\u043d\u043a\u0438"],"Narrow Container Display":["\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 \u0443\u0437\u043a\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445"],"Behavior in narrow areas":["\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0443\u0437\u043a\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445"],"Sidebars or mobile devices.":["\u0421\u0430\u0439\u0434\u0431\u0430\u0440\u044b \u0438\u043b\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430."],"Horizontal Scroll (Carousel)":["\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430 (\u043a\u0430\u0440\u0443\u0441\u0435\u043b\u044c)"],"Wrap to Multiple Rows":["\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438"],"Layout and Logo":["\u041c\u0430\u043a\u0435\u0442 \u0438 \u043b\u043e\u0433\u043e\u0442\u0438\u043f"],"Appearance":["\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434"],"Corner Radius (px)":["\u0421\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0443\u0433\u043b\u043e\u0432 (px)"],"Font Size (px)":["\u0420\u0430\u0437\u043c\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430 (px)"],"Gap between cards (px)":["\u041e\u0442\u0441\u0442\u0443\u043f \u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0430\u043c\u0438 (px)"],"Colors":["\u0426\u0432\u0435\u0442\u0430"],"Background Color":["\u0426\u0432\u0435\u0442 \u0444\u043e\u043d\u0430"],"Text Color":["\u0426\u0432\u0435\u0442 \u0442\u0435\u043a\u0441\u0442\u0430"],"Advanced Design (Plus)":["\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0439 \u0434\u0438\u0437\u0430\u0439\u043d (Plus)"],"Upgrade to Plus to unlock:":["\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 Plus:"],"Custom Background & Text colors":["\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0446\u0432\u0435\u0442\u0430 \u0444\u043e\u043d\u0430 \u0438 \u0442\u0435\u043a\u0441\u0442\u0430"],"Corner Radius & Font Size control":["\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435\u043c \u0443\u0433\u043b\u043e\u0432 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0448\u0440\u0438\u0444\u0442\u0430"],"Card Spacing (Gap) adjustment":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0442\u0441\u0442\u0443\u043f\u0430 \u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a"],"Learn more about Prozen Plus":["\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u00ab\u041f\u0440\u043e\u0434\u0437\u0435\u043d Plus\u00bb"]}}}
  • prozen-integration-for-dzen/trunk/languages/prozen-integration-for-dzen-ru_RU-6983ea231b638a893ae16d42e3e600da.json

    r3457033 r3459343  
    1 {"translation-revision-date":"2026-02-09 15:10+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/vk-video\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"VK Video":["\u0412\u0438\u0434\u0435\u043e VK"],"Video Data":["\u0414\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e"],"Video Title":["\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0435\u043e"],"Player Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043b\u0435\u0435\u0440\u0430"],"Width (px, %)":["\u0428\u0438\u0440\u0438\u043d\u0430 (px, %)"],"Height (px, auto)":["\u0412\u044b\u0441\u043e\u0442\u0430 (px, auto)"],"auto = 16:9":["auto = 16:9"],"Autoplay":["\u0410\u0432\u0442\u043e\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435"],"Link or embed code":["\u0421\u0441\u044b\u043b\u043a\u0430 \u0438\u043b\u0438 \u043a\u043e\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u0438"],"Supported links: vk.com, vkvideo.ru and iframe codes.":["\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441\u0441\u044b\u043b\u043a\u0438 vk.com, vkvideo.ru \u0438 \u043a\u043e\u0434\u044b \u0432\u0441\u0442\u0430\u0432\u043a\u0438 (iframe)."]}}}
     1{"translation-revision-date":"2026-02-11 23:52+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/vk-video\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"VK Video":["\u0412\u0438\u0434\u0435\u043e VK"],"Video Data":["\u0414\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e"],"Video Title":["\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0435\u043e"],"Player Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043b\u0435\u0435\u0440\u0430"],"Width (px, %)":["\u0428\u0438\u0440\u0438\u043d\u0430 (px, %)"],"Height (px, auto)":["\u0412\u044b\u0441\u043e\u0442\u0430 (px, auto)"],"auto = 16:9":["auto = 16:9"],"Autoplay":["\u0410\u0432\u0442\u043e\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435"],"Link or embed code":["\u0421\u0441\u044b\u043b\u043a\u0430 \u0438\u043b\u0438 \u043a\u043e\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u0438"],"Supported links: vk.com, vkvideo.ru and iframe codes.":["\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441\u0441\u044b\u043b\u043a\u0438 vk.com, vkvideo.ru \u0438 \u043a\u043e\u0434\u044b \u0432\u0441\u0442\u0430\u0432\u043a\u0438 (iframe)."]}}}
  • prozen-integration-for-dzen/trunk/languages/prozen-integration-for-dzen-ru_RU-a143aea20b2f431dc0cc42fbc4e5c1c9.json

    r3457033 r3459343  
    1 {"translation-revision-date":"2026-02-09 15:10+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/dzen-video\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"Dzen Video":["\u0412\u0438\u0434\u0435\u043e \u0414\u0437\u0435\u043d\u0430"],"Video Data":["\u0414\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e"],"Direct link (dzen.ru\/video\/...)":["\u041f\u0440\u044f\u043c\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430 (dzen.ru\/video\/\u2026)"],"Embed code or link":["\u041a\u043e\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0438\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0430"],"Video Title":["\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0435\u043e"],"Player Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043b\u0435\u0435\u0440\u0430"],"Width (px, %)":["\u0428\u0438\u0440\u0438\u043d\u0430 (px, %)"],"Height (px, auto)":["\u0412\u044b\u0441\u043e\u0442\u0430 (px, auto)"],"auto = 16:9":["auto = 16:9"],"Show Controls":["\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f"],"Autoplay":["\u0410\u0432\u0442\u043e\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435"]}}}
     1{"translation-revision-date":"2026-02-11 23:52+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/dzen-video\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"Dzen Video":["\u0412\u0438\u0434\u0435\u043e \u0414\u0437\u0435\u043d\u0430"],"Video Data":["\u0414\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e"],"Direct link (dzen.ru\/video\/...)":["\u041f\u0440\u044f\u043c\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430 (dzen.ru\/video\/\u2026)"],"Embed code or link":["\u041a\u043e\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0438\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0430"],"Video Title":["\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0435\u043e"],"Player Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043b\u0435\u0435\u0440\u0430"],"Width (px, %)":["\u0428\u0438\u0440\u0438\u043d\u0430 (px, %)"],"Height (px, auto)":["\u0412\u044b\u0441\u043e\u0442\u0430 (px, auto)"],"auto = 16:9":["auto = 16:9"],"Show Controls":["\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f"],"Autoplay":["\u0410\u0432\u0442\u043e\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435"]}}}
  • prozen-integration-for-dzen/trunk/languages/prozen-integration-for-dzen-ru_RU-b42c0c143d21887ef924531cc16ab313.json

    r3457033 r3459343  
    1 {"translation-revision-date":"2026-02-09 15:10+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/rutube-video\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"RuTube Video":["\u0412\u0438\u0434\u0435\u043e RuTube"],"Video Data":["\u0414\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e"],"Player Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043b\u0435\u0435\u0440\u0430"],"Width (px, %)":["\u0428\u0438\u0440\u0438\u043d\u0430 (px, %)"],"Height (px, auto)":["\u0412\u044b\u0441\u043e\u0442\u0430 (px, auto)"],"auto = 16:9":["auto = 16:9"],"Autoplay":["\u0410\u0432\u0442\u043e\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435"],"Link or embed code":["\u0421\u0441\u044b\u043b\u043a\u0430 \u0438\u043b\u0438 \u043a\u043e\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u0438"],"Video Title (for RSS)":["\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0435\u043e (\u0434\u043b\u044f RSS)"],"Player Color (HEX)":["\u0426\u0432\u0435\u0442 \u043f\u043b\u0435\u0435\u0440\u0430 (HEX)"],"Example: ED143B":["\u041f\u0440\u0438\u043c\u0435\u0440: ED143B"]}}}
     1{"translation-revision-date":"2026-02-11 23:52+0300","generator":"WP-CLI\/2.12.0","source":"assets\/blocks\/rutube-video\/block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=2; plural=(n != 1);"},"RuTube Video":["\u0412\u0438\u0434\u0435\u043e RuTube"],"Video Data":["\u0414\u0430\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e"],"Player Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043b\u0435\u0435\u0440\u0430"],"Width (px, %)":["\u0428\u0438\u0440\u0438\u043d\u0430 (px, %)"],"Height (px, auto)":["\u0412\u044b\u0441\u043e\u0442\u0430 (px, auto)"],"auto = 16:9":["auto = 16:9"],"Autoplay":["\u0410\u0432\u0442\u043e\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435"],"Link or embed code":["\u0421\u0441\u044b\u043b\u043a\u0430 \u0438\u043b\u0438 \u043a\u043e\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u0438"],"Video Title (for RSS)":["\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0438\u0434\u0435\u043e (\u0434\u043b\u044f RSS)"],"Player Color (HEX)":["\u0426\u0432\u0435\u0442 \u043f\u043b\u0435\u0435\u0440\u0430 (HEX)"],"Example: ED143B":["\u041f\u0440\u0438\u043c\u0435\u0440: ED143B"]}}}
  • prozen-integration-for-dzen/trunk/languages/prozen-integration-for-dzen-ru_RU.po

    r3457033 r3459343  
    44"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/prozen\n"
    55"POT-Creation-Date: 2026-02-01T21:17:29+00:00\n"
    6 "PO-Revision-Date: 2026-02-09 15:10+0300\n"
     6"PO-Revision-Date: 2026-02-11 23:52+0300\n"
    77"Last-Translator: \n"
    88"Language-Team: \n"
     
    101101
    102102#. translators: Used in RSS feed for Dzen platform. Keep in Russian.
    103 #: includes/Modules/Rss/ContentProcessor.php:265
     103#: includes/Modules/Rss/ContentProcessor.php:199
    104104msgid "Статья в Дзене"
    105105msgstr "Статья в Дзене"
    106106
    107107#. translators: %1$s: Read also prefix, %2$s: URL, %3$s: Title
    108 #: includes/Modules/Rss/ContentProcessor.php:270
     108#: includes/Modules/Rss/ContentProcessor.php:204
    109109msgid "Читайте также:"
    110110msgstr "Читайте также:"
    111111
    112112#. translators: Used in RSS feed for Dzen platform. Keep in Russian.
    113 #: includes/Modules/Rss/ContentProcessor.php:201
    114 #: includes/Modules/Rss/ContentProcessor.php:282
     113#: includes/Modules/Rss/ContentProcessor.php:216
     114#: includes/Modules/Rss/ContentProcessor.php:759
    115115msgid "Смотрите видео на RuTube"
    116116msgstr "Смотрите видео на RuTube"
    117117
    118118#. translators: %1$s: Video prefix, %2$s: URL, %3$s: Title
    119 #: includes/Modules/Rss/ContentProcessor.php:186
    120 #: includes/Modules/Rss/ContentProcessor.php:199
    121 #: includes/Modules/Rss/ContentProcessor.php:208
    122 #: includes/Modules/Rss/ContentProcessor.php:289
    123 #: includes/Modules/Rss/ContentProcessor.php:310
    124 #: includes/Modules/Rss/ContentProcessor.php:339
     119#: includes/Modules/Rss/ContentProcessor.php:223
     120#: includes/Modules/Rss/ContentProcessor.php:244
     121#: includes/Modules/Rss/ContentProcessor.php:273
     122#: includes/Modules/Rss/ContentProcessor.php:744
     123#: includes/Modules/Rss/ContentProcessor.php:757
     124#: includes/Modules/Rss/ContentProcessor.php:774
    125125msgid "Видео:"
    126126msgstr "Видео:"
    127127
    128128#. translators: Used in RSS feed for Dzen platform. Keep in Russian.
    129 #: includes/Modules/Rss/ContentProcessor.php:210
    130 #: includes/Modules/Rss/ContentProcessor.php:302
     129#: includes/Modules/Rss/ContentProcessor.php:236
     130#: includes/Modules/Rss/ContentProcessor.php:776
    131131msgid "Смотрите видео в ВК"
    132132msgstr "Смотрите видео в ВК"
    133133
    134134#. translators: Used in RSS feed for Dzen platform. Keep in Russian.
    135 #: includes/Modules/Rss/ContentProcessor.php:188
    136 #: includes/Modules/Rss/ContentProcessor.php:335
     135#: includes/Modules/Rss/ContentProcessor.php:269
     136#: includes/Modules/Rss/ContentProcessor.php:746
    137137msgid "Смотреть видео в Дзене"
    138138msgstr "Смотреть видео в Дзене"
    139139
    140140#. translators: %s: video caption
    141 #: includes/Modules/Rss/ContentProcessor.php:382
     141#: includes/Modules/Rss/ContentProcessor.php:316
    142142#, php-format
    143143msgid "Видео: %s"
     
    145145
    146146#. translators: %s: video caption
    147 #: includes/Modules/Rss/ContentProcessor.php:383
     147#: includes/Modules/Rss/ContentProcessor.php:317
    148148msgid "Видео доступно здесь"
    149149msgstr "Видео доступно здесь"
  • prozen-integration-for-dzen/trunk/languages/prozen-integration-for-dzen.pot

    r3457033 r3459343  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Prozen Integration for Dzen 1.0.3\n"
     5"Project-Id-Version: Prozen Integration for Dzen 1.0.4\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/prozen\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-02-09T12:10:38+00:00\n"
     12"POT-Creation-Date: 2026-02-11T20:52:35+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    100100msgstr ""
    101101
     102#. translators: Used in RSS feed for Dzen platform. Keep in Russian.
     103#: includes/Modules/Rss/ContentProcessor.php:199
     104msgid "Статья в Дзене"
     105msgstr ""
     106
     107#. translators: %1$s: Read also prefix, %2$s: URL, %3$s: Title
     108#: includes/Modules/Rss/ContentProcessor.php:204
     109msgid "Читайте также:"
     110msgstr ""
     111
     112#. translators: Used in RSS feed for Dzen platform. Keep in Russian.
     113#: includes/Modules/Rss/ContentProcessor.php:216
     114#: includes/Modules/Rss/ContentProcessor.php:759
     115msgid "Смотрите видео на RuTube"
     116msgstr ""
     117
    102118#. translators: %1$s: Video prefix, %2$s: URL, %3$s: Title
    103 #: includes/Modules/Rss/ContentProcessor.php:186
    104 #: includes/Modules/Rss/ContentProcessor.php:199
    105 #: includes/Modules/Rss/ContentProcessor.php:208
    106 #: includes/Modules/Rss/ContentProcessor.php:289
    107 #: includes/Modules/Rss/ContentProcessor.php:310
    108 #: includes/Modules/Rss/ContentProcessor.php:339
     119#: includes/Modules/Rss/ContentProcessor.php:223
     120#: includes/Modules/Rss/ContentProcessor.php:244
     121#: includes/Modules/Rss/ContentProcessor.php:273
     122#: includes/Modules/Rss/ContentProcessor.php:744
     123#: includes/Modules/Rss/ContentProcessor.php:757
     124#: includes/Modules/Rss/ContentProcessor.php:774
    109125msgid "Видео:"
    110126msgstr ""
    111127
    112128#. translators: Used in RSS feed for Dzen platform. Keep in Russian.
    113 #: includes/Modules/Rss/ContentProcessor.php:188
    114 #: includes/Modules/Rss/ContentProcessor.php:335
     129#: includes/Modules/Rss/ContentProcessor.php:236
     130#: includes/Modules/Rss/ContentProcessor.php:776
     131msgid "Смотрите видео в ВК"
     132msgstr ""
     133
     134#. translators: Used in RSS feed for Dzen platform. Keep in Russian.
     135#: includes/Modules/Rss/ContentProcessor.php:269
     136#: includes/Modules/Rss/ContentProcessor.php:746
    115137msgid "Смотреть видео в Дзене"
    116138msgstr ""
    117139
    118 #. translators: Used in RSS feed for Dzen platform. Keep in Russian.
    119 #: includes/Modules/Rss/ContentProcessor.php:201
    120 #: includes/Modules/Rss/ContentProcessor.php:282
    121 msgid "Смотрите видео на RuTube"
    122 msgstr ""
    123 
    124 #. translators: Used in RSS feed for Dzen platform. Keep in Russian.
    125 #: includes/Modules/Rss/ContentProcessor.php:210
    126 #: includes/Modules/Rss/ContentProcessor.php:302
    127 msgid "Смотрите видео в ВК"
    128 msgstr ""
    129 
    130 #. translators: Used in RSS feed for Dzen platform. Keep in Russian.
    131 #: includes/Modules/Rss/ContentProcessor.php:265
    132 msgid "Статья в Дзене"
    133 msgstr ""
    134 
    135 #. translators: %1$s: Read also prefix, %2$s: URL, %3$s: Title
    136 #: includes/Modules/Rss/ContentProcessor.php:270
    137 msgid "Читайте также:"
    138 msgstr ""
    139 
    140140#. translators: %s: video caption
    141 #: includes/Modules/Rss/ContentProcessor.php:382
     141#: includes/Modules/Rss/ContentProcessor.php:316
    142142#, php-format
    143143msgid "Видео: %s"
     
    145145
    146146#. translators: %s: video caption
    147 #: includes/Modules/Rss/ContentProcessor.php:383
     147#: includes/Modules/Rss/ContentProcessor.php:317
    148148msgid "Видео доступно здесь"
    149149msgstr ""
  • prozen-integration-for-dzen/trunk/prozen-integration-for-dzen.php

    r3457033 r3459343  
    44 * Plugin URI:  https://prozen.ru/prozen-for-wordpress
    55 * Description: WordPress integration with Dzen platform: RSS feed, widgets, and blocks.
    6  * Version:     1.0.3
     6 * Version:     1.0.4
    77 * Author:      Igor Torkhov
    88 * Author URI:  https://prozen.ru
     
    2525
    2626if ( ! defined( 'PROZEN_DZEN_VERSION' ) ) {
    27     define( 'PROZEN_DZEN_VERSION', '1.0.3' );
     27    define( 'PROZEN_DZEN_VERSION', '1.0.4' );
    2828}
    2929
  • prozen-integration-for-dzen/trunk/readme.txt

    r3457377 r3459343  
    44Requires at least: 5.8
    55Tested up to: 6.9
    6 Stable tag: 1.0.3
     6Stable tag: 1.0.4
    77Requires PHP: 7.3
    88License: GPLv2 or later
     
    108108This error means your server's firewall or a security plugin is blocking Dzen's crawlers. Contact Dzen Support to get their official IP addresses and add them to your hosting or security plugin's whitelist.
    109109
     110= RSS validators report errors in my feed. Is something wrong? =
     111This is normal. Dzen requires a specific RSS format that general-purpose validators often flag as invalid. The only way to verify your feed is to add the URL to your Dzen channel settings and wait for the platform to accept it.
     112
    110113== Changelog ==
    111114
     115= 1.0.4 =
     116- Improved detection of video embeds within Custom HTML blocks.
    112117= 1.0.3 =
    113118- Update RSS namespaces for better compatibility with Dzen requirements.
Note: See TracChangeset for help on using the changeset viewer.