From 9d02f35522c8cc39bc80575ccc16c0467d5e0f6f Mon Sep 17 00:00:00 2001 From: hamster1963 <1410514192@qq.com> Date: Sun, 29 Sep 2024 11:28:01 +0800 Subject: [PATCH] feat: add DefaultLocale config --- .env.example | 1 + README.md | 15 ++++++++------- docker/.env.example | 1 + i18n-metadata.ts | 4 +++- middleware.ts | 4 ++-- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.env.example b/.env.example index b69c8b82e..e2c860e04 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,6 @@ NezhaBaseUrl=http://124.XX.XX.XX:8008 NezhaAuth=your-nezha-api-token +DefaultLocale=zh NEXT_PUBLIC_NezhaFetchInterval=5000 NEXT_PUBLIC_ShowFlag=true NEXT_PUBLIC_DisableCartoon=true \ No newline at end of file diff --git a/README.md b/README.md index 72059bc6c..2291b6d9f 100644 --- a/README.md +++ b/README.md @@ -12,13 +12,14 @@ #### 环境变量 -| 变量名 | 含义 | 示例 | -| ------------------------------ | -------------------- | -------------------------------- | -| NezhaBaseUrl | nezha 面板地址 | http://120.x.x.x:8008 | -| NezhaAuth | nezha 面板 API Token | 5hAY3QX6Nl9B3Uxxxx26KMvOMyXS1Udi | -| NEXT_PUBLIC_NezhaFetchInterval | 获取数据间隔(毫秒) | **默认**:2000 | -| NEXT_PUBLIC_ShowFlag | 是否显示旗帜 | **默认**:false | -| NEXT_PUBLIC_DisableCartoon | 是否禁用卡通人物 | **默认**:false | +| 变量名 | 含义 | 示例 | +| ------------------------------ | -------------------------------- | -------------------------------- | +| NezhaBaseUrl | nezha 面板地址 | http://120.x.x.x:8008 | +| NezhaAuth | nezha 面板 API Token | 5hAY3QX6Nl9B3Uxxxx26KMvOMyXS1Udi | +| DefaultLocale | 面板默认显示语言(代码参考下表) | **默认**:en | +| NEXT_PUBLIC_NezhaFetchInterval | 获取数据间隔(毫秒) | **默认**:2000 | +| NEXT_PUBLIC_ShowFlag | 是否显示旗帜 | **默认**:false | +| NEXT_PUBLIC_DisableCartoon | 是否禁用卡通人物 | **默认**:false | #### 多语言支持 diff --git a/docker/.env.example b/docker/.env.example index b69c8b82e..e2c860e04 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -1,5 +1,6 @@ NezhaBaseUrl=http://124.XX.XX.XX:8008 NezhaAuth=your-nezha-api-token +DefaultLocale=zh NEXT_PUBLIC_NezhaFetchInterval=5000 NEXT_PUBLIC_ShowFlag=true NEXT_PUBLIC_DisableCartoon=true \ No newline at end of file diff --git a/i18n-metadata.ts b/i18n-metadata.ts index acf3a7cdd..3151be8b0 100644 --- a/i18n-metadata.ts +++ b/i18n-metadata.ts @@ -1,5 +1,7 @@ // @auto-i18n-check. Please do not delete the line. +import getEnv from "./lib/env-entry"; + export const localeItems = [ { code: "en", name: "English" }, { code: "ja", name: "日本語" }, @@ -21,4 +23,4 @@ export const localeItems = [ ]; export const locales = localeItems.map((item) => item.code); -export const defaultLocale = "en"; +export const defaultLocale = getEnv("DefaultLocale") || "en"; diff --git a/middleware.ts b/middleware.ts index a4b787c72..ebcec7e1e 100644 --- a/middleware.ts +++ b/middleware.ts @@ -1,14 +1,14 @@ // @auto-i18n-check. Please do not delete the line. import createMiddleware from "next-intl/middleware"; -import { locales } from "./i18n-metadata"; +import { defaultLocale, locales } from "./i18n-metadata"; export default createMiddleware({ // A list of all locales that are supported locales: locales, // Used when no locale matches - defaultLocale: "en", + defaultLocale: defaultLocale, // 'always': This is the default, The home page will also be redirected to the default language, such as www.abc.com to www.abc.com/en // 'as-needed': The default page is not redirected. For example, if you open www.abc.com, it is still www.abc.com