Skip to content

Commit

Permalink
feat( #80 ): app translated to 🇯🇵 Japanese
Browse files Browse the repository at this point in the history
  • Loading branch information
DogukanUrker committed Jul 22, 2024
1 parent 07d07d4 commit 6a0dee9
Show file tree
Hide file tree
Showing 3 changed files with 330 additions and 6 deletions.
2 changes: 1 addition & 1 deletion constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
REGISTRATION = True # (bool)

# Supported languages for the application
LANGUAGES = ["en", "tr", "es", "de", "zh", "fr", "uk", "ru", "pt"] # (list)
LANGUAGES = ["en", "tr", "es", "de", "zh", "fr", "uk", "ru", "pt", "ja"] # (list)


### LOGGER SETTINGS ###
Expand Down
13 changes: 8 additions & 5 deletions templates/tailwindUI/changeLanguage.html.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,27 @@
<a href="/setLanguage/tr" class="m-2 hover:text-rose-500 duration-150">
🇹🇷 Türkçe
</a>
<a href="/setLanguage/pt" class="m-2 hover:text-rose-500 duration-150">
🇵🇹 Português
<a href="/setLanguage/de" class="m-2 hover:text-rose-500 duration-150">
🇩🇪 Deutsch
</a>
<a href="/setLanguage/es" class="m-2 hover:text-rose-500 duration-150">
🇪🇸 Español
</a>
<a href="/setLanguage/de" class="m-2 hover:text-rose-500 duration-150">
🇩🇪 Deutsch
</a>
<a href="/setLanguage/fr" class="m-2 hover:text-rose-500 duration-150">
🇫🇷 Français
</a>
<a href="/setLanguage/pt" class="m-2 hover:text-rose-500 duration-150">
🇵🇹 Português
</a>
<a href="/setLanguage/uk" class="m-2 hover:text-rose-500 duration-150">
🇺🇦 Українська
</a>
<a href="/setLanguage/ru" class="m-2 hover:text-rose-500 duration-150">
🇷🇺 Русский
</a>
<a href="/setLanguage/ja" class="m-2 hover:text-rose-500 duration-150">
🇯🇵 日本人
</a>
<a href="/setLanguage/zh" class="m-2 hover:text-rose-500 duration-150">
🇨🇳 中国人
</a>
Expand Down
321 changes: 321 additions & 0 deletions translations/ja.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,321 @@
{
"about": {
"title": "概要",
"version": "バージョン",
"description": "Flask、SQLite3、WTForms、Passlib、reCAPTCHA、Requests、TailwindCSS、Tabler Iconsで作成されたシンプルなブログアプリ",
"moreInfo": "についての詳細情報はこちらをクリック",
"sourceRepo": "ソースコード",
"credits": "<i class='ti ti-heart-filled text-rose-500'></i> によって作成されました <a href='https://dogukanurker.com/' target='_blank' class='text-rose-500 font-medium'>Doğukan Ürker</a>"
},
"accountSettings": {
"title": "アカウント設定",
"username": "ユーザー名の変更",
"password": "パスワードの変更",
"delete": "アカウントの削除",
"language": "言語の変更",
"profilePicture": "プロフィール写真の変更"
},
"adminPanel": {
"title": "管理パネル",
"users": "ユーザー",
"posts": "投稿",
"comments": "コメント"
},
"adminPanelComments": {
"title": "管理パネル - コメント",
"comments": "コメント",
"postID": "投稿ID",
"creationTime": "作成時間",
"creationDate": "作成日",
"author": "著者"
},
"adminPanelUsers": {
"title": "管理パネル - ユーザー",
"id": "ID",
"users": "ユーザー",
"email": "メール",
"joinTime": "参加時間",
"joinDate": "参加日",
"role": "役割",
"points": "ポイント",
"delete": "ユーザーの削除",
"setUser": "ユーザーの役割をユーザーに設定",
"setAdmin": "ユーザーの役割を管理者に設定"
},
"categories": {
"all": "すべて",
"apps": "アプリ",
"art": "アート",
"books": "書籍",
"business": "ビジネス",
"code": "コード",
"education": "教育",
"finance": "金融",
"foods": "食品",
"games": "ゲーム",
"health": "健康",
"history": "歴史",
"movies": "映画",
"music": "音楽",
"nature": "自然",
"science": "科学",
"series": "シリーズ",
"sports": "スポーツ",
"technology": "技術",
"travel": "旅行",
"web": "ウェブ",
"other": "その他"
},
"changeLanguage": {
"title": "言語を選択"
},
"changePassword": {
"title": "パスワードの変更",
"currentPassword": "現在のパスワード",
"newPassword": "新しいパスワード",
"confirmPassword": "パスワードの確認",
"change": "パスワードを変更"
},
"changeProfilePicture": {
"title": "プロフィール写真の変更",
"default": "デフォルトのシードはあなたのユーザー名です",
"info": "プロフィール写真のシードについての詳細情報はこちらをクリック",
"set": "プロフィール写真を設定",
"placeholder": "プロフィール写真のシードを入力"
},
"changeUserName": {
"title": "ユーザー名の変更",
"placeholder": "新しいユーザー名",
"change": "ユーザー名を変更"
},
"createPost": {
"title": "投稿を作成",
"titlePlaceholder": "投稿タイトル",
"category": "カテゴリを選択",
"content": "内容",
"banner": "バナーをアップロード",
"bannerPlaceholder": "投稿バナー",
"tags": "タグ",
"post": "投稿",
"separate": "(タグはカンマで区切ってください)"
},

"csrfError": {
"reason": "理由",
"description": "同じフォームを再度記入してください。"
},
"dashboard": {
"title": "ダッシュボード",
"titleAdmin": "管理パネル - 投稿",
"posts": "投稿",
"comments": "コメント",
"tags": "タグ",
"views": "ビュー",
"creationTime": "作成時間",
"creationDate": "作成日",
"editTime": "最終編集時間",
"editDate": "最終編集日",
"author": "著者",
"category": "カテゴリ",
"noPosts": "このユーザーはまだ投稿を作成していません。",
"noPost": "まだ投稿がありません、",
"create": "作成する",
"go": "投稿へ移動"
},
"editPost": {
"title": "投稿を編集",
"titlePlaceholder": "投稿タイトル",
"category": "カテゴリを選択",
"current": "現在のバナー",
"new": "新しいバナー",
"tags": "タグ",
"separate": "(タグはカンマで区切ってください)",
"save": "変更を保存",
"bannerPlaceholder": "投稿バナー"
},
"login": {
"title": "ログイン",
"username": "ユーザー名",
"password": "パスワード",
"forgot": "パスワードを忘れましたか?"
},
"notFound": {
"text": "それが何か分かりません",
"sorry": "申し訳ありません",
"home": "ホームに戻る"
},
"passwordReset": {
"title": "パスワードリセット",
"email": "メール",
"username": "ユーザー名",
"send": "リセットメールを送信",
"reset": "パスワードをリセット",
"code": "コードを送信",
"codePlaceholder": "受け取ったコードを入力してください",
"newPassword": "新しいパスワード",
"confirmPassword": "パスワードの確認"
},
"post": {
"placeholder": "あなたの考えは何ですか?"
},
"sortMenu": {
"asc": "昇順",
"desc": "降順",
"create": "作成日",
"title": "タイトル",
"views": "ビュー",
"category": "カテゴリ",
"edit": "最終編集日"
},
"search": {
"title": "検索",
"noResults": "結果がありません",
"users": "ユーザー",
"posts": "投稿",
"results": "結果"
},
"searchBar": {
"title": "検索",
"placeholder": "検索"
},
"signup": {
"title": "サインアップ",
"username": "ユーザー名",
"email": "メール",
"password": "パスワード",
"confirm": "パスワードの確認",
"policy": "プライバシーポリシー",
"by": "サインアップすることで、あなたは"
},
"unauthorized": {
"title": "reCAPTCHAエラー",
"request": "フォームを再度提出してください。",
"info": "reCAPTCHA認証に失敗しました。"
},
"user": {
"posts": "投稿",
"comments": "コメント",
"points": "ポイント",
"joinDate": "参加日",
"createDate": "作成日",
"createTime": "作成時間",
"dashboard": "ダッシュボード",
"role": "役割",
"user": "ユーザー",
"admin": "管理者",
"settings": "設定",
"views": "ビュー",
"go": "投稿へ移動"
},
"verifyUser": {
"title": "アカウントの確認",
"placeholder": "受け取ったコードを入力してください",
"send": "確認コードを送信するにはクリックしてください"
},
"flash": {
"changePassword": {
"same": "新しいパスワードは旧パスワードと同じであってはなりません。",
"match": "パスワードが一致しません。",
"success": "パスワードが変更されました。",
"old": "旧パスワードが間違っています。",
"login": "パスワードを変更するにはログインする必要があります。"
},
"changeProfilePicture": {
"success": "プロフィール写真が変更されました。"
},
"changeUserName": {
"same": "これはすでにあなたのユーザー名です。",
"success": "ユーザー名が変更されました。",
"taken": "このユーザー名はすでに使用されています。",
"ascii": "ユーザー名はASCII文字のみを含むことができます。"
},
"createPost": {
"success": "投稿を作成すると20ポイントが獲得されました。",
"login": "投稿を作成するにはログインする必要があります。",
"empty": "タイトルまたは内容を空にすることはできません。"
},
"dashboard": {
"login": "ダッシュボードを表示するにはログインする必要があります。"
},
"editPost": {
"success": "投稿が編集されました。",
"login": "投稿を編集するにはログインする必要があります。",
"empty": "タイトルまたは内容を空にすることはできません。",
"author": "他の人の投稿を編集することはできません。"
},
"login": {
"success": "ログインに成功しました。",
"password": "パスワードが間違っています",
"notFound": "ユーザーが見つかりません"
},
"logout": {
"success": "ログアウトに成功しました。"
},
"passwordReset": {
"success": "パスワードがリセットされました。新しいパスワードでログインできます。",
"email": "メールが送信されました。",
"code": "コードが送信されました。",
"same": "新しいパスワードは旧パスワードと同じであってはなりません。",
"match": "パスワードが一致しません。",
"notFound": "ユーザーが見つかりません。",
"wrong": "コードが間違っています。"
},
"delete": {
"user": "ユーザーが削除されました。",
"post": "投稿が削除されました。",
"comment": "コメントが削除されました。"
},
"setLanguage": {
"success": "言語が変更されました。"
},
"post": {
"success": "コメントをすることで5ポイントが獲得されました。"
},
"signup": {
"success": "サインアップに成功しました。",
"ascii": "ユーザー名はASCII文字のみを含むことができます。",
"username": "このユーザー名はすでに使用されています。",
"email": "このメールアドレスはすでに使用されています。",
"password": "パスワードが一致しません。",
"taken": "このユーザー名とメールアドレスはすでに使用されています。"
},
"verifyUser": {
"success": "アカウントが確認されました。",
"code": "コードが送信されました。",
"notFound": "ユーザーが見つかりません。",
"wrong": "コードが間違っています。"
},
"error": {
"wrongCall": "サーバー側で誤ったフラッシュメッセージ呼び出しが行われました。"
}
},
"roles": {
"user": "ユーザー",
"admin": "管理者"
},
"privacyPolicy": {
"title": "プライバシーポリシー",
"intro": "このプライバシーポリシーは、Doğukan ÜrkerのFlask Blog(以下「私たち」、「私たちの」)が、モバイルアプリケーション(以下「アプリ」)を使用する際に、あなたの情報をどのように収集、使用、開示するかを説明します。",
"information": "情報の収集と使用",
"informationText": "アプリを使用する際に、私たちは以下を含むさまざまなユーザー活動データを収集および記録しますが、これに限定されません:",
"informationUser": "ユーザーログインデータ:認証およびセキュリティ目的で、ユーザーログイン活動に関連する情報を収集します。",
"informationPost": "投稿およびコメントデータ:アプリ内での投稿およびコメントに関する情報を収集し、機能性およびユーザーエンゲージメント目的で使用します。",
"informationGeneral": "一般的なユーザー活動:アプリ内でのさまざまなユーザー活動を記録し、ユーザーエクスペリエンスの向上、技術的な問題のトラブルシューティング、使用パターンの分析を行います。",
"cookies": "クッキー",
"cookiesText": "アプリはユーザーエクスペリエンスを向上させるためにクッキーを使用します。使用するクッキーには以下が含まれます:",
"cookiesTheme": "UIテーマクッキー:ユーザーが選択したUIテーマの設定を保存し、アプリの外観をパーソナライズします。",
"cookiesLanguage": "ブラウザのデフォルト言語:ユーザーのブラウザのデフォルト言語設定を保存し、ローカライズされたコンテンツを提供します。",
"serviceProviders": "サービスプロバイダー",
"serviceProvidersText": "アプリを運営するために、または私たちの代理でサービスを提供するために、第三者の会社や個人を雇うことがあります。これらの第三者は、分析、ホスティング、技術サポートなどのタスクを実行するために、あなたの情報にアクセスする場合があります。ただし、これらの情報を他の目的で開示または使用することは禁じられています。",
"otherLinks": "他のサイトへのリンク",
"otherLinksText": "アプリには、XやDoğukan Ürkerの個人サイトなど、外部サイトへのリンクが含まれることがあります。これらの外部サイトのコンテンツやプライバシー慣行については責任を負いません。個人情報を提供する前に、これらのサイトのプライバシーポリシーを確認することをお勧めします。",
"security": "セキュリティ",
"securityText": "アプリを通じて収集された情報を保護するために、合理的な予防措置を講じています。ただし、インターネット経由の伝送方法や電子的保存方法は100%安全ではないため、絶対的なセキュリティを保証することはできません。",
"children": "子供のプライバシー",
"childrenText": "アプリは13歳未満の個人の使用を目的としていません。13歳未満の子供から個人を特定できる情報を故意に収集することはありません。もしあなたが親または保護者で、あなたの子供が私たちに個人情報を提供したことに気付いた場合は、必要な対策を講じるためにご連絡ください。",
"changes": "プライバシーポリシーの変更",
"changesText": "プライバシーポリシーは随時更新される場合があります。従って、このページを定期的に確認して変更点を確認することをお勧めします。変更があった場合は、新しいプライバシーポリシーをこのページに掲載します。これらの変更は、掲載後すぐに有効になります。",
"contact": "お問い合わせ",
"contactText": "プライバシーポリシーについて質問や提案がある場合は、お気軽にご連絡ください。メール:"
}
}

0 comments on commit 6a0dee9

Please sign in to comment.