diff --git a/CONTRIBUTING_ja.md b/CONTRIBUTING_ja.md
new file mode 100644
index 0000000..82a5133
--- /dev/null
+++ b/CONTRIBUTING_ja.md
@@ -0,0 +1,118 @@
+# ð ïž CheckCleãžã®è²¢ç®
+
+**CheckCle**ãžã®è²¢ç®ã«ãèå³ããæã¡ããã ããããããšãããããŸã â ãªã¢ã«ã¿ã€ã ãã«ã¹ã¿ãã¯ç£èŠã®ããã®ç©¶æ¥µã®ãªãŒãã³ãœãŒã¹ãã©ãããã©ãŒã ã§ãããã°ã®å ±åãæ©èœã®ææ¡ãããã¥ã¡ã³ãã®æ¹åããŸãã¯ã³ãŒãã®æåºãªã©ãã©ã®ãããªåœ¢ã§ã®ãè²¢ç®ã§ãæè¿ããããŸãïŒ
+
+倧å°ãåãããããããçš®é¡ã®è²¢ç®ãæè¿ããŸãããã®ã¬ã€ããå§ããã®ã«åœ¹ç«ã¡ãŸãã
+
+---
+
+## ð ç®æ¬¡
+- [è¡åèŠç¯](#-è¡åèŠç¯)
+- [è²¢ç®ã®æ¹æ³](#-è²¢ç®ã®æ¹æ³)
+- [éçºç°å¢ã®ã»ããã¢ãã](#-éçºç°å¢ã®ã»ããã¢ãã)
+- [ãã«ãªã¯ãšã¹ãã®ããã»ã¹](#-ãã«ãªã¯ãšã¹ãã®ããã»ã¹)
+- [ãã°ãšåé¡ã®å ±å](#-ãã°ãšåé¡ã®å ±å)
+- [æ©èœãªã¯ãšã¹ã](#-æ©èœãªã¯ãšã¹ã)
+- [ã³ãã¥ããã£ãšãµããŒã](#-ã³ãã¥ããã£ãšãµããŒã)
+- [ã©ã€ã»ã³ã¹](#-ã©ã€ã»ã³ã¹)
+
+---
+
+## ð è¡åèŠç¯
+
+ç§ãã¡ã¯[è¡åèŠç¯](https://opensource.guide/code-of-conduct/)ã«åŸãããªãŒãã³ã§æè¿ããã³ãã¥ããã£ãä¿é²ããŠããŸããåå ããããšã§ããããã®åºæºãå®ãããšã«åæãããã®ãšããŸãã
+
+---
+
+## ð€ è²¢ç®ã®æ¹æ³
+
+CheckCleã®æ¹åã«åœ¹ç«ã€æ¹æ³ãããã€ã玹ä»ããŸãïŒ
+
+- ð **ãã°ã®å ±å** â äžå
·åãèŠã€ããŸãããïŒ[GitHub Issue](https://github.com/operacle/checkcle/issues)ãéããŠãç¥ãããã ããã
+- ð **æ©èœã®ææ¡** â ã¢ã€ãã¢ã¯ãããŸããïŒ[Discussion](https://github.com/operacle/checkcle/discussions)ãå§ããããæ©èœãªã¯ãšã¹ãã®issueãéããŠãã ããã
+- ð **ãã«ãªã¯ãšã¹ãã®æåº** â ã³ãŒãã®æ¹åããã°ã®ä¿®æ£ãæ©èœã®è¿œå ãããã¥ã¡ã³ãã®æ¹åãè¡ã£ãŠãã ããã
+- ð **ããã¥ã¡ã³ãã®æ¹å** â ã¿ã€ãã®ä¿®æ£ã§ã倧å€å©ãããŸãïŒ
+- ð **宣äŒã®åå** â ãªããžããªã«âãã€ããŠãSNSã§ã·ã§ã¢ããä»ã®æ¹ã«ãè²¢ç®ãåŒã³ãããŠãã ããïŒ
+
+---
+
+## ð§° éçºç°å¢ã®ã»ããã¢ãã
+
+ã³ãŒãã«è²¢ç®ããåã«ããããžã§ã¯ããããŒã«ã«ã§èšå®ããŠãã ããïŒ
+
+### 1. ãªããžããªããã©ãŒã¯
+[GitHub](https://github.com/operacle/checkcle)ã§ãForkããã¯ãªãã¯ããŠãèªåã®ã³ããŒãäœæããŠãã ããã
+
+### 2. ãã©ãŒã¯ãã¯ããŒã³
+```bash
+git clone --branch develop https://github.com/operacle/checkcle.git
+cd checkcle
+```
+
+### 3. äŸåé¢ä¿ã®ã€ã³ã¹ããŒã«
+READMEãŸãã¯ãããžã§ã¯ãããã¥ã¡ã³ãã®æç€ºã«åŸã£ãŠãå¿
èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ããããŒã«ã«éçºãµãŒããŒãå®è¡ããŠãã ããã
+
+### 4. ããŒã«ã«éçºã®éå§
+```bash
+#Webã¢ããªã±ãŒã·ã§ã³
+cd application/
+npm install && npm run dev
+
+#ãµãŒããŒããã¯ãšã³ã
+cd server
+./pocketbase serve --dir pb_data
+```
+
+---
+
+## â
ãã«ãªã¯ãšã¹ãã®ããã»ã¹
+
+1. ã³ãŒããæ¢åã®ã¹ã¿ã€ã«ãšåœåèŠåã«åŸã£ãŠããããšã確èªããŠãã ããã
+2. æç¢ºã§ç°¡æœãªã³ãããã¡ãã»ãŒãžãæžããŠãã ããã
+3. ãã©ã³ããããã·ã¥ãã`main`ãã©ã³ãã«ãã«ãªã¯ãšã¹ãïŒPRïŒãéããŠãã ããã
+4. æå³ã®ããPRã®èª¬æãæäŸããŠãã ããïŒäœã/ãªã/ã©ã®ããã«ïŒã
+5. é¢é£ããissueãããå Žåã¯ãªã³ã¯ããŠãã ããïŒäŸïŒ`Closes #12`ïŒã
+6. ãã¹ãŠã®ãã§ãã¯ãéãããšã確èªããŠãã ããïŒäŸïŒãªã³ãã£ã³ã°ããã¹ãïŒã
+
+PRãã¬ãã¥ãŒããå¿
èŠã«å¿ããŠå€æŽããªã¯ãšã¹ãããæºåãã§ã次第ããŒãžããŸãïŒ
+
+---
+
+## ð ãã°ãšåé¡ã®å ±å
+
+å¯èœãªéãå€ãã®æ
å ±ãå«ããŠãã ããïŒ
+- æç¢ºã§èª¬æçãªã¿ã€ãã«
+- åçŸæé
+- æåŸ
ãããåäœãšå®éã®åäœ
+- ç°å¢æ
å ±ïŒOSããã©ãŠã¶ãããã€ã¹ãªã©ïŒ
+- 該åœããå Žåã¯ã¹ã¯ãªãŒã³ã·ã§ããããã°
+
+å ±åã«ã¯[Issue Tracker](https://github.com/operacle/checkcle/issues)ããå©çšãã ããã
+
+---
+
+## ð¡ æ©èœãªã¯ãšã¹ã
+
+ã¢ã€ãã¢ããèãããã ããïŒ[Discussion](https://github.com/operacle/checkcle/discussions)ãŸãã¯æ©èœãªã¯ãšã¹ãã®issueãéããŠãã ããã[ããŒãããã](https://github.com/operacle/checkcle#development-roadmap)ã«æ¢ã«èšèŒãããŠããªãããšã確èªããŠãã ããã
+
+---
+
+## ð ã³ãã¥ããã£ãšãµããŒã
+
+ãã«ããå¿
èŠã§ããïŒã€ãªããããã§ããïŒ
+
+- ð¬ [Discordã«åå ](https://discord.gg/xs9gbubGwX)
+- ð£ [GitHub Discussion](https://github.com/operacle/checkcle/discussions)ãéå§ãŸãã¯åå
+- ðŠ [XïŒTwitterïŒ](https://x.com/tl)ã§ãã©ããŒ
+
+---
+
+## ð ã©ã€ã»ã³ã¹
+
+è²¢ç®ããããšã§ãããªãã®è²¢ç®ã[MITã©ã€ã»ã³ã¹](LICENSE)ã®äžã§ã©ã€ã»ã³ã¹ãããããšã«åæãããã®ãšããŸãã
+
+---
+
+## ð ããããšãããããŸã
+
+CheckCleãäžç·ã«æ§ç¯ã§ããããšãå¬ããæããŸã â **ã³ãã¥ããã£ã«ãããã³ãã¥ããã£ã®ããã®**匷åãªç£èŠãã©ãããã©ãŒã ãããªãã®ãµããŒãã¯ç§ãã¡ã«ãšã£ãŠãšãŠã倧åã§ãïŒð
\ No newline at end of file
diff --git a/README_ja.md b/README_ja.md
new file mode 100644
index 0000000..8009ec1
--- /dev/null
+++ b/README_ja.md
@@ -0,0 +1,148 @@
+
+
+# ð CheckCleãšã¯ïŒ
+
+CheckCleã¯ããã«ã¹ã¿ãã¯ã·ã¹ãã ãã¢ããªã±ãŒã·ã§ã³ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã·ãŒã ã¬ã¹ã§ãªã¢ã«ã¿ã€ã ãªç£èŠãå®çŸãããªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ã§ããéçºè
ãã·ã¹ãã 管çè
ãDevOpsããŒã ã«å¯ŸããŠãç°å¢ã®å
šã¬ã€ã€ãŒïŒãµãŒããŒãã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹ïŒã«ãããæ·±ãæŽå¯ãšå®çšçãªããŒã¿ãæäŸããŸããCheckCleã«ããããã¯ãããžãŒã¹ã¿ãã¯å
šäœã®å¯èŠæ§ãå¶åŸ¡ãæé©ãªããã©ãŒãã³ã¹ã®ç¢ºä¿ãå¯èœã«ãªããŸãã
+
+## ð¯ ã©ã€ããã¢
+ð **ä»ãã詊ã:** [CheckCle ã©ã€ããã¢](https://demo.checkcle.io)
+
+## ð äž»èŠæ©èœ
+
+### ã¢ããã¿ã€ã ãµãŒãã¹ & ã€ã³ãã©ã¹ãã©ã¯ãã£ãµãŒããŒç£èŠ
+- HTTPãDNSãPingãããã³ã«ã®ç£èŠ
+- TCPããŒã¹ã®APIãµãŒãã¹ïŒFTPãSMTPãHTTPãªã©ïŒã®ç£èŠ
+- 詳现ãªã¢ããã¿ã€ã ãã¬ã¹ãã³ã¹æéãããã©ãŒãã³ã¹åé¡ã®è¿œè·¡
+- 忣å°åç£èŠ
+- ã€ã³ã·ãã³ãå±¥æŽïŒUP/DOWN/WARNING/PAUSEïŒ
+- SSL & ãã¡ã€ã³ç£èŠïŒãã¡ã€ã³ãçºè¡è
ãæå¹æéãæ®ãæ¥æ°ãã¹ããŒã¿ã¹ãæçµéç¥æ¥ïŒ
+- ã€ã³ãã©ã¹ãã©ã¯ãã£ãµãŒããŒç£èŠïŒLinuxïŒð§ DebianãUbuntuãCentOSãRed Hatãªã©ïŒããã³WindowsïŒããŒã¿çïŒããµããŒããã¯ã³ã©ã€ã³ã»ã€ã³ã¹ããŒã«ã»ãšãŒãžã§ã³ãã»ã¹ã¯ãªããã«ãããµãŒããŒã¡ããªã¯ã¹ïŒCPUãRAMããã£ã¹ã¯äœ¿çšéããããã¯ãŒã¯æŽ»åïŒã®ç£èŠ
+- ã¡ã³ããã³ã¹ã¹ã±ãžã¥ãŒã« & ã€ã³ã·ãã³ã管ç
+- éçšã¹ããŒã¿ã¹ / ãããªãã¯ã¹ããŒã¿ã¹ããŒãž
+- ã¡ãŒã«ãTelegramãDiscordãSlackçµç±ã®éç¥
+- ã¬ããŒã & åæ
+- èšå®ããã«ïŒãŠãŒã¶ãŒç®¡çãããŒã¿ä¿æãå€èšèªãããŒãïŒããŒã¯ & ã©ã€ãã¢ãŒãïŒãéç¥ãšãã£ãã«ãã¢ã©ãŒããã³ãã¬ãŒãïŒ
+
+## #ïžâ£ ã¯ããã«
+
+### çŸåšãµããŒããããŠããã¢ãŒããã¯ãã£
+* â
x86_64 PCãã©ãããããããµãŒããŒïŒamd64ïŒ
+* â
ææ°ã®Raspberry Pi 3/4/5ïŒ64ãããOSïŒãApple Silicon MacïŒarm64ïŒ
+
+### 以äžã®ãªãã·ã§ã³ã®ããããã䜿çšããŠCheckCleãã€ã³ã¹ããŒã«ããŸãã
+
+1. CheckCle ã¯ã³ã¯ãªãã¯ã€ã³ã¹ããŒã« - ã¿ãŒããã«ã«ã³ããŒããŠå®è¡ããã ã
+```bash
+curl -fsSL https://checkcle.io/install.sh | bash
+
+```
+2. docker runã§ã€ã³ã¹ããŒã«ã以äžã®æºåæžã¿docker runã³ãã³ããã³ããŒããã ã
+```bash
+docker run -d \
+ --name checkcle \
+ --restart unless-stopped \
+ -p 8090:8090 \
+ -v /opt/pb_data:/mnt/pb_data \
+ --ulimit nofile=4096:8192 \
+ operacle/checkcle:latest
+
+```
+3. Docker composeèšå®ã§ã€ã³ã¹ããŒã«
+```bash
+
+version: '3.9'
+
+services:
+ checkcle:
+ image: operacle/checkcle:latest
+ container_name: checkcle
+ restart: unless-stopped
+ ports:
+ - "8090:8090" # Webã¢ããªã±ãŒã·ã§ã³
+ volumes:
+ - /opt/pb_data:/mnt/pb_data # ãã¹ããã£ã¬ã¯ããªãã³ã³ãããã¹ã«ããã
+ ulimits:
+ nofile:
+ soft: 4096
+ hard: 8192
+
+```
+3. 管çWebç»é¢
+
+ ããã©ã«ãURL: http://0.0.0.0:8090
+ ãŠãŒã¶ãŒ: admin@example.com
+ ãã¹ã¯ãŒã: Admin123456
+
+4. https://docs.checkcle.io ã®ã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ãã«åŸã£ãŠãã ãã
+
+###
+
+
+
+
+
+
+## ð éçºããŒãããã
+
+- â
ãã«ã¹ãã§ã㯠& ã¢ããã¿ã€ã ç£èŠïŒHTTPïŒ
+- â
ã©ã€ãçµ±èšæ
å ±ä»ãããã·ã¥ããŒãUI
+- â
ãã«ããŠãŒã¶ãŒã·ã¹ãã èªèšŒïŒç®¡çè
ïŒ
+- â
éç¥ïŒTelegramïŒ
+- â
Dockerã³ã³ããå
+- â
CheckCle ãŠã§ããµã€ã
+- â
CheckCle ãã¢ãµãŒããŒ
+- â
SSL & ãã¡ã€ã³ç£èŠ
+- â
ã¡ã³ããã³ã¹ã¹ã±ãžã¥ãŒã«
+- â
ã€ã³ã·ãã³ã管ç
+- [ ] ã€ã³ãã©ã¹ãã©ã¯ãã£ãµãŒããŒç£èŠ
+- â
éçšã¹ããŒã¿ã¹ / ãããªãã¯ã¹ããŒã¿ã¹ããŒãž
+- â
ã¢ããã¿ã€ã ç£èŠïŒHTTPãTCPãPINGãDNSïŒãã«æ©èœ
+- â
忣å°åç£èŠãšãŒãžã§ã³ã [ãµããŒãéçš](https://github.com/operacle/Distributed-Regional-Monitoring)
+- â
ã·ã¹ãã èšå®ããã«ïŒã¡ãŒã«èšå®
+- â
ãŠãŒã¶ãŒæš©éããŒã«
+- [ ] éç¥ïŒEmail/Slack/Discord/SignalïŒ
+- â
ããŒã¿ä¿æ & èªåå§çž®ïŒããŒã¿ & ããŒã¿ããŒã¹å§çž®ã®ãã«ããªãã·ã§ã³ïŒ
+- â
å®å
šãªããã¥ã¡ã³ãä»ããªãŒãã³ãœãŒã¹ãªãªãŒã¹
+
+## ð CheckCleã¯ã³ãã¥ããã£ã®ããïŒ
+- **æ
ç±ãæã£ãŠéçº**: ã³ãã¥ããã£ã®ããã®ãªãŒãã³ãœãŒã¹æå¥œå®¶ã«ãã£ãŠäœæ
+- **ããªãŒ & ãªãŒãã³ãœãŒã¹**: é ããã³ã¹ããªãã§å®å
šã«ç¡æã§äœ¿çšå¯èœ
+- **åå & ã€ãªãã**: ãªãŒãã³ãœãŒã¹ã«æ
ç±ãæã€åå¿ãšåºäŒã
+
+---
+
+## ð€ è²¢ç®ã®æ¹æ³
+
+CheckCleã®æ¹åã«ãååããã ããæ¹æ³ãã玹ä»ããŸãïŒ
+
+- ð **ãã°å ±å** â äžå
·åãçºèŠããŸãããïŒ[GitHub Issue](https://github.com/operacle/checkcle/issues)ãéããŠãç¥ãããã ããã
+- ð **æ©èœææ¡** â ã¢ã€ãã¢ã¯ãããŸããïŒ[ãã£ã¹ã«ãã·ã§ã³](https://github.com/operacle/checkcle/discussions)ãéå§ããããæ©èœãªã¯ãšã¹ãã®issueãéããŠãã ããã
+- ð **ãã«ãªã¯ãšã¹ãéä¿¡** â ã³ãŒãã®æ¹åããã°ä¿®æ£ãæ©èœè¿œå ãããã¥ã¡ã³ãã®æ¹è¯ãè¡ã£ãŠãã ããã
+- ð **ããã¥ã¡ã³ãæ¹å** â ã¿ã€ãä¿®æ£ã§ãå©ãããŸãïŒ
+- ð **å£ã³ã宣äŒ** â ãªããžããªã«âãã€ããSNSã§ã·ã§ã¢ããä»ã®äººãè²¢ç®ã«æåŸ
ããŠãã ããïŒ
+
+---
+
+## ð ã€ãªãããä¿ã€
+- ãŠã§ããµã€ã: [checkcle.io](https://checkcle.io)
+- ããã¥ã¡ã³ã: [docs.checkcle.io](https://docs.checkcle.io)
+- GitHubãªããžããª: â [CheckCle](https://github.com/operacle/checkcle.git)
+- ã³ãã¥ããã£ãã£ã³ãã«: ãã£ã¹ã«ãã·ã§ã³ãissuesã§åå ããŠãã ããïŒ
+- Discord: ã³ãã¥ããã£ã«åå [@discord](https://discord.gg/xs9gbubGwX)
+- X: [@tlengoss](https://x.com/tlengoss)
+
+## ð ã©ã€ã»ã³ã¹
+
+CheckCleã¯MITã©ã€ã»ã³ã¹ã®äžã§ãªãªãŒã¹ãããŠããŸãã
+
+---
+## ð¥ è²¢ç®è
+
+[](https://github.com/operacle/checkcle/graphs/contributors)
+
+
+## ã¹ã¿ãŒå±¥æŽ
+
+[](https://www.star-history.com/#operacle/checkcle&Date)
+
+CheckCleã§æ
å ±ãææ¡ãããªã³ã©ã€ã³ãç¶æããŸãããïŒ ð
\ No newline at end of file
diff --git a/application/src/components/dashboard/Header.tsx b/application/src/components/dashboard/Header.tsx
index 0e0815d..143789a 100644
--- a/application/src/components/dashboard/Header.tsx
+++ b/application/src/components/dashboard/Header.tsx
@@ -129,6 +129,9 @@ export const Header = ({
setLanguage("de")} className={language === "de" ? "bg-accent" : ""}>
{t("Deutsch")}
+ setLanguage("ja")} className={language === "ja" ? "bg-accent" : ""}>
+ {t("japanese")}
+
diff --git a/application/src/translations/index.ts b/application/src/translations/index.ts
index e087b36..8ae73b8 100644
--- a/application/src/translations/index.ts
+++ b/application/src/translations/index.ts
@@ -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
diff --git a/application/src/translations/ja/about.ts b/application/src/translations/ja/about.ts
new file mode 100644
index 0000000..b8965f1
--- /dev/null
+++ b/application/src/translations/ja/about.ts
@@ -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: "ã¯ã€ãã¯ãã³ã",
+};
\ No newline at end of file
diff --git a/application/src/translations/ja/common.ts b/application/src/translations/ja/common.ts
new file mode 100644
index 0000000..dedc536
--- /dev/null
+++ b/application/src/translations/ja/common.ts
@@ -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: "ãšã©ãŒ",
+};
\ No newline at end of file
diff --git a/application/src/translations/ja/incident.ts b/application/src/translations/ja/incident.ts
new file mode 100644
index 0000000..b591f3c
--- /dev/null
+++ b/application/src/translations/ja/incident.ts
@@ -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: 'é²è¡äž',
+};
\ No newline at end of file
diff --git a/application/src/translations/ja/index.ts b/application/src/translations/ja/index.ts
new file mode 100644
index 0000000..1359325
--- /dev/null
+++ b/application/src/translations/ja/index.ts
@@ -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;
\ No newline at end of file
diff --git a/application/src/translations/ja/login.ts b/application/src/translations/ja/login.ts
new file mode 100644
index 0000000..8a923ea
--- /dev/null
+++ b/application/src/translations/ja/login.ts
@@ -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: "ãã©ã€ãã·ãŒããªã·ãŒ",
+};
\ No newline at end of file
diff --git a/application/src/translations/ja/maintenance.ts b/application/src/translations/ja/maintenance.ts
new file mode 100644
index 0000000..393d3ab
--- /dev/null
+++ b/application/src/translations/ja/maintenance.ts
@@ -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: 'ã¡ã³ããã³ã¹ãŠã£ã³ããŠãæ£åžžã«äœæãããŸãã',
+};
\ No newline at end of file
diff --git a/application/src/translations/ja/menu.ts b/application/src/translations/ja/menu.ts
new file mode 100644
index 0000000..cda8377
--- /dev/null
+++ b/application/src/translations/ja/menu.ts
@@ -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: "ã·ã¹ãã æ
å ±",
+};
\ No newline at end of file
diff --git a/application/src/translations/ja/services.ts b/application/src/translations/ja/services.ts
new file mode 100644
index 0000000..668a644
--- /dev/null
+++ b/application/src/translations/ja/services.ts
@@ -0,0 +1,11 @@
+import { ServicesTranslations } from '../types/services';
+
+export const servicesTranslations: ServicesTranslations = {
+ serviceName: "ãµãŒãã¹å",
+ serviceType: "ãµãŒãã¹ã¿ã€ã",
+ serviceStatus: "ãµãŒãã¹ã¹ããŒã¿ã¹",
+ responseTime: "å¿çæé",
+ uptime: "皌åæé",
+ lastChecked: "æçµãã§ãã¯",
+ noServices: "ãã£ã«ã¿æ¡ä»¶ã«äžèŽãããµãŒãã¹ããããŸããã",
+};
\ No newline at end of file
diff --git a/application/src/translations/ja/settings.ts b/application/src/translations/ja/settings.ts
new file mode 100644
index 0000000..8c4ec80
--- /dev/null
+++ b/application/src/translations/ja/settings.ts
@@ -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: "æ¥ç¶å€±æ"
+};
\ No newline at end of file
diff --git a/application/src/translations/ja/ssl.ts b/application/src/translations/ja/ssl.ts
new file mode 100644
index 0000000..0dbf247
--- /dev/null
+++ b/application/src/translations/ja/ssl.ts
@@ -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"
+};
\ No newline at end of file