Skip to content
AIWikis.org

JustAnIota Ns12 Locale Router Readme

Publication Warning This page is marked noindex and should not be treated as canonical public authority.

=== NS12 Locale Router === Contributors: uaix Tags: localization, multilingual, locale, routing, translation Requires at least: 6.6 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 2.7.0 License: GPLv2 or later License...

Metadata

FieldValue
Source siteɩ.com / JustAnIota.com
Source URLhttps://justaniota.com/
Canonical AIWikis URLhttps://aiwikis.org/justaniota/uai-system/files/raw-system-archives-justaniota-short-domain-seo-release-2026-05-05-curre-be816bd0/
Source referenceraw/system-archives/justaniota/short-domain-seo-release/2026-05-05/current-source/wp-content/plugins/ns12-locale-router/readme.txt
File typetxt
Content categorymemory-file
Last fetched2026-05-15T00:23:56.0837262Z
Last changed2026-04-28T07:00:00.0000000Z
Content hashsha256:be816bd07e7278655a08f8f1074513baa17067ba47b706e394d1710c9fa4baa2
Import statusunchanged
Raw source layerdata/sources/justaniota/raw-system-archives-justaniota-short-domain-seo-release-2026-05-05-current-source-wp-content-plu-be816bd07e72.txt
Normalized source layerdata/normalized/justaniota/raw-system-archives-justaniota-short-domain-seo-release-2026-05-05-current-source-wp-content-plu-be816bd07e72.txt

Current File Content

Structure Preview

  • No Markdown headings were detected in this file.

Raw Version

=== NS12 Locale Router ===
Contributors: uaix
Tags: localization, multilingual, locale, routing, translation
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 2.7.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Locale-prefixed routing, browser-language detection, and JSON dictionary localization for WordPress.

== Description ==

NS12 Locale Router keeps front-end visitors inside locale-prefixed URLs such as `/en-us/` and `/zh-cn/` without relying on cookies or session state.

The plugin can:

* Detect the best enabled language for a bare public URL and redirect visitors into the matching locale prefix.
* Fall back to the admin-configured default locale when no browser-language match is available.
* Keep admin, login, cron, AJAX, and excluded paths outside locale routing.
* Localize internal links so visitors stay inside the active locale.
* Load per-locale JSON dictionaries for string translation.
* Generate full-site translator-facing JSON exports that use English source text as the external key for template, English, and per-locale downloads.
* Provide a shortcode-based locale switcher for themes, pages, and templates.

The default locale is `en-US` out of the box, and the plugin stores locale dictionaries in the WordPress uploads directory so site owners can manage translations without editing plugin code. Translator-facing locale files are intended to stay reviewable as one JSON file per locale.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install the ZIP from the WordPress admin plugin uploader.
2. Activate `NS12 Locale Router` through the Plugins screen.
3. Open `NS12 Locale Router` in the WordPress admin menu.
4. Confirm the default locale and enabled locales.
5. Save settings so your routing rules and locale configuration are locked in.
6. Open `NS12 Locale Router > Status` or `Tools > Site Health` and confirm the localized homepage check is green before going live.
7. If the localized homepage returns HTTP 404, fix the site-root rewrite handoff before assuming the plugin is broken.

== Frequently Asked Questions ==

= What happens to URLs without a locale prefix? =

Public URLs without a locale segment are redirected to the best enabled browser-language match. If no match can be inferred, the visitor is redirected to the configured default locale.

= Does the plugin affect wp-admin or wp-login.php? =

No. Admin, login, cron, AJAX, REST, and excluded paths stay outside locale routing unless you explicitly enable prefixed REST support.

= How do I add a language switcher to a page or template? =

Use the `[ns12_locale_switcher]` shortcode.

= Where are translation dictionaries stored? =

Locale dictionaries are stored in the WordPress uploads directory under `ns12-locale-router/dictionaries/`.

= What does Download Template JSON provide? =

It should provide the complete current English source inventory for the locale-router-managed site copy surface in one JSON file. The template uses English source text as the key and empty strings as the values so the file can be sent directly to a human or AI translator.

= Can I download a full locale dictionary, edit it, and upload it back? =

Yes. The Dictionaries screen should allow you to download one translator-facing JSON file per locale, review or translate that file externally, and upload it back over the same locale. The English export uses the same English source-text keys and repeats the English source text as the value.

= Localized URLs return a server 404. What should I check? =

Make sure your web server forwards locale-prefixed pretty permalinks into WordPress. Locale-prefixed paths such as `/en-us/` must reach WordPress before the locale router can normalize and resolve them. The ZIP package itself does not carry the site-root `.htaccess` file, but NS12 Locale Router can repair that file after upload when WordPress has permission to write it. On Apache and LiteSpeed, open `NS12 Locale Router > Status` first:

* If `Repair .htaccess` is available, use it. The plugin refreshes its own `# BEGIN NS12 Locale Router` marker block and inserts or refreshes the `# BEGIN WordPress` marker block required for pretty REST and page URLs.
* If automatic repair is not available, copy the exact manual snippet shown on the Status page into the site-root `.htaccess` file beside `wp-admin`, `wp-content`, and `index.php`.

