doc: improve translation

This commit is contained in:
hamster1963 2024-10-04 21:34:25 +08:00
parent 58dc3e8e32
commit bd16fcc140
8 changed files with 37 additions and 25 deletions

View File

@ -7,11 +7,12 @@ import useSWR from "swr";
import getEnv from "../../../../lib/env-entry"; import getEnv from "../../../../lib/env-entry";
import Switch from "@/components/Switch"; import Switch from "@/components/Switch";
import { useState } from "react"; import { useState } from "react";
import { useTranslations } from "next-intl";
const defaultTag = "All";
export default function ServerListClient() { export default function ServerListClient() {
const [tag, setTag] = useState<string>(defaultTag); const t = useTranslations("ServerListClient");
const [tag, setTag] = useState<string>(t("defaultTag"));
const { data, error } = useSWR<ServerApi>("/api/server", nezhaFetcher, { const { data, error } = useSWR<ServerApi>("/api/server", nezhaFetcher, {
refreshInterval: Number(getEnv("NEXT_PUBLIC_NezhaFetchInterval")) || 2000, refreshInterval: Number(getEnv("NEXT_PUBLIC_NezhaFetchInterval")) || 2000,
@ -20,18 +21,13 @@ export default function ServerListClient() {
return ( return (
<div className="flex flex-col items-center justify-center"> <div className="flex flex-col items-center justify-center">
<p className="text-sm font-medium opacity-40">{error.message}</p> <p className="text-sm font-medium opacity-40">{error.message}</p>
<p className="text-sm font-medium opacity-40"> <p className="text-sm font-medium opacity-40">{t("error_message")}</p>
Please check your environment variables and review the server console
logs for more details.
</p>
</div> </div>
); );
if (!data) return null; if (!data) return null;
const { result } = data; const { result } = data;
const sortedServers = result.sort((a, b) => { const sortedServers = result.sort((a, b) => {
const displayIndexDiff = (b.display_index || 0) - (a.display_index || 0); const displayIndexDiff = (b.display_index || 0) - (a.display_index || 0);
if (displayIndexDiff !== 0) return displayIndexDiff; if (displayIndexDiff !== 0) return displayIndexDiff;
@ -41,10 +37,10 @@ export default function ServerListClient() {
const allTag = sortedServers.map((server) => server.tag).filter((tag) => tag); const allTag = sortedServers.map((server) => server.tag).filter((tag) => tag);
const uniqueTags = [...new Set(allTag)]; const uniqueTags = [...new Set(allTag)];
uniqueTags.unshift(defaultTag); uniqueTags.unshift(t("defaultTag"));
const filteredServers = const filteredServers =
tag === defaultTag tag === t("defaultTag")
? sortedServers ? sortedServers
: sortedServers.filter((server) => server.tag === tag); : sortedServers.filter((server) => server.tag === tag);

BIN
bun.lockb

Binary file not shown.

View File

@ -14,7 +14,7 @@ export default function Switch({
setTag: (tag: string) => void; setTag: (tag: string) => void;
}) { }) {
return ( return (
<div className="z-50 flex flex-col overflow-x-scroll scrollbar-hidden rounded-[50px] items-start"> <div className="scrollbar-hidden z-50 flex flex-col items-start overflow-x-scroll rounded-[50px]">
<div className="flex items-center gap-1 rounded-[50px] bg-stone-100 p-[3px] dark:bg-stone-800"> <div className="flex items-center gap-1 rounded-[50px] bg-stone-100 p-[3px] dark:bg-stone-800">
{allTag.map((tag) => ( {allTag.map((tag) => (
<div <div

View File

@ -5,6 +5,10 @@
"p_2532-2599_Offlineservers": "Offline servers", "p_2532-2599_Offlineservers": "Offline servers",
"p_3463-3530_Totalbandwidth": "Total bandwidth" "p_3463-3530_Totalbandwidth": "Total bandwidth"
}, },
"ServerListClient": {
"error_message": "Please check your environment variables and review the server console",
"defaultTag": "All"
},
"ServerCard": { "ServerCard": {
"CPU": "CPU", "CPU": "CPU",
"Mem": "Mem", "Mem": "Mem",

View File

@ -5,6 +5,10 @@
"p_2532-2599_Offlineservers": "オフラインサーバー", "p_2532-2599_Offlineservers": "オフラインサーバー",
"p_3463-3530_Totalbandwidth": "総流量" "p_3463-3530_Totalbandwidth": "総流量"
}, },
"ServerListClient": {
"error_message": "環境変数を確認し、サーバーコンソールを確認してください",
"defaultTag": "すべて"
},
"ServerCard": { "ServerCard": {
"CPU": "CPU", "CPU": "CPU",
"Mem": "Mem", "Mem": "Mem",

View File

@ -5,6 +5,10 @@
"p_2532-2599_Offlineservers": "離線伺服器", "p_2532-2599_Offlineservers": "離線伺服器",
"p_3463-3530_Totalbandwidth": "總流量" "p_3463-3530_Totalbandwidth": "總流量"
}, },
"ServerListClient": {
"error_message": "請檢查您的環境變數並檢查伺服器控制台",
"defaultTag": "全部"
},
"ServerCard": { "ServerCard": {
"CPU": "CPU", "CPU": "CPU",
"Mem": "記憶體", "Mem": "記憶體",

View File

@ -5,6 +5,10 @@
"p_2532-2599_Offlineservers": "离线服务器", "p_2532-2599_Offlineservers": "离线服务器",
"p_3463-3530_Totalbandwidth": "总流量" "p_3463-3530_Totalbandwidth": "总流量"
}, },
"ServerListClient": {
"error_message": "请检查您的环境变量并检查服务器控制台",
"defaultTag": "全部"
},
"ServerCard": { "ServerCard": {
"CPU": "CPU", "CPU": "CPU",
"Mem": "内存", "Mem": "内存",

View File

@ -12,26 +12,26 @@
}, },
"dependencies": { "dependencies": {
"@ducanh2912/next-pwa": "^10.2.9", "@ducanh2912/next-pwa": "^10.2.9",
"@radix-ui/react-dialog": "^1.1.1", "@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-dropdown-menu": "^2.1.2",
"@radix-ui/react-navigation-menu": "^1.2.0", "@radix-ui/react-navigation-menu": "^1.2.1",
"@radix-ui/react-popover": "^1.1.1", "@radix-ui/react-popover": "^1.1.2",
"@radix-ui/react-progress": "^1.1.0", "@radix-ui/react-progress": "^1.1.0",
"@radix-ui/react-separator": "^1.1.0", "@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.1.0", "@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.2", "@radix-ui/react-tooltip": "^1.1.3",
"@types/luxon": "^3.4.2", "@types/luxon": "^3.4.2",
"@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/eslint-plugin": "^7.18.0",
"caniuse-lite": "^1.0.30001664", "caniuse-lite": "^1.0.30001667",
"class-variance-authority": "^0.7.0", "class-variance-authority": "^0.7.0",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"country-flag-icons": "^1.5.13", "country-flag-icons": "^1.5.13",
"eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-simple-import-sort": "^12.1.1",
"flag-icons": "^7.2.3", "flag-icons": "^7.2.3",
"framer-motion": "^11.9.0", "framer-motion": "^11.11.1",
"lucide-react": "^0.414.0", "lucide-react": "^0.414.0",
"luxon": "^3.5.0", "luxon": "^3.5.0",
"next": "^14.2.13", "next": "^14.2.14",
"next-intl": "^3.20.0", "next-intl": "^3.20.0",
"next-runtime-env": "^3.2.2", "next-runtime-env": "^3.2.2",
"next-themes": "^0.3.0", "next-themes": "^0.3.0",
@ -42,19 +42,19 @@
"react-wrap-balancer": "^1.1.1", "react-wrap-balancer": "^1.1.1",
"sharp": "^0.33.5", "sharp": "^0.33.5",
"swr": "^2.2.6-beta.4", "swr": "^2.2.6-beta.4",
"tailwind-merge": "^2.5.2", "tailwind-merge": "^2.5.3",
"tailwindcss-animate": "^1.0.7" "tailwindcss-animate": "^1.0.7"
}, },
"devDependencies": { "devDependencies": {
"eslint-plugin-turbo": "^2.1.2", "eslint-plugin-turbo": "^2.1.3",
"eslint-plugin-unused-imports": "^4.1.4", "eslint-plugin-unused-imports": "^4.1.4",
"@next/bundle-analyzer": "^14.2.13", "@next/bundle-analyzer": "^14.2.14",
"@types/node": "^22.7.4", "@types/node": "^22.7.4",
"@types/react": "^18.3.10", "@types/react": "^18.3.11",
"@types/react-dom": "^18.3.0", "@types/react-dom": "^18.3.0",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.20",
"eslint": "^9.11.1", "eslint": "^9.11.1",
"eslint-config-next": "^14.2.13", "eslint-config-next": "^14.2.14",
"postcss": "^8.4.47", "postcss": "^8.4.47",
"prettier": "^3.3.3", "prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.8", "prettier-plugin-tailwindcss": "^0.6.8",