{"id":398142,"date":"2026-11-03T14:08:02","date_gmt":"2026-11-03T14:08:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/rignor-bodyig\/"},"modified":"2026-11-03T14:07:42","modified_gmt":"2026-11-03T14:07:42","slug":"rignor-bodyig","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/rignor-bodyig\/","author":23598541,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.18","stable_tag":"1.0.18","tested":"7.1.4","requires":"6.4","requires_php":"8.0","requires_plugins":null,"header_name":"Rignor BodYig","header_author":"Rignor Labs","header_description":"Tibetan typography engine and manual multilingual content management for any WordPress theme. Administrators enter translations themselves; nothing is auto-translated.","assets_banners_color":"f4f1f7","last_updated":"2026-11-03 14:07:42","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/rignor.net\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":59,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.18":{"tag":"1.0.18","author":"rignorlab","date":"2026-11-03 14:07:42","revision":3781975}},"upgrade_notice":{"1.0.18":"<p>Nonce check when reading language on new post insert.<\/p>","1.0.17":"<p>Additional sanitization and capability checks from review follow-up.<\/p>","1.0.16":"<p>Security escaping and sanitization updates for the WordPress.org review.<\/p>","1.0.15":"<p>Bundled fonts are limited to SIL OFL Monlam-bodyig faces for WordPress.org.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3781983,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3781983,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3781983,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3781983,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"rignor-bodyig\/language-switcher":{"name":"rignor-bodyig\/language-switcher","title":"Switcher"},"rignor-bodyig\/translated-text":{"name":"rignor-bodyig\/translated-text","title":"Translated text"}},"tagged_versions":["1.0.18"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3781983,"resolution":"1","location":"assets","locale":"","width":3000,"height":1363},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3781983,"resolution":"2","location":"assets","locale":"","width":3000,"height":1363},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3781983,"resolution":"3","location":"assets","locale":"","width":3000,"height":1363}},"screenshots":{"1":"English and Tibetan strings for footer text and other reusable labels.","2":"Language settings for English and Tibetan, including URL prefixes and the default language.","3":"Tibetan font list with live Monlam BodYig previews."}},"plugin_section":[],"plugin_tags":[2221,22323,99,188928,2333],"plugin_category":[48],"plugin_contributors":[290491],"plugin_business_model":[],"class_list":["post-398142","plugin","type-plugin","status-publish","hentry","plugin_tags-fonts","plugin_tags-language-switcher","plugin_tags-multilingual","plugin_tags-tibetan","plugin_tags-translation","plugin_category-language-tools","plugin_contributors-rignorlab","plugin_committers-rignorlab"],"banners":{"banner":"https:\/\/ps.w.org\/rignor-bodyig\/assets\/banner-772x250.png?rev=3781983","banner_2x":"https:\/\/ps.w.org\/rignor-bodyig\/assets\/banner-1544x500.png?rev=3781983","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/rignor-bodyig\/assets\/icon-128x128.png?rev=3781983","icon_2x":"https:\/\/ps.w.org\/rignor-bodyig\/assets\/icon-256x256.png?rev=3781983","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/rignor-bodyig\/assets\/screenshot-1.png?rev=3781983","caption":"English and Tibetan strings for footer text and other reusable labels."},{"src":"https:\/\/ps.w.org\/rignor-bodyig\/assets\/screenshot-2.png?rev=3781983","caption":"Language settings for English and Tibetan, including URL prefixes and the default language."},{"src":"https:\/\/ps.w.org\/rignor-bodyig\/assets\/screenshot-3.png?rev=3781983","caption":"Tibetan font list with live Monlam BodYig previews."}],"raw_content":"<!--section=description-->\n<p>Rignor BodYig is a theme-agnostic WordPress plugin with two capabilities:<\/p>\n\n<ol>\n<li>A Tibetan typography engine using bundled font files from the plugin fonts folder.<\/li>\n<li>A manual multilingual CMS for English and Tibetan. Administrators type each translation. Nothing is auto-translated.<\/li>\n<\/ol>\n\n<p>Works with any theme. Theme files are not edited.<\/p>\n\n<h4>What you can translate<\/h4>\n\n<p>Website name, tagline, menus, pages, posts, excerpts, categories, tags, footer text, widgets, form labels, search, breadcrumbs, pagination, error messages, login labels, SEO titles and descriptions.<\/p>\n\n<p>Tibetan string defaults replace matching English already printed by the theme, in the same place. Unmatched strings are not added to the layout. Pages and posts are never auto-filled.<\/p>\n\n<h4>How translations are stored<\/h4>\n\n<p>Each language is an independent WordPress post (or term) linked by a stable translation group ID. English content is never overwritten when you edit Tibetan. Publish status and revisions are independent.<\/p>\n\n<h4>Front-end language switcher<\/h4>\n\n<p>Enable or disable it. Styles: dropdown, inline links, globe icon, text labels, custom icons. Place it in the header menu, a widget, a block, or:<\/p>\n\n<pre><code>[rignor_bodyig_language_switcher]\n<\/code><\/pre>\n\n<h4>URLs<\/h4>\n\n<p>Configurable prefixes such as <code>\/en\/<\/code> and <code>\/bo\/<\/code>. Language-specific slugs, canonical URLs, hreflang, and sitemap-compatible permalinks. Flush permalinks once after changing prefixes (Rignor BodYig \u2192 Tools, or Settings \u2192 Permalinks \u2192 Save).<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Rignor BodYig does not send data to Rignor Labs or any third party. A first-party cookie (<code>rignor_bodyig_lang<\/code>) stores the visitor\u2019s language choice on their site so navigation stays in that language. No analytics, ads, or remote scripts are loaded.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>rignor-bodyig<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate Rignor BodYig through the Plugins screen.<\/li>\n<li>Open Rignor BodYig \u2192 Languages. Set the default language and URL prefixes.<\/li>\n<li>Open Rignor BodYig \u2192 Tools and flush permalinks.<\/li>\n<li>Edit a page. Use the language panel to create the Tibetan version and write it independently.<\/li>\n<li>Translate Strings (only labels the theme already prints) and menu labels.<\/li>\n<li>Enable the language switcher.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20translate%20a%20post%20or%20page%3F\"><h3>How do I translate a post or page?<\/h3><\/dt>\n<dd><p>Open the English post or page. In <strong>Language &amp; translations<\/strong>, click <strong>Add this language<\/strong> next to Tibetan. Write the Tibetan title and body on that new item, then <strong>Publish<\/strong> it. The language switcher then opens the matching version. Do not change the language dropdown on the English item \u2014 that would relabel the same content instead of creating a second version.<\/p><\/dd>\n<dt id=\"does%20this%20auto-translate%3F\"><h3>Does this auto-translate?<\/h3><\/dt>\n<dd><p>No. Administrators enter every translation. Built-in Tibetan defaults are used only where matching English already appears in the theme.<\/p><\/dd>\n<dt id=\"will%20it%20change%20my%20existing%20posts%3F\"><h3>Will it change my existing posts?<\/h3><\/dt>\n<dd><p>On activation it only adds language and translation-group metadata. IDs, titles and content stay as they are. Deactivation flushes rewrite rules and leaves content in place.<\/p><\/dd>\n<dt id=\"which%20languages%20are%20supported%3F\"><h3>Which languages are supported?<\/h3><\/dt>\n<dd><p>English and Tibetan only.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20collect%20or%20send%20data%3F\"><h3>Does this plugin collect or send data?<\/h3><\/dt>\n<dd><p>No. It does not phone home, load remote scripts, or track visitors. Language choice is stored in a cookie on the visitor\u2019s site only.<\/p><\/dd>\n<dt id=\"are%20the%20bundled%20fonts%20free%20to%20redistribute%3F\"><h3>Are the bundled fonts free to redistribute?<\/h3><\/dt>\n<dd><p>Yes. Bundled Monlam-bodyig faces are SIL Open Font License 1.1 (GPL-compatible). See <code>fonts\/OFL.txt<\/code>. Other faces, such as Monlam Uni OuChan2, can be added from the Fonts screen if you have the right to use them.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.18<\/h4>\n\n<ul>\n<li>Verify metabox nonce when assigning language on new posts.<\/li>\n<\/ul>\n\n<h4>1.0.17<\/h4>\n\n<ul>\n<li>Harden remaining input sanitization, term capability checks, and term meta REST callbacks.<\/li>\n<\/ul>\n\n<h4>1.0.16<\/h4>\n\n<ul>\n<li>Sanitize request URI and language cookie; escape shortcode and translated HTML output.<\/li>\n<li>Set Contributors to the submitting WordPress.org username.<\/li>\n<\/ul>\n\n<h4>1.0.15<\/h4>\n\n<ul>\n<li>Ship only SIL OFL Monlam-bodyig faces. Uni faces such as OuChan2 are not bundled.<\/li>\n<\/ul>\n\n<h4>1.0.14<\/h4>\n\n<ul>\n<li>Restore bundled Monlam Uni faces, including OuChan2, ChoukMatik, Dutsa1, and Dutsa2.<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Remove macOS hidden files and disallowed suppress_filters query flags.<\/li>\n<\/ul>\n\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Plugin Check: escape widget output and satisfy nonce, cookie, and uninstall prefix checks.<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Plugin header uses the author site only; Plugin URI is omitted until a dedicated plugin page exists.<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Page translations are linked correctly so the language switcher opens the matching page.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Language switcher button size, padding, corners and border are adjustable in settings.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Language switcher is a labelled button. Background and text colours are set under Language switcher.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Align the language switcher with header menu items and keep it visible while scrolling.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Replace existing English theme strings in place only.<\/li>\n<li>Scan the active theme for translatable labels.<\/li>\n<li>Language switcher follows the theme menu styles.<\/li>\n<li>WordPress.org plugin header, readme, and license files aligned.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release: font engine and manual multilingual CMS.<\/li>\n<\/ul>","raw_excerpt":"Tibetan typography and manual English\u2013Tibetan multilingual publishing for any WordPress theme.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/398142","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=398142"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rignorlab"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=398142"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=398142"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=398142"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=398142"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=398142"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=398142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}