AIT Languages PHP 8.3 Local Compatibility Edition
==================================================

Version: 4.0.4-php83.2.1

Changes
-------
- Keeps the bundled Polylang data model and existing language associations.
- Prevents direct page requests from being restricted by a forced language
  taxonomy when the page has no valid language assignment. This addresses the
  observed 404 errors on normal WordPress pages.
- Disables the abandoned AitThemes.Club subscription verification bootstrap,
  including its daily remote request and API-key notices.
- Declares legacy object properties reported as dynamic under PHP 8.3 in the
  main frontend, static-page, language and plugin-compatibility classes.
- Explicitly loads the Polylang translation catalogue immediately before its
  legacy plugins_loaded bootstrap. This prevents WordPress 6.7+ from invoking
  just-in-time translation loading too early while preserving the established
  URL and language-selection initialization order.
- Bypasses the legacy delayed loader only while Polylang's own catalogue is
  loaded, and supplies a no-op catalogue for locales such as en_US that do not
  require an MO file.
- Avoids the private _get_path_to_translation() cache reset on WordPress 6.1+
  where the function is deprecated and the textdomain registry handles paths.

Installation
------------
1. Back up the database and wp-content/plugins/ait-languages.
2. Keep the current plugin deactivated.
3. Rename its directory to ait-languages-original.
4. Extract this package so the main file is:
   wp-content/plugins/ait-languages/ait-languages.php
5. Activate AIT Languages.
6. Open Settings > Permalinks and click Save Changes twice.
7. Test the home page, every menu page and both language selectors.

Rollback
--------
Deactivate this edition, rename its directory, and restore
ait-languages-original to ait-languages. Do not use WordPress's Delete action,
because the plugin uninstaller can remove language relationships and settings.
