diff --git a/src/main/services/i18n/language.ts b/src/main/services/i18n/language.ts
index cd6f4a63..cea0806d 100644
--- a/src/main/services/i18n/language.ts
+++ b/src/main/services/i18n/language.ts
@@ -5,5 +5,6 @@ export const language = {
ru: 'Русский',
zh_CN: '中文 (简体)',
zh_TW: '中文 (繁體)',
- zh_HK: '中文 (繁體 香港特別行政區)'
+ zh_HK: '中文 (繁體 香港特別行政區)',
+ ja_JP: '日本語'
}
diff --git a/src/main/services/i18n/locales/en/preferences.json b/src/main/services/i18n/locales/en/preferences.json
index 3daeac30..671de23f 100644
--- a/src/main/services/i18n/locales/en/preferences.json
+++ b/src/main/services/i18n/locales/en/preferences.json
@@ -15,7 +15,7 @@
"off": "Off"
},
"tabSize": "Tab Size",
- "showInvisibles": "Snow Invisibles",
+ "showInvisibles": "Show Invisibles",
"highlightLine": "Highlight Line",
"highlightGutter": "Highlight Gutter",
"matchBrackets": "Match Brackets",
diff --git a/src/main/services/i18n/locales/ja_JP/common.json b/src/main/services/i18n/locales/ja_JP/common.json
new file mode 100644
index 00000000..12cf1cfe
--- /dev/null
+++ b/src/main/services/i18n/locales/ja_JP/common.json
@@ -0,0 +1,62 @@
+{
+ "button": {
+ "moveStorage": "ストレージを移動",
+ "openStorage": "ストレージを開く",
+ "newStorage": "新規ストレージ",
+ "fromMassCodeV1": "massCode v1.0から",
+ "fromSnippetsLab": "SnippetsLabから",
+ "confirm": "OK",
+ "cancel": "キャンセル",
+ "update": ["GitHubへ", "OK"],
+ "ok": "OK"
+ },
+ "newFolder": "新規フォルダ",
+ "newSnippet": "新規スニペット",
+ "newFragment": "新規フラグメント",
+ "addDescription": "説明を追加",
+ "addToFavorites": "お気に入りに追加",
+ "addTag": "タグを追加",
+ "exportToHtml": "HTMLにエキスポート",
+ "saveScreenshot": "スクリーンショットを保存",
+ "rename": "名前変更",
+ "duplicate": "複製",
+ "delete": "削除",
+ "deleteNow": "すぐに削除",
+ "defaultLanguage": "標準の言語",
+ "removeFromFavorites": "お気に入りから削除",
+ "emptyTrash": "ゴミ箱を空に",
+ "close": "閉じる",
+ "folder": {
+ "untitled": "名称未設定フォルダ",
+ "plural": "フォルダ"
+ },
+ "snippet": {
+ "untitled": "名称未設定スニペット",
+ "plural": "スニペット",
+ "emptyName": "スニペット名を付ける",
+ "selectedMultiple": "{{count}} 個のスニペットを選択中",
+ "noSelected": "スニペットは選択されていません"
+ },
+ "fragment": "フラグメント",
+ "search": "検索",
+ "line": "行",
+ "column": "Column",
+ "sidebar": {
+ "inbox": "カテゴリなし",
+ "favorites": "お気に入り",
+ "allSnippets": "すべてのスニペット",
+ "trash": "ゴミ箱",
+ "untitled": "名称未設定フォルダ",
+ "folders": "フォルダ",
+ "library": "ライブラリ",
+ "tags": "タグ"
+ },
+ "darkMode": "ダークモード",
+ "background": "背景",
+ "restartApp": "massCodeを再起動",
+ "updateAvailable": "アップデートがあります",
+ "hide": "隠す",
+ "show": "表示する",
+ "collapse-all": "すべて縮小",
+ "expand-all": "すべて展開"
+}
diff --git a/src/main/services/i18n/locales/ja_JP/dialog.json b/src/main/services/i18n/locales/ja_JP/dialog.json
new file mode 100644
index 00000000..a115fa17
--- /dev/null
+++ b/src/main/services/i18n/locales/ja_JP/dialog.json
@@ -0,0 +1,13 @@
+{
+ "deleteConfirm": "{{name}} を完全に削除してよろしいですか?",
+ "deleteConfirmMultipleSnippets": "選択している {{count}} 個のスニペットを完全に削除してよろしいですか?",
+ "noUndo": "この操作は復元できません。",
+ "allSnippetsMoveToTrash": "このフォルダー内のスニペットはすべてゴミ箱に移動されます。",
+ "deleteTag": "すべてのスニペットからこのタグが削除されます。",
+ "emptyTrash": "ゴミ箱に入っている全てのスニペットが完全に削除されます。よろしいですか?",
+ "migrateConfirm": [
+ "{{name}} からデータが移行されます。よろしいですか?",
+ "現在のライブラリは全て上書きされます。"
+ ],
+ "createDb": "別のフォルダを選択してください。"
+}
diff --git a/src/main/services/i18n/locales/ja_JP/menu.json b/src/main/services/i18n/locales/ja_JP/menu.json
new file mode 100644
index 00000000..7e8683f9
--- /dev/null
+++ b/src/main/services/i18n/locales/ja_JP/menu.json
@@ -0,0 +1,76 @@
+{
+ "app": {
+ "label": "massCode",
+ "preferences": "設定",
+ "update": {
+ "label": "アップデートがあるか確認",
+ "message": "バージョン {{newVersion}} がダウンロード可能です。\n現在使用しているバージョンは {{oldVersion}} です。",
+ "button": ["Githubを開く", "OK"],
+ "noUpdate": "アップデートはありません。"
+ },
+ "quit": "massCodeを終了",
+ "about": "massCodeについて",
+ "hide": "massCodeを隠す",
+ "hideOther": "他を隠す",
+ "showAll": "すべて表示"
+ },
+ "help": {
+ "label": "ヘルプ",
+ "website": "ウェブサイト",
+ "documentation": "ドキュメント",
+ "viewInGitHub": "GitHubで見る",
+ "changeLog": "更新履歴",
+ "reportIssue": "課題を提出",
+ "giveStar": "スターを付ける",
+ "extension": {
+ "vscode": "VS Code 拡張機能",
+ "raycast": "Raycast 拡張機能",
+ "alfred": "Alfred 拡張機能"
+ },
+ "donate": {
+ "openCollective": "Open Collectiveで寄付をする",
+ "payPal": "PayPalで寄付をする"
+ },
+ "twitter": "Twitter",
+ "devTools": "Developer Toolsを表示",
+ "links": {
+ "snippets": "スニペットコレクション"
+ }
+ },
+ "file": {
+ "label": "ファイル",
+ "find": "検索"
+ },
+ "view": {
+ "label": "表示",
+ "sortBy": {
+ "label": "スニペットの整列",
+ "dateModified": "更新日",
+ "dateCreated": "作成日",
+ "name": "名前"
+ }
+ },
+ "edit": {
+ "label": "ラベル",
+ "undo": "元に戻す",
+ "redo": "やり直し",
+ "cut": "切り取り",
+ "copy": "コピー",
+ "paste": "貼り付け",
+ "delete": "削除",
+ "selectAll": "すべて選択"
+ },
+ "editor": {
+ "label": "エディタ",
+ "copy": "スニペットをクリップボードにコピー",
+ "format": "フォーマット",
+ "previewMarkdown": "Markdownをプレビュー",
+ "previewCode": "コードをプレビュー",
+ "previewScreenshot": "スクリーンショットをプレビュー"
+ },
+ "markdown": {
+ "label": "Markdown",
+ "presentationMode": "プレゼンテーションモード",
+ "preview": "プレビュー"
+ }
+}
diff --git a/src/main/services/i18n/locales/ja_JP/preferences.json b/src/main/services/i18n/locales/ja_JP/preferences.json
new file mode 100644
index 00000000..5acaa840
--- /dev/null
+++ b/src/main/services/i18n/locales/ja_JP/preferences.json
@@ -0,0 +1,45 @@
+{
+ "title": "設定",
+ "storage": {
+ "label": "ストレージ",
+ "migrate": "データの移行",
+ "count": "登録個数"
+ },
+ "editor": {
+ "label": "エディタ",
+ "fontSize": "フォントサイズ",
+ "fontFamily": "フォントファミリ",
+ "wrap": {
+ "label": "行の折り返し",
+ "wordWrap": "折り返す",
+ "off": "折り返ししない"
+ },
+ "tabSize": "タブサイズ",
+ "showInvisibles": "非表示文字を表示する",
+ "highlightLine": "行をハイライトする",
+ "highlightGutter": "ガターをハイライトする",
+ "matchBrackets": "ブラケットの強調",
+ "prettier": {
+ "label": "行の整形",
+ "trailingComma": {
+ "label": "末尾のコンマ",
+ "none": "何もしない",
+ "all": "すべて",
+ "es6": "ES6準拠"
+ },
+ "semi": "セミコロン",
+ "singleQuote": "シングルクォーテーション"
+ }
+ },
+ "appearance": {
+ "label": "外観",
+ "theme": {
+ "label": "テーマ",
+ "light": "ライト",
+ "dark": "ダーク"
+ }
+ },
+ "language": {
+ "label": "表示言語"
+ }
+}
diff --git a/src/main/services/i18n/locales/ja_JP/special.json b/src/main/services/i18n/locales/ja_JP/special.json
new file mode 100644
index 00000000..09faae16
--- /dev/null
+++ b/src/main/services/i18n/locales/ja_JP/special.json
@@ -0,0 +1,25 @@
+{
+ "description": {
+ "storage": "iCloud Drive、Google Drive、Dropboxなどの同期サービスを利用する場合は、ストレージフォルダを同期フォルダに移動するだけです。",
+ "migrate": {
+ "1": "massCode v1.0 から移行する場合は、データベースファイルのあるフォルダーを選択します。",
+ "2": "SnippetsLabから移行する場合は、JSONファイルを選択します。",
+ "3": [
+ "SnippetsLab.JPから移行時の制限事項:",
+ "JSONファイル(v2.1以下)はネストしたフォルダを表現できないため、すべてのフォルダは第一階層となります。",
+ "サポートされていない言語のスニペットは、デフォルトのPlain Textに設定されます。"
+ ]
+ },
+ "htmlCssPreview": "HTMLやCSS言語によるフラグメントを追加して、結果を表示することができます。"
+ },
+ "success": {
+ "migrate": "データの移行が完了しました。"
+ },
+ "error": {
+ "folderContainDb": "フォルダにはすでに \"db.json\" が存在します。",
+ "folderNotContainDb": "フォルダには \"db.json\" が存在しません。"
+ },
+ "unsponsored": "サポートしていません",
+ "supportMessage": "やあ!アントンです。👋
\nmassCodeを使ってくれてありがとう。もしあなたがこのソフトを気に入ったのなら、ぜひ{{-tagStart}}寄付{{-tagEnd}}をお願いします!。 このプロジェクトを開発し続けるための力になります。",
+ "snippetsShowcase": "スニペットショーケース"
+}