This article is the developer companion to the user-facing string scanner documentation. It traces the scanner in WPEstate Translate 1.0.9 end to end, names the functions involved, and lists the option keys and signatures you need when debugging. Product context lives on the multi-language real estate website page. CONTENT Files Involved Entry Point Target Construction […]
WPEstate Translate Plugin
The String Scanner
The WPEstate Translate string scanner is the engine that discovers every translatable label on your site and registers it in the plugin’s database. Without a scan, the translation grid under Theme & Plugins Strings is empty. This article explains what gets scanned, what gets skipped, and how to re-run the scanner after changes. For the […]
Gettext Pipeline & MO Files — Developer Guide
This article traces the full path from a stored translation row to a translated label rendered on the page: how MO files are compiled, where they land on disk, how the plugin injects them into WordPress’s textdomain loader, and how runtime gettext filters behave. It is the developer companion to the user-facing article. For product […]
Gettext & MO Files — Making Translations Appear on the Front End
Buttons, labels, search fields, dashboard texts and emails in WPResidence come from translation files, not from your pages. This article explains which files the site reads, how a text you type in WPEstate Translate reaches the front end, and what to check when a text still shows in the wrong language. CONTENT .po and .mo […]
Automatic Translation — Developer Guide
This article documents the provider layer of the WPEstate Translate plugin (folder wpestate-translate): the admin view, the settings option, the normalized request, the four provider files, the OpenAI request shape and the AJAX endpoints that drive bulk runs. It complements the user article and the broader multi-language real estate website overview. CONTENT Files Involved Options […]
Automatic Translation — OpenAI, Google, DeepL, Azure
The Automatic Translation screen in WPEstate Translate lets you pre-fill translations for posts, properties, agents, and individual strings using an AI translation service. This saves hours of manual work and gives translators a strong starting draft instead of a blank page. Automatic translation is one of several features covered in our complete multi-language real estate […]
Elementor Widget Translation — Developer Guide
This article is the developer companion to the user-facing article on Elementor translation. It documents the code paths that let WPEstate Translate read Elementor layouts, build a translation payload, and write translated values back into _elementor_data. Product context lives on the multi-language real estate website page. CONTENT File Map Bootstrap Detecting Elementor Pages Widget Field […]
Translating Elementor Pages & Widgets
If you build your WPResidence pages with Elementor, the WPEstate Translate plugin extends the standard translation flow to cover Elementor widget content. This article explains what gets translated, where to edit it, and how to check that your translated pages look the same as the source language. For a broader context, see our guide on […]
Shortcode & Widget ID Remapping — Developer Guide
ID remapping is the plugin feature that rewrites numeric references inside shortcodes and Elementor widgets so translated pages render the translated equivalents of properties, agents, developers, and taxonomy terms. This article is the implementation-level companion to the user-facing article. Product context is on our multi-language real estate website page. File Map File Role includes/shortcode-compat.php Intercepts […]
Shortcode & Widget ID Remapping
Many WPResidence shortcodes and Elementor widgets point to a property, an agent or a category by its ID. On a translated page those IDs still belong to the original language. WPEstate Translate swaps them for the IDs of the translations, so a Spanish page shows the Spanish property instead of the English one. CONTENT Why […]
Menu Translation & Language-Specific Menu Locations — Developer Guide
This article documents how WPEstate Translate 1.0.9 attaches languages to WordPress nav menus, stores per-language theme-location assignments and synchronizes menu structure. It is the implementation-level companion to the user article. Product context is on our multi-language real estate website page. CONTENT File Map Menu Language Metadata Admin Integration Language-Aware Location Map Storage API Front-End Fallback […]
Menu Translation & Language-Specific Menu Locations
Each language of your site can have its own header, mobile and footer menu. With WPEstate Translate you give every menu a language, place it in the usual theme locations, and let Menu Synchronization copy the structure of the default-language menu so the links point to the translated pages. CONTENT Filter the Menus by Language […]
WPEstate Translate — Database Schema Reference
This is the schema reference for the data WPEstate Translate 1.0.9 stores. The plugin creates two custom tables and keeps translation links in post meta and term meta. For a plain-language version, see Where Your Translations Live. CONTENT What Is Stored Where Removed Tables Relationship Meta Table wpestate_translation_translations (Legacy) Table wpestate_translation_strings Read-Path Notes Uninstall and […]
Where Your Translations Live: The WPEstate Translate Database
WPEstate Translate keeps almost everything in standard WordPress places. A translated property is a normal WordPress post, a translated city is a normal term, and the link between them is saved next to them. Only the theme and plugin string translations use a table of their own. Knowing this helps you plan backups, migrations and […]
WPEstate Translate — Performance & Caching (Developer Reference)
This article maps the cache layers inside the WPEstate Translate plugin (wpestate-translate, text domain wpr-translate, 1.0.9) so you can reason about invalidation, extend it safely from a child theme or companion plugin, and keep a multi-language real estate website fast at scale. CONTENT Cache Layers Overview Runtime String Maps Translation Family Cache Object Cache – […]
Performance & Caching for a Multilingual WPResidence Site
A multilingual site builds every search dropdown, property grid and menu once per language. WPEstate Translate keeps a separate cache for each language, so switching languages stays fast and one language never shows the cached lists of another. This article explains what is cached and when to clear it. CONTENT What Is Cached per Language […]
WP_Query Language Filtering — Developer Guide
This article documents how the wpresidence-translate plugin (text domain wpr-translate) intercepts and rewrites WP_Query so every front-end query is language-aware. It covers the two main hooks (pre_get_posts and the_posts), the translations-table join, pin-query handling, taxonomy and meta adjustments, and the opt-out points. Broader context on the multilingual architecture is in the multi-language real estate website […]
WP_Query Language Filtering
On a multilingual site every list of listings has to match the page language: property archives, search results, map pins, sliders, agent lists and widgets. WPEstate Translate does this on its own. You never add a language option to a shortcode, a search form or a widget. CONTENT What Gets Filtered Which Language Is Used […]
URL Structure & Permalinks — Developer Deep Dive
This article documents how wpresidence-translate (text domain wpr-translate) builds language-aware URLs from the moment WordPress asks for a permalink until the moment the localized string is returned to the caller. If you are integrating a custom post type, writing a child-theme override, or debugging a stray URL on a multi-language real estate website, start here. […]
URL Structure & Permalinks in WPEstate Translate
WPEstate Translate puts a short language prefix at the start of every address, for example example.com/es/. The default language has no prefix. Visitors and search engines see which language a page is in, and each language gets its own address for every page, property and agent. CONTENT How Language Addresses Look Where the Prefix Comes […]
Language Detection & Redirects — Developer Deep Dive
This article is the code-level companion to the user-facing detection guide. It walks through how WPEstate Translate resolves the active language on every request, how it avoids canonical redirect loops, and which hooks it exposes for integration work on a multi-language real estate website. CONTENT Files & Entry Points Router Bootstrap Request Path Preparation Query […]
Language Detection & Redirects
WPEstate Translate decides the language of each page from its address. A visitor who opens example.com/br/properties/ sees Portuguese, and a visitor who opens example.com/properties/ sees the default language. Nothing else changes the language: no cookie, no browser setting. This article explains how that works and what the plugin does to keep your URLs and search […]
Rewrite Rules & Query Vars — Developer Deep Dive
This article documents the inbound routing layer of wpresidence-translate — how the plugin teaches WordPress to recognise language-prefixed URLs, which rewrite rules and query vars it registers, and where to hook in if you are wiring up a custom endpoint or a REST route on a multi-language real estate website. The Registration Point All inbound […]
Rewrite Rules & Query Vars — User Guide
WordPress turns an address like example.com/es/properties/modern-loft/ into a page through its rewrite rules. WPEstate Translate adds one rule for each language that has a prefix, so WordPress knows that /es/ means Spanish and reads the rest of the address as usual. This article explains when those rules are refreshed and how to fix a 404 […]
Translating Theme & Plugin Strings — Developer Guide
This article documents how the string translation subsystem of the WPEstate Translate plugin (folder wpestate-translate) (text domain wpr-translate) is wired internally: the admin screen, the storage table, how rows land there, and how the admin runtime provides translations back to gettext when editing. Read the user-facing version for the day-to-day workflow and the broader multi-language […]
Translating Theme & Plugin Strings
Search labels, buttons, dashboard messages, emails and notices come from the theme and plugin code. You translate them in two places: .po files, and the Theme & Plugins Strings screen of WPEstate Translate. This article shows how to use both. CONTENT Two Ways to Translate Strings Start with the .po Files Scan the Strings Translate […]
Translating Posts and Pages — Developer Internals
This article is the developer-facing companion to the post translation workflow in WPEstate Translate 1.0.9. It documents the editor hooks, the AJAX handlers, the draft cloning path and the relationship layer that links a post to its translations. For product context see the user article and the multi-language real estate website landing page. CONTENT Files […]
Translating Posts and Pages
Once you have added your languages, the next step on a multi-language real estate website is translating your actual content. WPEstate Translate adds a dedicated workflow to the standard WordPress editor that lets you create a language variant of any post, page, property, agent, agency, or developer, edit it, and keep it linked to the […]
Post List Table Enhancements — Developer Internals
The WPResidence Translate post list integration is split into focused files under includes/admin/post-list-*.php. This article maps each file to a UI responsibility so you can trace behavior, override it, or extend it from a child plugin. For product context, read the user article and our multi-language real estate website guide. File Map File Responsibility post-list-hooks.php […]
Post List Table Enhancements
Once WPResidence Translate is active, the WordPress admin post list (for posts, pages, properties, agents, agencies, developers, and any translatable custom post type) gains a set of controls designed to make multilingual editing fast. This article walks through every addition from a site editor’s perspective. If you are running a multi-language real estate website, these […]
Translation Linking — The trid System
This article covers how WPEstate Translate links the language versions of a post or term. It documents the metadata that holds the links, the relationship API that reads and writes them, and the legacy trid table that older sites may still use. For the plain-language version see How WPEstate Translate Links Translations Together. CONTENT The […]
How WPEstate Translate Links Translations Together
When you translate a property, the plugin must remember that the English and the French version are the same listing in two languages. This article explains, in plain words, how WPEstate Translate links translations together on a multi-language real estate website, and what that means when you edit or delete content. CONTENT One Original, Several […]
Meta Sync Across Language Variants — Developer Guide
This article covers the meta synchronization pipeline in WPEstate Translate 1.0.9 (text domain wpr-translate): how rules are loaded and normalized, which hooks drive synchronization and which safeguards prevent loops and stale writes. It is the companion to the user-facing Custom Field Rules article and part of the wider multi-language real estate website architecture. CONTENT Files […]
Meta Sync Across Language Variants
When you translate a property, some information should be identical in every language — the price, the number of bedrooms, the GPS coordinates — while other information should be unique per language — the title, the description, the SEO summary. WPEstate Translate gives you a per-field rule engine that decides, for each custom field, whether […]
Taxonomy Translation — Developer Guide
This article maps the taxonomy translation subsystem in WPEstate Translate 1.0.9 (text domain wpr-translate): settings storage, how terms are linked, the duplication pipeline, the hierarchy synchronizer, term filters and the adv6 search compatibility shim. For the broader architecture behind a multi-language real estate website, see the plugin overview. CONTENT Files In Scope Settings Storage How […]