{"id":393798,"date":"2026-11-07T11:49:32","date_gmt":"2026-11-07T11:49:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/rm-szlif\/"},"modified":"2026-11-07T19:50:05","modified_gmt":"2026-11-07T19:50:05","slug":"rm-szlif","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/rm-szlif\/","author":23593627,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.8.2","stable_tag":"1.8.2","tested":"7.1.4","requires":"5.8","requires_php":"7.0","requires_plugins":null,"header_name":"RM Szlif","header_author":"REDMUSTANG","header_description":"Polska typografia i porz\u0105dek w tre\u015bci: twarda spacja po sierotkach, polskie cudzys\u0142owy, czyszczenie tekstu wklejonego z AI\/Worda, wyj\u0105tki oraz sprawdzanie pisowni na stronie. Elementor, Divi, Bricks, WPBakery, ACF i WooCommerce.","assets_banners_color":"dfdfe0","last_updated":"2026-11-07 19:50:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/plugins.redmustang.pl\/rm-szlif\/","header_author_uri":"https:\/\/redmustang.pl","rating":0,"author_block_rating":0,"active_installs":0,"downloads":65,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.8.1":{"tag":"1.8.1","author":"redmustangplugins","date":"2026-11-07 11:49:19","revision":3789486},"1.8.2":{"tag":"1.8.2","author":"redmustangplugins","date":"2026-11-07 19:50:05","revision":3790164}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3789663,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3789663,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3789904,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3789904,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.8.1","1.8.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[9813,29743,1370,5547,5126],"plugin_category":[43],"plugin_contributors":[291347],"plugin_business_model":[],"class_list":["post-393798","plugin","type-plugin","status-publish","hentry","plugin_tags-non-breaking-space","plugin_tags-orphans","plugin_tags-polish","plugin_tags-spellcheck","plugin_tags-typography","plugin_category-customization","plugin_contributors-redmustangplugins","plugin_committers-redmustangplugins"],"banners":{"banner":"https:\/\/ps.w.org\/rm-szlif\/assets\/banner-772x250.png?rev=3789904","banner_2x":"https:\/\/ps.w.org\/rm-szlif\/assets\/banner-1544x500.png?rev=3789904","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/rm-szlif\/assets\/icon-128x128.png?rev=3789663","icon_2x":"https:\/\/ps.w.org\/rm-szlif\/assets\/icon-256x256.png?rev=3789663","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Szlif polishes text when a page is displayed. It never changes content stored in the database, so switching it off restores everything.<\/p>\n\n<ul>\n<li>Non-breaking space after short words (i, w, z, o, u, a...), abbreviations (ul., nr, tel.), before units (10 z\u0142, 5 km) and dashes.<\/li>\n<li>Polish quotation marks and apostrophes.<\/li>\n<li>Dates, phone numbers, thousands separators, legal references (art. 5, \u00a7 3), symbols (\u2026, \u00d7).<\/li>\n<li>CSS line breaking: text-wrap balance for headings and pretty for paragraphs.<\/li>\n<li>Cleanup of text pasted from ChatGPT\/AI\/Word: invisible characters, unusual spaces, source markers, Markdown leftovers, utm_source=chatgpt.com in links, long dash conversion.<\/li>\n<li>Double spaces and empty paragraphs (optional).<\/li>\n<li>Exceptions: CSS class, post IDs, post types, a per-post checkbox.<\/li>\n<li>On-page check for logged-in users (\"Sprawd\u017a stron\u0119\" in the admin bar): highlights spelling mistakes, double spaces, empty paragraphs and AI characters, and runs a content audit (headings, images without alt, vague or empty links, long paragraphs and sentences). The Polish dictionary (Hunspell pl_PL) runs entirely in the browser; no content leaves your server.<\/li>\n<li>Language gate: only selected languages are processed (default pl, cs; works with WPML and Polylang). RSS feeds and the REST API are skipped.<\/li>\n<li>Settings export and import (JSON).<\/li>\n<li>Optional whole-page mode for text hard-coded in the theme (menus, header, footer).<\/li>\n<li>Works with content, comments, term descriptions, titles, excerpts, widgets, Elementor, Divi, Bricks, WPBakery, ACF, WooCommerce and menus.<\/li>\n<\/ul>\n\n<p>For developers: apply_filters( 'rmszlif', $text ), rmszlif( $text ), filters rmszlif_list, rmszlif_skip, rmszlif_capability, rmszlif_spell_capability.<\/p>\n\n<h3>Third-party data<\/h3>\n\n<p>assets\/pl-dict.txt is a compact Bloom-filter index (base64) built from the Polish Hunspell dictionary (dictionary-pl; licenses GPL-3.0, LGPL-3.0, MPL-2.0). See assets\/LICENSE-slownik-pl.txt. The spellchecker runs in the browser; the plugin makes no external requests and collects no data.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the ZIP in Plugins \u2192 Add New \u2192 Upload Plugin, or the folder to \/wp-content\/plugins\/.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open Settings \u2192 RM Szlif.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.8.2<\/h4>\n\n<ul>\n<li>Fix: Tools \u2192 \"Test text\" now shows the result without reloading the page, so you stay on the Tools tab (it used to jump back to Start).<\/li>\n<li>Fix: after saving settings, clearing the cache or importing settings the panel returns to the tab you were on.<\/li>\n<li>Docs: developer filter names in the description updated to the rmszlif_ prefix used since 1.8.1.<\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>Internal: unique 4+ character code prefixes (rmszlif_) and a single page output buffer that handles both whole-page typography and e-mail masking. No change in behaviour.<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>New optional \"whole page\" mode: processes the final HTML so menus, header, footer and theme templates get non-breaking spaces too. Off by default.<\/li>\n<li>Safer skipping of script\/style\/pre\/code blocks; spellcheck ignores more brand and English words.<\/li>\n<\/ul>\n\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Name without the registered-trademark sign.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Plugin Check fixes: dictionary shipped as text, escaping, readme in English, no manual textdomain loading.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Spellcheck ignores brand names, mid-sentence capitalised names, mixed-case words and most English terms; the panel can be collapsed.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Content audit in the \"Sprawd\u017a stron\u0119\" panel; stronger highlighting.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Language gate, RSS\/REST skipping, settings export\/import, .pot file.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Renamed to RM Szlif; dates, phones, thousands, legal references, text-wrap.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Polish quotes, AI\/Word cleanup, exceptions, on-page spellcheck.<\/li>\n<\/ul>","raw_excerpt":"Polish typography on display: non-breaking spaces, Polish quotes, AI\/Word paste cleanup, offline spellcheck and a content audit.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/393798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=393798"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/redmustangplugins"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=393798"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=393798"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=393798"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=393798"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=393798"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=393798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}