Astro is a great choice for content sites, with built-in internationalized routing.
Key config
Set i18n.locales and defaultLocale in astro.config.mjs.
Content organization
Each post has a copy in src/content/posts/zh and en, distinguished by a locale field.