The exact manual snippet varies with the current locale configuration. Do not rely on an older copied example. Put the current block in the site-root `.htaccess` file in the same folder as `wp-admin`, `wp-content`, and `index.php`. If `.htaccess` is hidden in cPanel File Manager, enable hidden files first. If cPanel says the file already exists when you try to create it, the file is already present but hidden, so edit the existing file instead. If existing `NS12 Locale Router` or `WordPress` marker blocks are present, replace those marker sections instead of pasting duplicates.

The plugin Status page, plugin admin notices, and Site Health localized-home test will report this failure mode directly so the problem is visible inside wp-admin instead of looking like a silent plugin bug.

= Should themes or plugins hardcode /spec/ or /en-us/spec/? =

No for normal internal navigation. Bare links such as `/spec/` rely on redirect fallback and can lose the visitor's current locale. Explicit locale links such as `/en-us/spec/` should be reserved for intentional language switchers or similarly explicit language-pinning flows. Use WordPress-generated URLs so the active locale is preserved automatically.

== Changelog ==

= 1.3.26 =

* Refreshed the packaged release after confirming the enabled `en-US` and `zh-CN` language boundary and current handoff documentation route coverage.

= 1.3.24 =

* Added an Apache/LiteSpeed rewrite guard to keep repo Markdown instruction files from being served as public files when `.htaccess` repair is active.

= 1.3.23 =

* Prefer theme-provided clean public routes when canonicalizing internal `?page_id=`, `?p=`, `?attachment_id=`, and `?s=` links.

= 1.3.22 =

* Preserved intentional locale-pinned links instead of forcing them into the active locale.
* Kept `/.well-known/...` discovery links at the site root during front-end link localization.
* Disabled the bundled Spiral demo locale by default so the public switcher only exposes launch-ready locales unless an admin explicitly enables more.

= 1.3.21 =

* Expanded dictionary upload failure notices in wp-admin so the screen shows the detected locale, key mode, validation issues, and likely next steps.

= 1.3.20 =

* Replaced the stub template with generated full-site translator-facing JSON exports keyed by English source text.
* Added locale export downloads so each language can be reviewed and re-uploaded as one complete JSON file.
* Normalized translator-facing uploads back into runtime keys automatically while preserving legacy runtime-key compatibility.

= 1.3.18 =

* Added regression coverage for the production outage pattern where the site-root `# BEGIN WordPress` block rewrites locale URLs to `/en-us/index.php`.
* Extended `.htaccess` repair so the plugin can refresh a stale root `WordPress` marker alongside the NS12 locale-router block when locale-prefixed URLs are server-404ing before WordPress.

= 1.3.17 =

* Tightened the bare-route exception contract so only the agreed sitemap and robots endpoints skip locale redirects by default.
* Expanded the unit route inventory to cover the current public page families, locale-prefixed reachability, and near-exception paths such as `/sitemap-guide/`.

= 1.3.16 =

* Moved install and repair checks onto normal `init` so a fresh plugin upload can repair locale handoff on the next reachable request instead of waiting for wp-admin.
* Added a throttled runtime self-heal pass before bare URL redirects so `/` can restore a missing locale rewrite block when WordPress is allowed to write the site-root `.htaccess`.

= 1.3.15 =

* Clarified that locale-prefixed HTTP 404s come from the site-root rewrite handoff, not the bare-URL redirect itself.
* Clarified throughout wp-admin and the readme that locale route deploys still depend on the site-root `.htaccess` handoff.
* Removed the stale hardcoded manual `.htaccess` example and now direct admins to the current Status-page snippet.

= 0.1.9 =

* Added Apache/LiteSpeed-aware `.htaccess` diagnostics for the site-root locale handoff path.
* Added a one-click `Repair .htaccess` action for the locale rewrite marker block.
* Added exact manual snippet output in wp-admin and Site Health when automatic `.htaccess` repair is not available.
* Expanded Status and debug info with `.htaccess` environment, path, block-presence, and auto-repair visibility.

= 0.1.8 =

* Made the front-end QA banner clearly minimizable and added remembered collapsed state for local admin sessions.

= 0.1.7 =

* Added a compact front-end diagnostics banner for local, staging, debug, and localhost admin sessions so routing health is visible directly on the public site during QA.

= 0.1.6 =

* Added a shared localized-home routing diagnostic so admin notices, the Status page, and Site Health all describe the same server-rewrite failure mode.
* Added exact LiteSpeed/Apache rewrite instructions and the standard WordPress rewrite block directly inside wp-admin when locale-prefixed URLs return HTTP 404.
* Added a go-live reminder on the Settings screen so admins verify localized homepage routing before launch.
* Added a theme and plugin link review scan in wp-admin so hardcoded bare internal links and accidental language-pinned links are visible before publish.
* Added explicit guidance that internal navigation should stay locale-aware and not rely on `/spec/`-style redirect fallback.

= 0.1.5 =

* Preserved the active HTTPS scheme when generating localized front-end redirects and links, even when reverse-proxy headers are involved.
* Added localized homepage loopback diagnostics to Site Health so server-level 404s on locale-prefixed URLs are surfaced inside wp-admin.
* Expanded the Status page with permalink, scheme, and localized-home routing visibility.

