feat(i18n): translate pricing heading and plan CTA for Chinese - #21
Open
yanboishere wants to merge 5 commits into
Open
yanboishere wants to merge 5 commits into
yanboishere wants to merge 5 commits into
Conversation
Add ja as a third UI locale alongside en/zh:
- New src/locales/ja.json translating every key (273 keys, full parity
with en/zh), using the product's official Japanese terminology from
the embedded Memoh app (マーケットプレイス, Botにインストールする, ブラウザー, …)
- Register ja in i18n.ts with browser-language detection and validation
of the stored preference; add 日本語 to the TopBar language menu
- Pass lang=ja through to the embedded product demo (the vendored app
already ships a ja locale; only the landing-owned mocks/bootstrap.ts
gated it to zh/en)
- Move the remaining hardcoded bilingual strings into locale files:
PricingSection plan copy, HeroShowcase loading text and iframe title,
the "And more" platform strip, and the TopBar aria-labels
- Set <html lang> globally from App.vue so it also tracks the locale on
the legal pages; format blog dates with the ja calendar while post
bodies fall back to English; add ja hreflang alternates
- Round-trip the legal pages' ?lang= query for all three locales (the
document body itself stays zh/en by design, other locales read the
English text)
- Load Noto Sans JP / Noto Serif JP and swap the SC font fallbacks under
:lang(ja) so kana and kanji render with Japanese glyph forms
- Fix blog SEO titles dropping the " | Memoh Blog" suffix in every
locale: vue-i18n parsed the raw | as a plural separator; escape it
as {'|'}
The wechat chat demo is adapted for ja (it teaches the Chinese phrase
辛苦了 instead of explaining おつかれ to a Japanese reader). Adjacent
translations reviewed against the product UI and the zh/en voice.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Move the hardcoded "Pricing" section heading and "Get Started" plan-card label into the locale files. Japanese shows 料金プラン / 今すぐ始める (matching the hero and bottom CTA wording); en/zh keep their current English rendering unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The embedded demo already renders its UI chrome in the visitor's language, but the scripted content (welcome conversation, session titles, workspace files, bot/folder names, memories, schedules, the canned live reply) was a fixed English dataset. Localize all of it for ja in the landing-owned mocks: - mocks/locale.ts reads ?lang= once (Node test runs stay English since location is undefined there) and bootstrap.ts reuses it - data.ts: Japanese session titles, all six scripted conversations, the memory_search card, workspace files, bot names/descriptions, folder names, dependency blurbs (the zh-flavored session is kept, mirroring the English dataset's multilingual touch; "Cloud Computer" stays English to match the product's own ja locale) - fixtures.ts: Japanese memories and schedule entries (referenced by the weekly-digest reply) - chat.ts: reply to typed input in Japanese when the visitor writes kana or the demo runs in ja; zh/en behavior unchanged zh and en demos are byte-identical to before; demo mock tests (13) pass. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The zh UI kept the English "Pricing" heading and "Get Started" plan-card label; switch them to 定价 / 立即开始 (matching the hero and bottom CTA wording). en and ja are unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This branch has not been deployed
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.
Summary
Translate the last two English strings in the Chinese UI's pricing section:
立即开始 matches the wording the zh locale already uses for the hero CTA (
hero.ctaPrimary) and the bottom CTA (cta_bottom.btn). English and Japanese are unchanged (en keeps "Pricing" / "Get Started"; ja shows 料金プラン / 今すぐ始める).Notes
pricing.title/pricing.ctalocale keys are introduced there (onmainthese strings are still hardcoded inPricingSection.vue). Only the last commit (feat(i18n): translate pricing heading and plan CTA for Chinese) is new; once feat(i18n): add Japanese localization across the landing site #20 merges, this PR reduces to that one commit. Merge feat(i18n): add Japanese localization across the landing site #20 first.vue-tscandvite buildpass.