diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties
new file mode 100644
index 00000000..b0c96529
--- /dev/null
+++ b/src/main/resources/messages_ja_JP.properties
@@ -0,0 +1,470 @@
+###########
+# Generic #
+###########
+# the direction that the language is written (ltr = left to right, rtl = right to left)
+language.direction=ltr
+
+pdfPrompt=PDFを選択
+multiPdfPrompt=PDFを選択 (2つ以上)
+multiPdfDropPrompt=PDFを選択 (又はドラッグ&ドロップ)
+imgPrompt=画像を選択
+genericSubmit=送信
+processTimeWarning=警告:この処理はファイルサイズによって1分程度かかることがあります
+pageOrderPrompt=ページ順序 (ページ番号をカンマ区切り又は2n+1のような関数で入力):
+goToPage=移動
+true=True
+false=False
+unknown=不明
+save=保存
+close=閉じる
+filesSelected=選択されたファイル
+noFavourites=お気に入りはありません
+bored=待ち時間が退屈?
+#############
+# HOME-PAGE #
+#############
+home.desc=PDFのあらゆるニーズに対応するローカルホスティングされた総合窓口です。
+
+
+navbar.convert=変換
+navbar.security=セキュリティ
+navbar.other=その他
+navbar.darkmode=ダークモード
+navbar.pageOps=ページ操作
+
+home.multiTool.title=PDFマルチツール
+home.multiTool.desc=ページの結合、回転、並べ替え、削除します。
+
+home.merge.title=結合
+home.merge.desc=複数のPDFを1つに結合します。
+
+home.split.title=分割
+home.split.desc=PDFを複数のドキュメントに分割します。
+
+home.rotate.title=回転
+home.rotate.desc=PDFを回転します。
+
+home.imageToPdf.title=画像をPDFに変換
+home.imageToPdf.desc=画像 (PNG, JPEG, GIF) をPDFに変換します。
+
+home.pdfToImage.title=PDFを画像に変換
+home.pdfToImage.desc=PDFを画像 (PNG, JPEG, GIF) に変換します。
+
+home.pdfOrganiser.title=整理
+home.pdfOrganiser.desc=ページの削除/並べ替えします。
+
+home.addImage.title=画像の追加
+home.addImage.desc=PDF上の任意の場所に画像を追加します。
+
+home.watermark.title=透かしの追加
+home.watermark.desc=PDFに独自の透かしを追加します。
+
+home.remove-watermark.title=透かしの削除
+home.remove-watermark.desc=PDFから透かしを削除します。
+
+home.permissions.title=権限の変更
+home.permissions.desc=PDFの権限を変更します。
+
+home.removePages.title=削除
+home.removePages.desc=PDFから不要なページを削除します。
+
+home.addPassword.title=パスワードの追加
+home.addPassword.desc=PDFをパスワードで暗号化します。
+
+home.removePassword.title=パスワードの削除
+home.removePassword.desc=PDFからパスワードの削除します。
+
+home.compressPdfs.title=圧縮
+home.compressPdfs.desc=PDFを圧縮してファイルサイズを小さくします。
+
+home.changeMetadata.title=メタデータの変更
+home.changeMetadata.desc=PDFのメタデータを変更/削除/追加します。
+
+home.fileToPDF.title=ファイルをPDFに変換
+home.fileToPDF.desc=ほぼすべてのファイルをPDFに変換します。 (DOCX, PNG, XLS, PPT, TXTなど)
+
+home.ocr.title=OCR / クリーンアップ
+home.ocr.desc=クリーンアップはPDF内の画像からテキストを検出してテキストとして再追加します。
+
+home.extractImages.title=画像の抽出
+home.extractImages.desc=PDFからすべての画像を抽出してzipで保存します。
+
+home.pdfToPDFA.title=PDFをPDF/Aに変換
+home.pdfToPDFA.desc=長期保存のためにPDFをPDF/Aに変換。
+
+home.PDFToWord.title=PDFをWordに変換
+home.PDFToWord.desc=PDFをWord形式に変換します。 (DOC, DOCX および ODT)
+
+home.PDFToPresentation.title=PDFをプレゼンテーションに変換
+home.PDFToPresentation.desc=PDFをプレゼンテーション形式に変換します。 (PPT, PPTX および ODP)
+
+home.PDFToText.title=PDFをText/RTFに変換
+home.PDFToText.desc=PDFをTextまたはRTF形式に変換します。
+
+home.PDFToHTML.title=PDFをHTMLに変換
+home.PDFToHTML.desc=PDFをHTML形式に変換します。
+
+home.PDFToXML.title=PDFをXMLに変換
+home.PDFToXML.desc=PDFをXML形式に変換します。
+
+home.ScannerImageSplit.title=スキャンされた画像の検出/分割
+home.ScannerImageSplit.desc=1枚の画像/PDFから複数の写真を分割します。
+
+home.sign.title=署名
+home.sign.desc=手書き、テキストまたは画像によってPDFに署名を追加します。
+
+home.flatten.title=平坦化
+home.flatten.desc=PDFからインタラクティブな要素とフォームをすべて削除します。
+
+home.repair.title=修復
+home.repair.desc=破損したPDFの修復を試みます。
+
+home.removeBlanks.title=空白ページの削除
+home.removeBlanks.desc=ドキュメントから空白ページを検出して削除します。
+
+home.compare.title=比較
+home.compare.desc=2つのPDFを比較して表示します。
+
+home.certSign.title=証明書による署名
+home.certSign.desc=証明書/キーを使用してPDFに署名します。 (PEM/P12)
+
+home.pageLayout.title=マルチページレイアウト
+home.pageLayout.desc=PDFの複数のページを1ページに結合します。
+
+home.scalePages.title=ページの縮尺の調整
+home.scalePages.desc=ページやコンテンツの縮尺を変更します。
+
+error.pdfPassword=PDFにパスワードが設定されてますが、パスワードが入力されてないか間違ってます。
+
+downloadPdf=PDFをダウンロード
+text=テキスト
+font=フォント
+selectFillter=-- 選択 --
+pageNum=ページ番号
+
+pageLayout.title=マルチページレイアウト
+pageLayout.header=マルチページレイアウト
+pageLayout.pagesPerSheet=1枚あたりのページ数:
+pageLayout.submit=送信
+
+scalePages.title=ページの縮尺の調整
+scalePages.header=ページの縮尺の調整
+scalePages.pageSize=1ページのサイズ
+scalePages.scaleFactor=1ページの拡大レベル (トリミング)。
+scalePages.submit=送信
+
+certSign.title=証明書による署名
+certSign.header=証明書を使用してPDFに署名します。 (進行中)
+certSign.selectPDF=署名するPDFファイルを選択:
+certSign.selectKey=秘密キーファイルを選択 (PKCS#8形式、.pemまたは.der) :
+certSign.selectCert=証明書ファイルを選択 (X.509形式、.pemまたは.der) :
+certSign.selectP12=PKCS#12キーストアファイルを選択 (.p12または.pfx) (オプション。指定する場合は秘密キーと証明書が含まれている必要があります。):
+certSign.certType=証明書の種類
+certSign.password=キーストアまたは秘密キーのパスワードを入力 (ある場合) :
+certSign.showSig=署名を表示
+certSign.reason=理由
+certSign.location=場所
+certSign.name=名前
+certSign.submit=PDFに署名
+
+removeBlanks.title=空白の削除
+removeBlanks.header=空白ページの削除
+removeBlanks.threshold=しきい値 :
+removeBlanks.thresholdDesc=白色ピクセルの白さを決めるためのしきい値
+removeBlanks.whitePercent=白比率
+removeBlanks.whitePercentDesc=削除するページの白の割合
+removeBlanks.submit=空白ページの削除
+
+compare.title=比較
+compare.header=PDFの比較
+compare.document.1=ドキュメント 1
+compare.document.2=ドキュメント 2
+compare.submit=比較
+
+sign.title=署名
+sign.header=PDFに署名
+sign.upload=画像をアップロード
+sign.draw=署名を書く
+sign.text=テキスト入力
+sign.clear=クリア
+sign.add=追加
+
+repair.title=修復
+repair.header=PDFを修復
+repair.submit=修復
+
+flatten.title=平坦化
+flatten.header=PDFを平坦化する
+flatten.submit=平坦化
+
+ScannerImageSplit.selectText.1=角度のしきい値:
+ScannerImageSplit.selectText.2=画像を回転させるために必要な絶対角度の最小値を設定 (初期値:10)。
+ScannerImageSplit.selectText.3=許容範囲:
+ScannerImageSplit.selectText.4=推定された背景色周辺のカラーバリエーションの範囲を決定 (初期値:30)。
+ScannerImageSplit.selectText.5=最小面積:
+ScannerImageSplit.selectText.6=画像の最小面積のしきい値を設定 (初期値:10000)。
+ScannerImageSplit.selectText.7=最小輪郭面積:
+ScannerImageSplit.selectText.8=画像の最小の輪郭面積のしきい値を設定。
+ScannerImageSplit.selectText.9=境界線サイズ:
+ScannerImageSplit.selectText.10=出力に白い縁取りが出ないように追加・削除される境界線の大きさを設定 (初期値:1)。
+
+navbar.settings=設定
+settings.title=設定
+settings.update=利用可能なアップデート
+settings.appVersion=Appバージョン:
+settings.downloadOption.title=ダウンロードオプション (zip以外の単一ファイル):
+settings.downloadOption.1=同じウィンドウで開く
+settings.downloadOption.2=新しいウィンドウで開く
+settings.downloadOption.3=ファイルをダウンロード
+settings.zipThreshold=このファイル数を超えたときにファイルを圧縮する
+
+
+
+
+#OCR
+ocr.title=OCR / クリーンアップ
+ocr.header=クリーンアップ / OCR (光学式文字認識)
+ocr.selectText.1=PDF内で検出される言語を選択 (リストされているものは現在検出されているものです):
+ocr.selectText.2=OCR処理されたPDFと一緒に、OCRしたテキストを含むテキストファイルを作成する
+ocr.selectText.3=斜めにスキャンされたページを回転させて修正する
+ocr.selectText.4=ページをきれいにして背景ノイズの中からテキストを検出しにくくする。(出力は変わりません)
+ocr.selectText.5=ページをきれいにして背景ノイズの中からテキストを検出しにくくし、出力はクリーンアップを維持する。
+ocr.selectText.6=インタラクティブなテキストを含むページを無視し、画像ページのみをOCRする
+ocr.selectText.7=強制OCR、全てのページで元のテキスト要素を全て削除してOCRする
+ocr.selectText.8=Normal (PDFにテキストが含まれている場合はエラーになります。)
+ocr.selectText.9=追加設定
+ocr.selectText.10=OCRモード
+ocr.selectText.11=OCR後に画像を削除する (すべての画像を削除します。変換ステップの一部である場合にのみ有効です)。
+ocr.selectText.12=レンダリングタイプ (高度)
+ocr.help=他の言語でこれを使用する方法やDocker以外で使用する方法についてはこのドキュメントをお読みください。
+ocr.credit=本サービスにはOCRにOCRmyPDFとTesseractを使用しています。
+ocr.submit=OCRでPDFを処理する
+
+
+
+extractImages.title=画像の抽出
+extractImages.header=画像の抽出
+extractImages.selectText=抽出した画像のフォーマットを選択
+extractImages.submit=抽出
+
+
+#File to PDF
+fileToPDF.title=ファイルをPDFに変換
+fileToPDF.header=あらゆるファイルをPDFに変換
+fileToPDF.credit=本サービスはファイル変換にLibreOfficeとUnoconvを使用しています。
+fileToPDF.supportedFileTypes=サポートされるファイル形式には以下が含まれますが、完全な更新リストについてはLibreOfficeのドキュメントを参照してください。
+fileToPDF.submit=PDFを変換
+
+
+#compress
+compress.title=圧縮
+compress.header=PDFを圧縮
+compress.credit=本サービスはPDFの圧縮/最適化にGhostscriptを使用しています。
+compress.selectText.1=手動モード - 1 から 4
+compress.selectText.2=品質レベル:
+compress.selectText.3=4 (テキスト画像は最悪)
+compress.selectText.4=自動モード - PDFを正確なサイズにするために品質を自動調整する。
+compress.selectText.5=PDFサイズ (例 25MB, 10.8MB, 25KB)
+compress.submit=圧縮
+
+
+#Add image
+addImage.title=画像の追加
+addImage.header=PDFに画像を追加
+addImage.everyPage=全ページ?
+addImage.submit=画像の追加
+
+
+#merge
+merge.title=結合
+merge.header=複数のPDFを結合 (2ファイル以上)
+merge.submit=結合
+
+#pdfOrganiser
+pdfOrganiser.title=整理
+pdfOrganiser.header=PDFページの整理
+pdfOrganiser.submit=ページの整理
+
+#multiTool
+multiTool.title=PDFマルチツール
+multiTool.header=PDFマルチツール
+
+
+#pageRemover
+pageRemover.title=ページ削除
+pageRemover.header=PDFページ削除
+pageRemover.pagesToDelete=削除するページ (ページ番号のカンマ区切りリストを入力してください):
+pageRemover.submit=ページ削除
+
+#rotate
+rotate.title=PDFの回転
+rotate.header=PDFの回転
+rotate.selectAngle=回転角度を選択 (90度の倍数):
+rotate.submit=回転
+
+
+
+
+#merge
+split.title=PDFの分割
+split.header=PDFの分割
+split.desc.1=選択する番号は分割するページ番号です。
+split.desc.2=したがって、1,3,7-8を選択すると、10ページのドキュメントが以下のように6つのPDFに分割されることになります。
+split.desc.3=ドキュメント #1: ページ 1
+split.desc.4=ドキュメント #2: ページ 2, 3
+split.desc.5=ドキュメント #3: ページ 4, 5, 6
+split.desc.6=ドキュメント #4: ページ 7
+split.desc.7=ドキュメント #5: ページ 8
+split.desc.8=ドキュメント #6: ページ 9, 10
+split.splitPages=分割するページ番号を入力:
+split.submit=分割
+
+
+#merge
+imageToPDF.title=画像をPDFに変換
+imageToPDF.header=画像をPDFに変換
+imageToPDF.submit=変換
+imageToPDF.selectText.1=フィットするように引き伸ばす
+imageToPDF.selectText.2=PDFの自動回転
+imageToPDF.selectText.3=マルチファイルの処理 (複数の画像を操作する場合に有効になります)
+imageToPDF.selectText.4=1つのPDFに結合
+imageToPDF.selectText.5=個別のPDFに変換
+
+#pdfToImage
+pdfToImage.title=PDFを画像に変換
+pdfToImage.header=PDFを画像に変換
+pdfToImage.selectText=画像の形式
+pdfToImage.singleOrMultiple=画像出力タイプ
+pdfToImage.single=単一の大きな画像
+pdfToImage.multi=複数の画像
+pdfToImage.colorType=カラーモード
+pdfToImage.color=カラー
+pdfToImage.grey=グレースケール
+pdfToImage.blackwhite=白黒 (データが失われる可能性があります!)
+pdfToImage.submit=変換
+
+#addPassword
+addPassword.title=パスワードの追加
+addPassword.header=パスワードの追加 (暗号化)
+addPassword.selectText.1=暗号化するPDFを選択
+addPassword.selectText.2=ユーザーパスワード
+addPassword.selectText.3=暗号化キーの長さ
+addPassword.selectText.4=値が大きいほど強力ですが、値が小さいほど互換性が高くなります。
+addPassword.selectText.5=権限の設定 (所有者パスワードとの併用をおすすめします)
+addPassword.selectText.6=ドキュメントの組立を禁止
+addPassword.selectText.7=コンテンツの抽出を禁止
+addPassword.selectText.8=アクセシビリティのための抽出を禁止
+addPassword.selectText.9=フォームへの入力を禁止
+addPassword.selectText.10=変更を禁止
+addPassword.selectText.11=注釈の変更を禁止
+addPassword.selectText.12=印刷を禁止
+addPassword.selectText.13=異なる形式の印刷を禁止
+addPassword.selectText.14=所有者パスワード
+addPassword.selectText.15=ドキュメントを開いた後に実行できる操作を制限します (すべてのリーダーでサポートされているわけではありません)
+addPassword.selectText.16=ドキュメントを開くことを制限します
+addPassword.submit=暗号化
+
+#watermark
+watermark.title=透かしの追加
+watermark.header=透かしの追加
+watermark.selectText.1=透かしを追加するPDFを選択:
+watermark.selectText.2=透かしのテキスト:
+watermark.selectText.3=文字サイズ:
+watermark.selectText.4=回転 (0-360):
+watermark.selectText.5=幅スペース (各透かし間の水平方向のスペース):
+watermark.selectText.6=高さスペース (各透かし間の垂直方向のスペース):
+watermark.selectText.7=不透明度 (0% - 100%):
+watermark.submit=透かしを追加
+
+#remove-watermark
+remove-watermark.title=透かしの削除
+remove-watermark.header=透かしの削除
+remove-watermark.selectText.1=透かしを削除するPDFを選択:
+remove-watermark.selectText.2=透かしのテキスト:
+remove-watermark.submit=透かしを削除
+
+#Change permissions
+permissions.title=権限の変更
+permissions.header=権限の変更
+permissions.warning=警告、これらの権限を変更できないようにするため、パスワードの追加ページでパスワードを設定することを推奨します。
+permissions.selectText.1=権限を変更するPDFを選択
+permissions.selectText.2=権限の設定
+permissions.selectText.3=ドキュメントの組立を禁止
+permissions.selectText.4=コンテンツの抽出を禁止
+permissions.selectText.5=アクセシビリティのための抽出を禁止
+permissions.selectText.6=フォームへの入力を禁止
+permissions.selectText.7=変更を禁止
+permissions.selectText.8=注釈の変更を禁止
+permissions.selectText.9=印刷を禁止
+permissions.selectText.10=異なる形式の印刷を禁止
+permissions.submit=変更
+
+#remove password
+removePassword.title=パスワードの削除
+removePassword.header=パスワードの削除 (復号化)
+removePassword.selectText.1=復号化するPDFを選択
+removePassword.selectText.2=パスワード
+removePassword.submit=削除
+
+changeMetadata.title=メタデータの変更
+changeMetadata.header=メタデータの変更
+changeMetadata.selectText.1=変更したい変数を編集してください
+changeMetadata.selectText.2=すべてのメタデータを削除
+changeMetadata.selectText.3=カスタムメタデータを表示
+changeMetadata.author=著者:
+changeMetadata.creationDate=作成日 (yyyy/MM/dd HH:mm:ss):
+changeMetadata.creator=作成者:
+changeMetadata.keywords=キーワード:
+changeMetadata.modDate=変更日 (yyyy/MM/dd HH:mm:ss):
+changeMetadata.producer=プロデューサー:
+changeMetadata.subject=主題:
+changeMetadata.title=タイトル:
+changeMetadata.trapped=トラッピング:
+changeMetadata.selectText.4=その他のメタデータ:
+changeMetadata.selectText.5=カスタムメタデータの追加
+changeMetadata.submit=変更
+
+xlsToPdf.title=ExcelをPDFに変換
+xlsToPdf.header=ExcelをPDFに変換
+xlsToPdf.selectText.1=変換するXLSまたはXLSX Execlシートを選択
+xlsToPdf.convert=変換
+
+
+
+
+pdfToPDFA.title=PDFをPDF/Aに変換
+pdfToPDFA.header=PDFをPDF/Aに変換
+pdfToPDFA.credit=本サービスはPDF/Aの変換にOCRmyPDFを使用しています。
+pdfToPDFA.submit=変換
+
+
+
+PDFToWord.title=PDFをWordに変換
+PDFToWord.header=PDFをWordに変換
+PDFToWord.selectText.1=出力ファイル形式
+PDFToWord.credit=本サービスはファイル変換にLibreOfficeを使用しています。
+PDFToWord.submit=変換
+
+PDFToPresentation.title=PDFをプレゼンテーションに変換
+PDFToPresentation.header=PDFをプレゼンテーションに変換
+PDFToPresentation.selectText.1=出力ファイル形式
+PDFToPresentation.credit=本サービスはファイル変換にLibreOfficeを使用しています。
+PDFToPresentation.submit=変換
+
+
+PDFToText.title=PDFをText/RTFに変換
+PDFToText.header=PDFをText/RTFに変換
+PDFToText.selectText.1=出力ファイル形式
+PDFToText.credit=本サービスはファイル変換にLibreOfficeを使用しています。
+PDFToText.submit=変換
+
+
+PDFToHTML.title=PDFをHTMLに変換
+PDFToHTML.header=PDFをHTMLに変換
+PDFToHTML.credit=本サービスはファイル変換にLibreOfficeを使用しています。
+PDFToHTML.submit=変換
+
+PDFToXML.title=PDFをXMLに変換
+PDFToXML.header=PDFをXMLに変換
+PDFToXML.credit=本サービスはファイル変換にLibreOfficeを使用しています。
+PDFToXML.submit=変換
diff --git a/src/main/resources/static/images/flags/jp.svg b/src/main/resources/static/images/flags/jp.svg
new file mode 100644
index 00000000..90af6c49
--- /dev/null
+++ b/src/main/resources/static/images/flags/jp.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/main/resources/templates/fragments/navbar.html b/src/main/resources/templates/fragments/navbar.html
index 987b6d0e..00540311 100644
--- a/src/main/resources/templates/fragments/navbar.html
+++ b/src/main/resources/templates/fragments/navbar.html
@@ -179,6 +179,9 @@
한국어
+
+ 日本語
+