= 0.1.4 =

* Moved locale request bootstrap to the pre-parse request stage so locale-prefixed URLs are resolved before WordPress rewrite matching.
* Fixed localized front-end requests such as `/en-us/` reaching WordPress too late and returning 404s.

= 0.1.3 =

* Added Site Health integration with plugin-specific readiness and debug information.
* Guarded validation history writes and validation admin views when storage is not ready yet.
* Added market-research-backed diagnostics improvements to support safer installs and troubleshooting.

= 0.1.2 =

* Added a full System Status admin page with runtime, environment, routing, and storage diagnostics.
* Added one-click repair tasks for options, upload directories, validation storage, rewrite rules, and runtime bootstrap.
* Wrapped main plugin boot in a safe bootstrap guard so boot failures surface as admin notices instead of silent breaks.
* Added direct Settings and Status links on the Plugins screen.

= 0.1.1 =

* Hardened activation by deferring runtime bootstrap until after WordPress fully loads.
* Moved install tasks to a non-blocking setup pass so activation is less likely to fail silently.
* Added bootstrap diagnostics for admin notices and debug logging.

= 0.1.0 =

* Initial release of NS12 Locale Router.
* Added locale-prefixed routing with default-locale fallback.
* Added locale catalog and JSON dictionary management screens.
* Added locale switcher shortcode and internal link localization.

Why This File Exists

This is a memory-system evidence file from ɩ.com / JustAnIota.com. It is shown here because AIWikis.org is demonstrating the real source files that make the UAIX / LLM Wiki memory system work, not only summarizing those systems after the fact.

Role

This file is memory-system evidence. It records source history, archive transfer, intake disposition, or another piece of provenance that should be retrievable without becoming an unsupported public claim.

Structure

The file has no Markdown headings, so its path, frontmatter, file type, and provenance metadata carry most of the retrieval meaning.

Prompt-Size And Retrieval Benefit

Keeping this material in a separate file reduces prompt pressure because an agent can load this exact unit only when its role, source site, category, or hash is relevant. The surrounding index pages point to it, while this page preserves the full content for audit and exact recall.

How To Use It

  • Humans should read the metadata first, then inspect the raw content when they need exact wording or provenance.
  • LLMs and agents should use the source site, category, hash, headings, and related files to decide whether this file belongs in the active prompt.
  • Crawlers should treat the AIWikis page as transparent evidence and follow the source URL/source reference for authority boundaries.
  • Future maintainers should regenerate this page whenever the source hash changes, then review the explanation if the role or structure changed.

Update Requirements

When this source file changes, update the raw source layer, normalized source layer, hash history, this rendered page, generated explanation, source-file inventory, changed-files report, and any source-section index that links to it.

Related Pages

Provenance And History

  • Current observation: 2026-05-15T00:23:56.0837262Z
  • Source origin: current-source-workspace
  • Retrieval method: local-source-workspace
  • Duplicate group: sfg-594 (primary)
  • Historical hash records are stored in data/hashes/source-file-history.jsonl.

Machine-Readable Metadata

{
    "title":  "JustAnIota Ns12 Locale Router Readme",
    "source_site":  "ɩ.com / JustAnIota.com",
    "source_url":  "https://justaniota.com/",
    "canonical_url":  "https://aiwikis.org/justaniota/uai-system/files/raw-system-archives-justaniota-short-domain-seo-release-2026-05-05-curre-be816bd0/",
    "source_reference":  "raw/system-archives/justaniota/short-domain-seo-release/2026-05-05/current-source/wp-content/plugins/ns12-locale-router/readme.txt",
    "file_type":  "txt",
    "content_category":  "memory-file",
    "content_hash":  "sha256:be816bd07e7278655a08f8f1074513baa17067ba47b706e394d1710c9fa4baa2",
    "last_fetched":  "2026-05-15T00:23:56.0837262Z",
    "last_changed":  "2026-04-28T07:00:00.0000000Z",
    "import_status":  "unchanged",
    "duplicate_group_id":  "sfg-594",
    "duplicate_role":  "primary",
    "related_files":  [

                      ],
    "generated_explanation":  true,
    "explanation_last_generated":  "2026-05-15T00:23:56.0837262Z"
}

Next Useful Routes

  • Start Here A task-first reading path for AIWikis.org, separating newcomer learning, source-memory lookup, maintainer workflow, and AI-agent retrieval.
  • Topic Index A tag-oriented index for LLM Wiki, AI memory, UAI, source governance, crawling, and retrieval topics.
  • Source Map AIWikis source-governed page for durable AI memory, evidence routing, and agent-readable retrieval.
  • JustAnIota.com / ɩ.com Source Memory AIWikis source-governed page for durable AI memory, evidence routing, and agent-readable retrieval.
  • JustAnIota Source Memory Guide AIWikis source-governed page for durable AI memory, evidence routing, and agent-readable retrieval.
  • ɩ.com / JustAnIota.com UAI System Files Real current JustAnIota handoff, LLM Wiki, compact-message tooling, public-content, and source-archive evidence files.