Add Japanese translation
This commit is contained in:
@@ -129,6 +129,9 @@ export const Header = ({
|
||||
<DropdownMenuItem onClick={() => setLanguage("de")} className={language === "de" ? "bg-accent" : ""}>
|
||||
{t("Deutsch")}
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem onClick={() => setLanguage("ja")} className={language === "ja" ? "bg-accent" : ""}>
|
||||
{t("japanese")}
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
import enTranslations from './en';
|
||||
import kmTranslations from './km';
|
||||
import deTranslations from './de';
|
||||
import jaTranslations from './ja';
|
||||
|
||||
export type Language = "en" | "km" | "de";
|
||||
export type Language = "en" | "km" | "de" | "ja";
|
||||
|
||||
export const translations = {
|
||||
en: enTranslations,
|
||||
km: kmTranslations,
|
||||
de: deTranslations,
|
||||
ja: jaTranslations,
|
||||
};
|
||||
|
||||
// Type for accessing translations by module and key
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { AboutTranslations } from '../types/about';
|
||||
|
||||
export const aboutTranslations: AboutTranslations = {
|
||||
aboutCheckcle: "Checkcleについて",
|
||||
systemDescription: "Checkcleは、サーバーとサービスの健全性に関するリアルタイム監視、インシデント管理、運用の透明性を提供するオープンソースの監視スタックです。MIT ライセンスの下で公開されています。",
|
||||
systemVersion: "システムバージョン",
|
||||
license: "ライセンス",
|
||||
mitLicense: "MIT ライセンス",
|
||||
links: "リンク",
|
||||
viewOnGithub: "GitHubで表示",
|
||||
viewDocumentation: "ドキュメントを表示",
|
||||
followOnX: "Xでフォロー",
|
||||
joinDiscord: "Discordに参加",
|
||||
quickActions: "クイックアクション",
|
||||
quickActionsDescription: "一般的な監視操作と機能に素早くアクセスできます。開始するには、以下のアクションを選択してください。",
|
||||
quickTips: "クイックヒント",
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
import { CommonTranslations } from '../types/common';
|
||||
|
||||
export const commonTranslations: CommonTranslations = {
|
||||
welcome: "ようこそ",
|
||||
logout: "ログアウト",
|
||||
language: "言語",
|
||||
english: "English",
|
||||
khmer: "Khmer",
|
||||
german: "Deutsch",
|
||||
japanese: "日本語",
|
||||
goodMorning: "おはようございます",
|
||||
goodAfternoon: "こんにちは",
|
||||
goodEvening: "こんばんは",
|
||||
profile: "プロファイル",
|
||||
settings: "設定",
|
||||
documentation: "ドキュメント",
|
||||
notifications: "通知",
|
||||
close: "閉じる",
|
||||
cancel: "キャンセル",
|
||||
view: "表示",
|
||||
edit: "編集",
|
||||
delete: "削除",
|
||||
status: "ステータス",
|
||||
time: "時間",
|
||||
title: "タイトル",
|
||||
description: "説明",
|
||||
success: "成功",
|
||||
error: "エラー",
|
||||
};
|
||||
@@ -0,0 +1,54 @@
|
||||
import { IncidentTranslations } from '../types/incident';
|
||||
|
||||
export const incidentTranslations: IncidentTranslations = {
|
||||
incidentManagement: 'インシデント管理',
|
||||
incidentsManagementDesc: 'サービスのインシデントとその解決を追跡・管理する',
|
||||
unresolvedIncidents: '未解決',
|
||||
resolvedIncidents: '解決済み',
|
||||
activeIncidents: 'アクティブなインシデント',
|
||||
criticalIssues: '重要な問題',
|
||||
avgResolutionTime: '平均解決時間',
|
||||
noIncidents: 'アクティブなインシデントはありません',
|
||||
createIncident: 'インシデントを作成',
|
||||
investigating: '調査中',
|
||||
identified: '特定済み',
|
||||
monitoring: '監視中',
|
||||
resolved: '解決済み',
|
||||
scheduleIncidentManagement: 'スケジュール・インシデント管理',
|
||||
incidentName: 'インシデント名',
|
||||
incidentStatus: 'インシデントステータス',
|
||||
highPriority: '高優先度',
|
||||
configurationSettings: '設定',
|
||||
incidentCreatedSuccess: 'インシデントが正常に作成されました',
|
||||
basicInfo: '基本情報',
|
||||
serviceId: 'サービスID',
|
||||
assignedTo: '担当者',
|
||||
unassigned: '未割り当て',
|
||||
timeline: 'タイムライン',
|
||||
incidentTime: 'インシデント発生時刻',
|
||||
resolutionTime: '解決時刻',
|
||||
systems: 'システム',
|
||||
noSystems: '影響を受けるシステムはありません',
|
||||
impactAnalysis: '影響分析',
|
||||
rootCause: '根本原因',
|
||||
resolutionSteps: '解決手順',
|
||||
lessonsLearned: '学んだ教訓',
|
||||
resolutionDetails: '解決詳細',
|
||||
assignment: '割り当て',
|
||||
download: 'ダウンロード',
|
||||
downloadPdf: 'PDFダウンロード',
|
||||
print: '印刷',
|
||||
confidentialNote: 'この文書は機密情報であり、内部使用のみを目的としています。',
|
||||
generatedOn: '生成日時',
|
||||
enterResolutionSteps: 'インシデント解決のために取った手順を入力してください',
|
||||
enterLessonsLearned: 'このインシデントから学んだ教訓を入力してください',
|
||||
editIncident: 'インシデントを編集',
|
||||
editIncidentDesc: 'このインシデントの詳細を更新',
|
||||
updating: '更新中...',
|
||||
update: '更新',
|
||||
create: '作成',
|
||||
creating: '作成中...',
|
||||
configuration: '設定',
|
||||
failedToUpdateStatus: 'ステータスの更新に失敗しました',
|
||||
inProgress: '進行中',
|
||||
};
|
||||
@@ -0,0 +1,24 @@
|
||||
import { Translations } from '../types';
|
||||
import { commonTranslations } from './common';
|
||||
import { menuTranslations } from './menu';
|
||||
import { loginTranslations } from './login';
|
||||
import { aboutTranslations } from './about';
|
||||
import { servicesTranslations } from './services';
|
||||
import { maintenanceTranslations } from './maintenance';
|
||||
import { incidentTranslations } from './incident';
|
||||
import { sslTranslations } from './ssl';
|
||||
import { settingsTranslations } from './settings';
|
||||
|
||||
const jaTranslations: Translations = {
|
||||
common: commonTranslations,
|
||||
menu: menuTranslations,
|
||||
login: loginTranslations,
|
||||
about: aboutTranslations,
|
||||
services: servicesTranslations,
|
||||
maintenance: maintenanceTranslations,
|
||||
incident: incidentTranslations,
|
||||
ssl: sslTranslations,
|
||||
settings: settingsTranslations
|
||||
};
|
||||
|
||||
export default jaTranslations;
|
||||
@@ -0,0 +1,22 @@
|
||||
import { LoginTranslations } from '../types/login';
|
||||
|
||||
export const loginTranslations: LoginTranslations = {
|
||||
signInToYourAccount: "アカウントにサインイン",
|
||||
dontHaveAccount: "アカウントをお持ちでない場合",
|
||||
createOne: "作成する",
|
||||
signInWithGoogle: "Googleでサインイン",
|
||||
orContinueWith: "または",
|
||||
email: "メール",
|
||||
password: "パスワード",
|
||||
forgot: "忘れた場合",
|
||||
signIn: "サインイン",
|
||||
signingIn: "サインイン中...",
|
||||
loginSuccessful: "ログイン成功",
|
||||
loginSuccessMessage: "正常にログインしました。",
|
||||
loginFailed: "ログイン失敗",
|
||||
authenticationFailed: "認証に失敗しました",
|
||||
bySigningIn: "サインインすることで、",
|
||||
termsAndConditions: "利用規約",
|
||||
and: "と",
|
||||
privacyPolicy: "プライバシーポリシー",
|
||||
};
|
||||
@@ -0,0 +1,67 @@
|
||||
import { MaintenanceTranslations } from '../types/maintenance';
|
||||
|
||||
export const maintenanceTranslations: MaintenanceTranslations = {
|
||||
scheduledMaintenance: 'スケジュール済みメンテナンス',
|
||||
scheduledMaintenanceDesc: 'システムとサービスの計画されたメンテナンスウィンドウを表示・管理',
|
||||
upcomingMaintenance: '予定',
|
||||
ongoingMaintenance: '実行中',
|
||||
completedMaintenance: '完了',
|
||||
createMaintenanceWindow: 'メンテナンス作成',
|
||||
totalScheduledHours: '総スケジュール時間',
|
||||
maintenanceName: 'メンテナンス名',
|
||||
maintenanceStatus: 'ステータス',
|
||||
scheduledStart: 'スケジュール開始',
|
||||
scheduledEnd: 'スケジュール終了',
|
||||
affectedServices: '影響を受けるサービス',
|
||||
impact: '影響',
|
||||
minor: '軽微',
|
||||
major: '重要',
|
||||
critical: '重大',
|
||||
none: 'なし',
|
||||
actions: 'アクション',
|
||||
scheduled: 'スケジュール済み',
|
||||
inprogress: '進行中',
|
||||
completed: '完了',
|
||||
cancelled: 'キャンセル',
|
||||
markAsInProgress: '進行中としてマーク',
|
||||
markAsCompleted: '完了としてマーク',
|
||||
markAsCancelled: 'キャンセルとしてマーク',
|
||||
confirmDelete: '削除確認',
|
||||
deleteMaintenanceConfirmation: 'このメンテナンスウィンドウを削除してもよろしいですか?',
|
||||
thisActionCannotBeUndone: 'この操作は元に戻せません。',
|
||||
maintenanceDeleted: 'メンテナンス削除完了',
|
||||
maintenanceDeletedDesc: 'メンテナンスウィンドウが正常に削除されました。',
|
||||
errorDeletingMaintenance: 'メンテナンスウィンドウの削除中にエラーが発生しました。',
|
||||
statusUpdated: 'ステータス更新完了',
|
||||
maintenanceStatusUpdated: 'メンテナンスステータスが正常に更新されました。',
|
||||
errorUpdatingMaintenanceStatus: 'メンテナンスステータスの更新中にエラーが発生しました。',
|
||||
createMaintenance: 'メンテナンス作成',
|
||||
createMaintenanceDesc: 'サービスの新しいメンテナンスウィンドウをスケジュール',
|
||||
enterTitle: 'メンテナンスタイトルを入力',
|
||||
enterDescription: 'メンテナンスの詳細説明を入力',
|
||||
startTime: '開始時刻',
|
||||
endTime: '終了時刻',
|
||||
selectDate: '日付を選択',
|
||||
enterAffectedServices: '影響を受けるサービスを入力',
|
||||
separateServicesWithComma: '複数のサービスはカンマで区切ってください',
|
||||
priority: '優先度',
|
||||
selectPriority: '優先度を選択',
|
||||
selectStatus: 'ステータスを選択',
|
||||
selectImpact: '影響を選択',
|
||||
notifySubscribers: '購読者に通知',
|
||||
notifySubscribersDesc: 'このメンテナンスが開始されたときに全購読者に通知を送信',
|
||||
maintenanceCreated: 'メンテナンス作成完了',
|
||||
maintenanceCreatedDesc: 'メンテナンスウィンドウが正常にスケジュールされました。',
|
||||
errorCreatingMaintenance: 'メンテナンスウィンドウの作成中にエラーが発生しました。',
|
||||
errorFetchingMaintenanceData: 'メンテナンスデータの取得中にエラーが発生しました。',
|
||||
low: '低',
|
||||
medium: '中',
|
||||
high: '高',
|
||||
created: '作成済み',
|
||||
lastUpdated: '最終更新',
|
||||
subscribersWillBeNotified: 'メンテナンス開始時に購読者に通知されます',
|
||||
noNotifications: '通知は送信されません',
|
||||
noScheduledMaintenance: 'スケジュール済みメンテナンスなし',
|
||||
noMaintenanceWindows: 'この期間にメンテナンスウィンドウはありません。「メンテナンス作成」ボタンをクリックして作成してください。',
|
||||
maintenanceCreatedSuccess: 'メンテナンスウィンドウが正常に作成されました',
|
||||
};
|
||||
@@ -0,0 +1,20 @@
|
||||
import { MenuTranslations } from '../types/menu';
|
||||
|
||||
export const menuTranslations: MenuTranslations = {
|
||||
uptimeMonitoring: "稼働監視",
|
||||
instanceMonitoring: "インスタンス監視",
|
||||
sslDomain: "SSL・ドメイン",
|
||||
scheduleIncident: "スケジュール・インシデント",
|
||||
operationalPage: "運用ページ",
|
||||
reports: "レポート",
|
||||
regionalMonitoring: "地域監視",
|
||||
settingPanel: "設定パネル",
|
||||
generalSettings: "一般設定",
|
||||
userManagement: "ユーザー管理",
|
||||
notificationSettings: "通知設定",
|
||||
alertsTemplates: "アラートテンプレート",
|
||||
rolesManagement: "ロール管理",
|
||||
dataRetention: "データ保持",
|
||||
backupSettings: "バックアップ設定",
|
||||
aboutSystem: "システム情報",
|
||||
};
|
||||
@@ -0,0 +1,11 @@
|
||||
import { ServicesTranslations } from '../types/services';
|
||||
|
||||
export const servicesTranslations: ServicesTranslations = {
|
||||
serviceName: "サービス名",
|
||||
serviceType: "サービスタイプ",
|
||||
serviceStatus: "サービスステータス",
|
||||
responseTime: "応答時間",
|
||||
uptime: "稼働時間",
|
||||
lastChecked: "最終チェック",
|
||||
noServices: "フィルタ条件に一致するサービスがありません。",
|
||||
};
|
||||
@@ -0,0 +1,51 @@
|
||||
import { SettingsTranslations } from '../types/settings';
|
||||
|
||||
export const settingsTranslations: SettingsTranslations = {
|
||||
// タブ
|
||||
systemSettings: "システム設定",
|
||||
mailSettings: "メール設定",
|
||||
|
||||
// システム設定
|
||||
appName: "アプリケーション名",
|
||||
appURL: "アプリケーションURL",
|
||||
senderName: "送信者名",
|
||||
senderEmail: "送信者メールアドレス",
|
||||
hideControls: "コントロールを非表示",
|
||||
|
||||
// メール設定
|
||||
smtpSettings: "SMTP設定",
|
||||
smtpEnabled: "SMTPを有効にする",
|
||||
smtpHost: "SMTPホスト",
|
||||
smtpPort: "SMTPポート",
|
||||
smtpUsername: "SMTPユーザー名",
|
||||
smtpPassword: "SMTPパスワード",
|
||||
smtpAuthMethod: "認証方式",
|
||||
enableTLS: "TLSを有効にする",
|
||||
localName: "ローカル名",
|
||||
|
||||
// テストメール
|
||||
testEmail: "テストメール",
|
||||
sendTestEmail: "テストメールを送信",
|
||||
emailTemplate: "メールテンプレート",
|
||||
verification: "認証",
|
||||
passwordReset: "パスワードリセット",
|
||||
confirmEmailChange: "メールアドレス変更確認",
|
||||
otp: "OTP",
|
||||
loginAlert: "ログインアラート",
|
||||
authCollection: "認証コレクション",
|
||||
selectCollection: "コレクションを選択",
|
||||
toEmailAddress: "宛先メールアドレス",
|
||||
enterEmailAddress: "メールアドレスを入力",
|
||||
sending: "送信中...",
|
||||
|
||||
// アクションとステータス
|
||||
save: "変更を保存",
|
||||
saving: "保存中...",
|
||||
settingsUpdated: "設定が正常に更新されました",
|
||||
errorSavingSettings: "設定の保存中にエラーが発生しました",
|
||||
errorFetchingSettings: "設定の読み込み中にエラーが発生しました",
|
||||
testConnection: "接続テスト",
|
||||
testingConnection: "接続テスト中...",
|
||||
connectionSuccess: "接続成功",
|
||||
connectionFailed: "接続失敗"
|
||||
};
|
||||
@@ -0,0 +1,106 @@
|
||||
import { SSLTranslations } from '../types/ssl';
|
||||
|
||||
export const sslTranslations: SSLTranslations = {
|
||||
// ページとセクションタイトル
|
||||
sslDomainManagement: "SSL・ドメイン管理",
|
||||
monitorSSLCertificates: "ドメインのSSL証明書を監視・管理",
|
||||
addSSLCertificate: "SSL証明書を追加",
|
||||
editSSLCertificate: "SSL証明書を編集",
|
||||
deleteSSLCertificate: "SSL証明書を削除",
|
||||
sslCertificateDetails: "SSL証明書詳細",
|
||||
detailedInfo: "詳細情報:",
|
||||
|
||||
// ステータス関連
|
||||
valid: "有効",
|
||||
expiringSoon: "期限切れ間近",
|
||||
expired: "期限切れ",
|
||||
pending: "保留中",
|
||||
|
||||
// 統計とカード
|
||||
validCertificates: "有効な証明書",
|
||||
expiringSoonCertificates: "期限切れ間近",
|
||||
expiredCertificates: "期限切れ証明書",
|
||||
|
||||
// フォームフィールド
|
||||
domain: "ドメイン",
|
||||
domainName: "ドメイン名",
|
||||
domainCannotChange: "ドメインは作成後変更できません",
|
||||
warningThreshold: "警告閾値",
|
||||
warningThresholdDays: "警告閾値(日)",
|
||||
expiryThreshold: "期限切れ閾値",
|
||||
expiryThresholdDays: "期限切れ閾値(日)",
|
||||
notificationChannel: "通知チャンネル",
|
||||
chooseChannel: "通知チャンネルを選択",
|
||||
whereToSend: "通知の送信先",
|
||||
daysBeforeExpiration: "期限切れ前の警告を受信する日数",
|
||||
daysBeforeCritical: "期限切れ前の重要アラートを受信する日数",
|
||||
getNotifiedExpiration: "証明書の期限切れが近い時に通知を受信",
|
||||
getNotifiedCritical: "証明書の期限切れが非常に近い時に通知を受信",
|
||||
|
||||
// テーブルヘッダーとフィールド
|
||||
issuer: "発行者",
|
||||
expirationDate: "有効期限",
|
||||
daysLeft: "残り日数",
|
||||
status: "ステータス",
|
||||
lastNotified: "最終通知",
|
||||
actions: "アクション",
|
||||
validFrom: "有効開始日",
|
||||
validUntil: "有効終了日",
|
||||
validityDays: "有効期間",
|
||||
organization: "組織",
|
||||
commonName: "コモンネーム",
|
||||
serialNumber: "シリアル番号",
|
||||
algorithm: "アルゴリズム",
|
||||
subjectAltNames: "サブジェクト代替名",
|
||||
|
||||
// ボタンとアクション
|
||||
addDomain: "ドメインを追加",
|
||||
refreshAll: "全て更新",
|
||||
cancel: "キャンセル",
|
||||
addCertificate: "証明書を追加",
|
||||
check: "チェック",
|
||||
view: "表示",
|
||||
edit: "編集",
|
||||
delete: "削除",
|
||||
close: "閉じる",
|
||||
saveChanges: "変更を保存",
|
||||
updating: "更新中",
|
||||
|
||||
// 詳細ビューのセクション
|
||||
basicInformation: "基本情報",
|
||||
validity: "有効性",
|
||||
issuerInfo: "発行者情報",
|
||||
technicalDetails: "技術的詳細",
|
||||
monitoringConfig: "監視設定",
|
||||
recordInfo: "レコード情報",
|
||||
|
||||
// 通知とメッセージ
|
||||
sslCertificateAdded: "SSL証明書が正常に追加されました",
|
||||
sslCertificateUpdated: "SSL証明書が正常に更新されました",
|
||||
sslCertificateDeleted: "SSL証明書が正常に削除されました",
|
||||
sslCertificateRefreshed: "{domain}のSSL証明書が正常に更新されました",
|
||||
allCertificatesRefreshed: "全{count}件の証明書が正常に更新されました",
|
||||
someCertificatesFailed: "{success}件の証明書が更新され、{failed}件が失敗しました",
|
||||
failedToAddCertificate: "SSL証明書の追加に失敗しました",
|
||||
failedToLoadCertificates: "SSL証明書の読み込みに失敗しました",
|
||||
failedToUpdateCertificate: "SSL証明書の更新に失敗しました",
|
||||
failedToDeleteCertificate: "SSL証明書の削除に失敗しました",
|
||||
failedToCheckCertificate: "SSL証明書のチェックに失敗しました",
|
||||
noCertificatesToRefresh: "更新する証明書がありません",
|
||||
startingRefreshAll: "{count}件の証明書の更新を開始しています",
|
||||
checkingSSLCertificate: "SSL証明書をチェック中...",
|
||||
deleteConfirmation: "以下の証明書を削除してもよろしいですか?",
|
||||
deleteWarning: "この操作は元に戻せません。証明書が完全に削除されます。",
|
||||
|
||||
// その他
|
||||
unknown: "不明",
|
||||
never: "なし",
|
||||
none: "なし",
|
||||
loadingChannels: "チャンネル読み込み中...",
|
||||
noChannelsFound: "通知チャンネルが見つかりません",
|
||||
noSSLCertificates: "SSL証明書が見つかりません",
|
||||
created: "作成日",
|
||||
lastUpdated: "最終更新",
|
||||
lastNotification: "最終通知",
|
||||
collectionId: "コレクションID"
|
||||
};
|
||||
Reference in New Issue
Block a user