Burmese blog i18n: locale content layout + repo housekeeping - #41
Draft
htetaunglin-coder wants to merge 7 commits into
Draft
Burmese blog i18n: locale content layout + repo housekeeping#41htetaunglin-coder wants to merge 7 commits into
htetaunglin-coder wants to merge 7 commits into
Conversation
Move every post into content/blog/en/ and configure the Fumadocs loader with a two-locale i18n config (en default, my reserved). English URLs are unchanged: hideLocale "default-locale" keeps the default locale off the path, so page.url stays /blog/<slug>. Scope the English index, post route, and search index to "en" — an unscoped getPages() now spans both locales. The sitemap stays unscoped on purpose so it picks up Burmese posts once they exist. parser: "dir" silently discards files under any directory not listed in languages, so guard the loader by counting loaded pages against source files and throwing when they disagree. Refs #34
The workflow still called npm with eslint, prettier, and a typecheck script, none of which exist here any more. Replace them with the real gates: check, types:check, build. Also run on pushes to main, cancel superseded runs, and pin the toolchain via the packageManager field so pnpm/action-setup resolves a version. Build needs placeholder env vars because a few are read at module scope — next-cloudinary throws outright without a cloud name.
Records where issues live, the five triage labels, and the single-context domain doc layout, so agents stop rediscovering them each session.
AGENTS.md now states the Next.js 16 caveat, the absence of a test runner, and the verification gates, and it is mirrored byte-for-byte in CLAUDE.md so every tool reads the same rules. Refresh project-map.md against the code, and mark the i18n plan as a plan — it read as a description of the codebase while none of it was built.
Source-level findings behind the Burmese blog design, so the non-obvious calls are not re-litigated later: the loader's silent file loss under parser "dir", Myanmar shaping in the social-image library, and why the framework's own i18n guidance would break the non-blog routes.
182 files of cache and graph artefacts that no build step reads. Ignore the directory alongside the other agent tooling so a re-run does not add them back.
❌ Deploy Preview for htetaunglin-coder failed. Why did it fail? →
|
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
❌ Deploy Preview for gilded-faun-551193 failed. Why did it fail? →
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft, and staying draft for now — this exists as a review surface for the
Burmese blog work in #33. The remaining slices land on this branch, so the
diff will keep growing. Not ready to merge.
What is here so far
refactor(blog)— closes #34, the prefactorPosts move to
content/blog/en/and the Fumadocs loader gains a two-localeconfig (
endefault,myreserved). Nothing a reader can see changes.hideLocale: "default-locale"keeps the default locale off the path, soevery existing URL stays byte-for-byte identical
fallbackLanguage: null— a missing translation resolves to nothing, neverthe English post at a second indexed URL
pass
"en"explicitly, because an unscopedgetPages()spans both locales.sitemap.tsstays unscoped on purpose so it picks up Burmese posts oncethey exist — there is a comment there saying not to add a locale argument
parser: "dir"silently discards posts in an unrecognised directory, sosrc/lib/source.tscounts loaded pages against source files and throwsHousekeeping (independent of the above)
citypecheck, none of which exist here. Now runscheck,types:check,buildon pnpmdocsCLAUDE.md; issue-tracker/triage/domain guides added; i18n plan marked as a plandocschoreVerification
No test runner in this repo, so the gate is
check+types:check+build,all passing. On top of that, for #34:
sitemap.xmlare allidentical to a pre-change baseline build
en/mypair resolves to/blog/xand/my/blog/x; a Burmese-only post is absent fromen; an untranslated postis absent from
my; a file in a stray directory vanishescontent/blog/drafts/and watching the build fail with a clear message
This PR is also the first real exercise of the rewritten CI workflow.
Not here yet
Burmese routes and index, the Myanmar typeface, the language switcher,
hreflang, Burmese preview images, and the rewrite of
agent_docs/i18n-burmese-english.md— all later slices of #33.