Uaix Locale Router Readme
**Site relevance:** Antichrist.net
**Memory type:** plugin source memory
**Source path:** Antichrist.net/wp-content/plugins/uaix-locale-router/readme.txt
**Size:** 5.5 KB
Summary
=== UAIX Locale Router ===
Source Preview
This source file is short enough to preview directly on its source-memory page.
=== UAIX Locale Router ===
Contributors: uaix
Tags: localization, multilingual, locale, routing, translation
Requires at least: 6.6
Tested up to: 6.6
Requires PHP: 7.4
Stable tag: 3.28.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Production-grade locale-prefixed routing, browser-language detection, localized links, multilingual SEO metadata, and JSON dictionary translation for WordPress.
== Description ==
UAIX Locale Router is the renamed and overhauled successor to NS12 Locale Router. It keeps visitors inside locale-prefixed URLs such as `/en-us/` and `/zh-cn/`, detects browser language preferences for bare public URLs, localizes internal links and SEO metadata, and loads JSON dictionaries for translation.
Version 3.0.0 adds the UAIX plugin identity, safer migration from NS12 data, a smaller service-based architecture, cached diagnostics, stricter validation, and automated tests.
Core features:
* Locale-prefixed front-end routing.
* Browser `Accept-Language` matching with default-locale fallback.
* `[uaix_locale_switcher]` shortcode.
* Deprecated `[ns12_locale_switcher]` shortcode alias.
* New `uaixlr_t()` and `uaixlr_t_format()` helpers.
* Deprecated `ns12lr_t()` and `ns12lr_t_format()` helper aliases.
* JSON dictionary upload, download, validation, and runtime translation.
* Link localization for WordPress-generated and content links.
* Multilingual SEO metadata: canonical, hreflang, x-default, localized titles/descriptions, Open Graph/Twitter cards, and JSON-LD schema.
* Exclusions for admin, login, cron, AJAX, REST, robots, sitemaps, static assets, and `.well-known`.
* Status page diagnostics, Site Health checks, and Apache/LiteSpeed .htaccess repair.
* Embedded site health guard endpoint at /wp-json/site-health-guard/v1/ping for request diagnostics and fatal logging.
== Upgrade from NS12 Locale Router ==
Install and activate `uaix-locale-router/uaix-locale-router.php`. On activation or upgrade, the migrator copies old NS12 data into the UAIX option names without deleting the old data.
Copied options:
* `ns12lr_settings` to `uaixlr_settings`
* `ns12lr_supported_locales` to `uaixlr_supported_locales`
* `ns12lr_default_locale` to `uaixlr_default_locale`
* `ns12lr_dictionary_manifest` to `uaixlr_dictionary_manifest`
* `ns12lr_install_version` to `uaixlr_install_version`
* `ns12lr_bootstrap_notice` to `uaixlr_bootstrap_notice`
Dictionary files are copied from `uploads/ns12-locale-router/dictionaries/` to `uploads/uaix-locale-router/dictionaries/`. Validation history is copied from `{$wpdb->prefix}ns12lr_dictionary_validation` to `{$wpdb->prefix}uaixlr_dictionary_validation` when the old table exists and the new one does not.
Old NS12 data is preserved for rollback safety. It is removed on uninstall only when the UAIX setting "Legacy NS12 cleanup on uninstall" is explicitly enabled.
== Installation ==
1. Upload `uaix-locale-router` to `/wp-content/plugins/`, or install the release ZIP.
2. Activate `UAIX Locale Router`.
3. Open `UAIX Locale Router > Settings`.
4. Confirm enabled locales and the default locale.
5. Open `UAIX Locale Router > Status` or `Tools > Site Health`.
== Frequently Asked Questions ==
= How do I add a language switcher? =
Use `[uaix_locale_switcher]`. The old `[ns12_locale_switcher]` shortcode still works as a deprecated alias.
= Where are dictionaries stored? =
Runtime dictionaries are stored in `uploads/uaix-locale-router/dictionaries/`. The migrator copies old dictionaries from `uploads/ns12-locale-router/dictionaries/`.
= How do helper functions work? =
Use `uaixlr_t( 'key', 'Fallback text' )` and `uaixlr_t_format( 'key', array( 'name' => 'Ada' ), 'Hello {name}' )`. The old `ns12lr_t()` and `ns12lr_t_format()` helpers call the new helpers and are deprecated.
= How does .htaccess repair work? =
On Apache and LiteSpeed, the Status page can refresh only the expected `# BEGIN UAIX Locale Router` and `# BEGIN WordPress` marker blocks in the site-root `.htaccess` file. It does not write arbitrary content outside those marker blocks.
= How do I debug routing problems? =
Open `UAIX Locale Router > Status` and review localized-home diagnostics, rewrite handoff status, dictionary storage, migration status, and link review. Site Health exposes runtime and localized-home tests.
== Changelog ==
= 3.8.0 =
* Embedded request diagnostics, fatal logging, and site-health-guard/v1 recovery endpoints inside UAIX Locale Router.
* The standalone health guard plugin is no longer needed when UAIX Locale Router is active.
= 3.0.0 =
* Renamed plugin identity from NS12 Locale Router to UAIX Locale Router.
* Added migration for old NS12 options, dictionaries, notices, and validation history.
* Added deprecated aliases for old helper functions, shortcode, admin actions, query vars, and selected filters.
* Split the previous monolithic plugin class into focused services.
* Added cached settings, locale, dictionary, translation scan, link review, and localized-home diagnostics.
* Hardened dictionary validation, upload handling, locale parsing, path normalization, redirects, and `.htaccess` repair.
* Added Composer, PHPUnit configuration, CI workflow, and automated tests.
== Upgrade Notice ==
= 3.8.0 =
* Embedded request diagnostics, fatal logging, and site-health-guard/v1 recovery endpoints inside UAIX Locale Router.
* The standalone health guard plugin is no longer needed when UAIX Locale Router is active.
= 3.0.0 =
This is the UAIX rename and architecture overhaul. Existing NS12 data is copied forward and preserved for rollback safety.