本地化设置示范

此页面示范支持多种语言和时区的用户。

目前语言: zh_CN

目前时区: unknown

🌏 语言: | |

您也可以在页面底部切换语言。

Source Code of demo-locale.tsx
(import statements omitted for simplicity, click to expand)
import { title } from '../../config.js'
import { Locale } from '../components/locale.js'
import SourceCode from '../components/source-code.js'
import { PickLanguage } from '../components/ui-language.js'
import { Context, getContextLanguage, getContextTimezone } from '../context.js'
import { o } from '../jsx/jsx.js'
import { Routes } from '../routes.js'
function DemoLocale(attrs: {}, context: Context) {
  let lang = getContextLanguage(context) || 'unknown'
  let timezone = getContextTimezone(context) || 'unknown'
  return (
    <div id="demo-locale">
      <h1>
        <Locale
          en="Locale Demo"
          zh_hk="本地化設置示範"
          zh_cn="本地化设置示范"
        />
      </h1>
      <p>
        <Locale
          en="This page demo supporting users with multiple languages and timezones."
          zh_hk="此頁面示範支援多種語言和時區的使用者。"
          zh_cn="此页面示范支持多种语言和时区的用户。"
        />
      </p>
      <p>
        <Locale en="Current language:" zh_hk="目前語言:" zh_cn="目前语言:" />{' '}
        {lang}
      </p>
      <p>
        <Locale en="Current timezone:" zh_hk="目前時區:" zh_cn="目前时区:" />{' '}
        {timezone}
      </p>
      <PickLanguage />
      <p>
        <Locale
          en="You can switch the language in the page footer as well."
          zh_hk="您也可以在頁面底部切換語言。"
          zh_cn="您也可以在页面底部切换语言。"
        />
      </p>
      <SourceCode page="demo-locale.tsx" />
    </div>
  )
}

let routes = {
  '/locale': {
    menuText: <Locale en="Locale" zh_hk="本地化" zh_cn="本地化" />,
    resolve(context) {
      let t = Locale(
        { en: 'Locale Demo', zh_hk: '本地化設置示範', zh_cn: '本地化设置示范' },
        context,
      )
      return {
        title: title(t),
        description: (
          <Locale
            en="Locale demo for multiple languages and timezone (i18n)"
            zh_hk="示範支援多種語言和時區 (i18n)"
            zh_cn="示範支援多種語言和時區 (i18n)"
          />
        ),
        node: <DemoLocale />,
      }
    },
  },
} satisfies Routes

export default { routes }