summaryrefslogtreecommitdiff
path: root/components/notice/notice-create-dialog.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'components/notice/notice-create-dialog.tsx')
-rw-r--r--components/notice/notice-create-dialog.tsx22
1 files changed, 21 insertions, 1 deletions
diff --git a/components/notice/notice-create-dialog.tsx b/components/notice/notice-create-dialog.tsx
index e3ce16a1..21cd46f6 100644
--- a/components/notice/notice-create-dialog.tsx
+++ b/components/notice/notice-create-dialog.tsx
@@ -4,6 +4,8 @@ import * as React from "react"
import { useState } from "react"
import { zodResolver } from "@hookform/resolvers/zod"
import { useForm } from "react-hook-form"
+import { useParams } from "next/navigation"
+import { useTranslation } from "@/i18n/client"
import { toast } from "sonner"
import { Loader } from "lucide-react"
import { Button } from "@/components/ui/button"
@@ -49,6 +51,24 @@ export function NoticeCreateDialog({
currentUserId,
onSuccess,
}: NoticeCreateDialogProps) {
+ const params = useParams()
+ const lng = (params?.lng as string) || 'ko'
+ const { t } = useTranslation(lng, 'menu')
+
+ // 안전한 번역 함수 (키가 없을 때 원본 키 반환)
+ const safeTranslate = (key: string): string => {
+ try {
+ const translated = t(key)
+ // 번역 키가 그대로 반환되는 경우 원본 키 사용
+ if (translated === key) {
+ return key
+ }
+ return translated || key
+ } catch (error) {
+ console.warn(`Translation failed for key: ${key}`, error)
+ return key
+ }
+ }
const [isLoading, setIsLoading] = useState(false)
const form = useForm<CreateNoticeSchema>({
@@ -127,7 +147,7 @@ export function NoticeCreateDialog({
<SelectContent>
{pagePathOptions.map((option) => (
<SelectItem key={option.value} value={option.value}>
- {option.label}
+ {safeTranslate(option.label)}
</SelectItem>
))}
</SelectContent>