mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-18 06:13:52 +02:00
Add localization support to Tools page and update translation (#1375)
* Add tools tab and group calendar localization support * Update japanese translation
This commit is contained in:
@@ -250,6 +250,26 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"header": "Tools",
|
||||
"group": {
|
||||
"header": "Group",
|
||||
"calendar": "Calendar",
|
||||
"calendar_description": "Group Events Calendar"
|
||||
},
|
||||
"image": {
|
||||
"header": "Image",
|
||||
"screenshot": "Screenshot Management",
|
||||
"screenshot_description": "Manage screenshots and view metadata",
|
||||
"inventory": "VRC+ Images & Inventory Management",
|
||||
"inventory_description": "Manage VRC+ Images & Inventory"
|
||||
},
|
||||
"user": {
|
||||
"header": "User",
|
||||
"export_notes": "Export User Notes",
|
||||
"export_notes_description": "Export VRCX user memos to VRChat notes"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"profile": {
|
||||
"header": "Profile",
|
||||
@@ -1650,7 +1670,20 @@
|
||||
"save": "Save"
|
||||
},
|
||||
"group_calendar": {
|
||||
"header": "Group Calendar"
|
||||
"header": "Group Calendar",
|
||||
"list_view": "List View",
|
||||
"calendar_view": "Calendar View",
|
||||
"no_events": "No events found",
|
||||
"search_placeholder": "Search groups or events...",
|
||||
"search_no_matching": "No matching events found",
|
||||
"search_no_this_month": "No events this month",
|
||||
"event_card": {
|
||||
"category": "Category",
|
||||
"interested_user": "Interested User",
|
||||
"close_time": "Close Instance After End",
|
||||
"created": "Created Date",
|
||||
"description": "Description"
|
||||
}
|
||||
},
|
||||
"moderate_group": {
|
||||
"header": "Moderate Group Member",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"language": "日本語 (ja)",
|
||||
"translator": "Assault1892, Yuu198, paralleltree, kazu3jp",
|
||||
"translator": "Assault1892, Yuu198, paralleltree, kazu3jp, Cayahuanca",
|
||||
"nav_tooltip": {
|
||||
"feed": "フィード",
|
||||
"game_log": "ゲームログ",
|
||||
@@ -250,6 +250,26 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"header": "ツール",
|
||||
"group": {
|
||||
"header": "グループ",
|
||||
"calendar": "カレンダー",
|
||||
"calendar_description": "グループのイベントカレンダー"
|
||||
},
|
||||
"image": {
|
||||
"header": "写真",
|
||||
"screenshot": "スクリーンショットの管理",
|
||||
"screenshot_description": "スクリーンショットの管理、メタデータを表示",
|
||||
"inventory": "VRC+ インベントリの管理",
|
||||
"inventory_description": "VRC+ ギャラリーとインベントリを管理"
|
||||
},
|
||||
"user": {
|
||||
"header": "ユーザー",
|
||||
"export_notes": "ユーザーメモのエクスポート",
|
||||
"export_notes_description": "VRCX ユーザーメモを VRChat ノートにエクスポート"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"profile": {
|
||||
"header": "プロフィール",
|
||||
@@ -260,7 +280,7 @@
|
||||
"vrchat_credits": "VRChatクレジット",
|
||||
"refresh": "クリックして更新",
|
||||
"logout": "ログアウト",
|
||||
"manage_gallery_inventory_icon": "写真/アイコン/絵文字を管理",
|
||||
"manage_gallery_inventory_icon": "ギャラリー/インベントリを管理",
|
||||
"export_friend_list": "フレンドリストをエクスポート",
|
||||
"export_own_avatars": "自分のアバターをエクスポート",
|
||||
"discord_names": "Discordの名前",
|
||||
@@ -332,7 +352,7 @@
|
||||
"disable_vr_overlay_gpu_acceleration": "VRオーバーレイのGPUアクセラレーション無効化",
|
||||
"disable_vr_overlay_gpu_acceleration_tooltip": "GPUアクセラレーションの無効化は、VRCXのクラッシュやメモリリークを引き起こす可能性があります。問題が発生した場合は、このオプションを有効に戻して再起動してください。",
|
||||
"proxy": "プロキシ設定",
|
||||
"startup_linux": "起動時のVRCX.desktopファイルに\"--startup\"アーギュを追加し、システム起動時にVRCXを最小化して起動する。"
|
||||
"startup_linux": "システムの起動時にVRCXを最小化した状態で起動するには、自動起動用のVRCX.desktopファイルに \"--startup\" 引数を追加します。"
|
||||
},
|
||||
"favorites": {
|
||||
"header": "お気に入りのフレンド",
|
||||
@@ -414,7 +434,7 @@
|
||||
"alphabetical": "アルファベット順",
|
||||
"private_to_bottom": "プライベートを下に",
|
||||
"status": "ステータス",
|
||||
"status_and_private_to_bottom": "ステータスとプライベートを下",
|
||||
"status_and_private_to_bottom": "ステータスとプライベートを下に",
|
||||
"location": "場所",
|
||||
"last_active": "最終活動時間",
|
||||
"last_seen": "最後に見た日時",
|
||||
@@ -443,7 +463,7 @@
|
||||
},
|
||||
"friend_log": {
|
||||
"header": "フレンドログ",
|
||||
"hide_unfriends": "フレンド解除を隠す"
|
||||
"hide_unfriends": "フレンド解除を非表示にする"
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
@@ -524,7 +544,7 @@
|
||||
"show_details_in_private": "プライベートでもワールド詳細を表示",
|
||||
"show_images": "ワールド画像を表示",
|
||||
"show_current_platform": "現在のプラットフォームを表示",
|
||||
"world_integration": "ワールド統合",
|
||||
"world_integration": "ワールドとの統合",
|
||||
"world_integration_tooltip": "Popcorn Palace, PyPyDance, VRDancing, LS Media で \"Watching/Listening to\" を表示",
|
||||
"display_world_name_as_discord_status": "ワールド名をDiscordステータスに表示"
|
||||
},
|
||||
@@ -550,7 +570,7 @@
|
||||
"advanced": {
|
||||
"header": "詳細設定",
|
||||
"launch_options": "起動オプション",
|
||||
"screenshot_metadata": "スクリーンショットのメタデータ",
|
||||
"screenshot_metadata": "スクリーンショットの管理",
|
||||
"vrc_registry_backup": "VRChatのレジストリをバックアップ",
|
||||
"common_folders": "共通フォルダ",
|
||||
"primary_password": {
|
||||
@@ -570,14 +590,14 @@
|
||||
"description": "旧バージョンのキャッシュを自動削除"
|
||||
},
|
||||
"self_invite": {
|
||||
"header": "セルフインバイト",
|
||||
"description": "インスタンスをVRChatで開く代わりに自分宛てに招待を送信"
|
||||
"header": "自分を招待",
|
||||
"description": "VRChatを起動する代わりに、自分を招待する"
|
||||
},
|
||||
"save_instance_prints_to_file": {
|
||||
"header": "インスタンス内にあるプリントを、ローカルファイルに保存",
|
||||
"header_tooltip": "「--enable-sdk-log-levels」オプションをつけて、VRChatを起動する必要があります。",
|
||||
"description": "印刷されたプリントを、VRChatの画像フォルダに保存する",
|
||||
"crop": "自動で写真の外枠 (白い部分) をトリミングする",
|
||||
"crop": "自動でプリントの外枠 (白い部分) をトリミングする",
|
||||
"crop_convert_old": "今までに保存したプリントすべてにも、トリミングを実行しますか?",
|
||||
"crop_convert_old_confirm": "はい",
|
||||
"crop_convert_old_cancel": "いいえ"
|
||||
@@ -593,8 +613,8 @@
|
||||
"delete_all_screenshot_metadata": {
|
||||
"button": "スクリーンショットのメタデータを削除",
|
||||
"ask": "VRChatの写真フォルダ内の全てのVRC & VRCXスクリーンショットメタデータを本当に削除しますか?",
|
||||
"confirm": "全てのスクリーンショットメタデータを削除する操作は元に戻せません!プリント、サブフォルダ、その他無関係な画像も含まれます。大切な写真がある場合は続行前にバックアップしてください。",
|
||||
"confirm_yes": "はい",
|
||||
"confirm": "全てのスクリーンショットメタデータを削除する操作は元に戻せません!プリント、サブフォルダ、その他無関係な画像も含まれます。大切な写真がある場合は、削除する前にバックアップしてください。",
|
||||
"confirm_yes": "削除する",
|
||||
"confirm_no": "いいえ"
|
||||
},
|
||||
"remote_database": {
|
||||
@@ -606,7 +626,7 @@
|
||||
"header": "YouTube API",
|
||||
"enable": "有効化する",
|
||||
"youtube_api_key": "YouTube APIキー",
|
||||
"enable_tooltip": "ゲームログに表示する動画のタイトルと、オーバーレイに表示する動画の長さを取得します。"
|
||||
"enable_tooltip": "ゲームログに表示する動画のタイトルと、動画の時間(長さ)を取得します。"
|
||||
},
|
||||
"video_progress_pie": {
|
||||
"header": "動画のプログレスをオーバーレイ表示",
|
||||
@@ -617,9 +637,9 @@
|
||||
"launch_commands": {
|
||||
"header": "VRCXの起動コマンド (Deep Links)",
|
||||
"docs": "起動コマンドドキュメント",
|
||||
"show_confirmation_on_switch_avatar_enable": "アバターの切り替え時に確認ダイアログを表示",
|
||||
"show_confirmation_on_switch_avatar_enable": "アバターの切り替え時に、確認ダイアログを表示",
|
||||
"show_confirmation_on_switch_avatar_tooltip": "無効の場合、アバターの切り替え時にVRCXが確認を求める事はありません。",
|
||||
"website_userscript": "VRC WebサイトUserscript"
|
||||
"website_userscript": "VRC Webサイト Userscript"
|
||||
},
|
||||
"screenshot_helper": {
|
||||
"header": "スクリーンショット ヘルパー",
|
||||
@@ -737,8 +757,8 @@
|
||||
"pronouns": "代名詞",
|
||||
"tags": {
|
||||
"friend_no": "フレンド No.{number}",
|
||||
"vrchat_team": "VRChatの運営",
|
||||
"18_plus_verified": "18+認証済み",
|
||||
"vrchat_team": "VRChat 開発チーム",
|
||||
"18_plus_verified": "18歳以上確認済み",
|
||||
"age_verified": "年齢認証済み"
|
||||
},
|
||||
"badges": {
|
||||
@@ -756,9 +776,9 @@
|
||||
"request_invite": "招待リクエストを送信",
|
||||
"request_invite_with_message": "メッセージ付き招待リクエストを送信",
|
||||
"invite_to_group": "グループに招待",
|
||||
"group_moderation": "グループモデレーション",
|
||||
"group_moderation": "グループの管理",
|
||||
"send_boop": "Boopを送信",
|
||||
"manage_gallery_inventory_icon": "ギャラリー/アイコンを管理",
|
||||
"manage_gallery_inventory_icon": "ギャラリー/インベントリを管理",
|
||||
"accept_friend_request": "フレンドリクエストを許可",
|
||||
"decline_friend_request": "フレンドリクエストを拒否",
|
||||
"cancel_friend_request": "フレンドリクエストをキャンセル",
|
||||
@@ -844,7 +864,7 @@
|
||||
"exit_edit_mode": "編集モード終了",
|
||||
"hold_shift": "Shiftキーを押し続けることで、確認なしに終了できます",
|
||||
"own_groups": "自分のグループ",
|
||||
"mutual_groups": "共通グループ",
|
||||
"mutual_groups": "共通のグループ",
|
||||
"groups": "グループ",
|
||||
"sorting": {
|
||||
"alphabetical": "アルファベット順",
|
||||
@@ -924,7 +944,7 @@
|
||||
"change_warnings_settings_tags": "コンテンツ警告・設定・タグを変更",
|
||||
"change_image": "画像を変更",
|
||||
"change_allowed_video_player_domains": "許可されたビデオプレーヤードメインを変更する",
|
||||
"download_package": "Unity Packageをダウンロード",
|
||||
"download_package": "Unitypackageをダウンロード",
|
||||
"publish_to_labs": "ラボに公開",
|
||||
"unpublish": "非公開化",
|
||||
"delete_persistent_data": "ユーザーデータをリセット",
|
||||
@@ -1054,8 +1074,8 @@
|
||||
"subscribed": "お知らせ受信可能"
|
||||
},
|
||||
"actions": {
|
||||
"represent_tooltip": "ネームプレートに表示",
|
||||
"unrepresent_tooltip": "ネームプレートから外す",
|
||||
"represent_tooltip": "ネームプレートに掲示",
|
||||
"unrepresent_tooltip": "ネームプレートの掲示をやめる",
|
||||
"cancel_join_request_tooltip": "参加リクエストをキャンセル",
|
||||
"pending_request_tooltip": "保留中の招待",
|
||||
"request_join_tooltip": "参加リクエストを送信",
|
||||
@@ -1064,7 +1084,7 @@
|
||||
"refresh": "更新",
|
||||
"share": "共有",
|
||||
"unsubscribe": "お知らせの受信を停止",
|
||||
"subscribe": "お知らせを受信可能に設定",
|
||||
"subscribe": "お知らせを受け取る",
|
||||
"invite_to_group": "グループに招待",
|
||||
"manage_selected": "選択したグループを管理",
|
||||
"select_all": "全て選択",
|
||||
@@ -1098,7 +1118,7 @@
|
||||
"role_updated_at": "更新日:",
|
||||
"role_created_at": "作成日:",
|
||||
"role_permissions": "権限:",
|
||||
"last_visited": "最終訪問"
|
||||
"last_visited": "最後に訪問した日時"
|
||||
},
|
||||
"posts": {
|
||||
"header": "投稿",
|
||||
@@ -1511,7 +1531,7 @@
|
||||
"emoji_loop_pingpong": "Loop PingPong",
|
||||
"flipbook_info": "アニメーション絵文字として使用する1024x1024pxのPNGスプライトシート画像を選択 (最大 64FPS)",
|
||||
"note": "ノート",
|
||||
"crop_print_border": "プリントの枠をトリミング",
|
||||
"crop_print_border": "プリントの外枠をトリミング",
|
||||
"consume_bundle": "バンドルを消費"
|
||||
},
|
||||
"change_content_image": {
|
||||
@@ -1554,7 +1574,7 @@
|
||||
"ok": "OK"
|
||||
},
|
||||
"screenshot_metadata": {
|
||||
"header": "スクリーンショットのメタデータ",
|
||||
"header": "スクリーンショットの管理",
|
||||
"drag": "画像をここにドラッグ",
|
||||
"browse": "参照",
|
||||
"last_screenshot": "最後に見た画像",
|
||||
@@ -1656,13 +1676,26 @@
|
||||
"save": "保存"
|
||||
},
|
||||
"group_calendar": {
|
||||
"header": "グループカレンダー"
|
||||
"header": "グループカレンダー",
|
||||
"list_view": "リスト表示",
|
||||
"calendar_view": "カレンダー表示",
|
||||
"no_events": "イベントが見つかりません",
|
||||
"search_placeholder": "グループまたはイベントを検索...",
|
||||
"search_no_matching": "一致するイベントが見つかりません",
|
||||
"search_no_this_month": "今月のイベントはありません",
|
||||
"event_card": {
|
||||
"category": "カテゴリ",
|
||||
"interested_user": "興味のあるユーザー",
|
||||
"close_time": "終了後にインスタンスを閉じる時間",
|
||||
"created": "イベント作成日",
|
||||
"description": "このイベントについて"
|
||||
}
|
||||
},
|
||||
"moderate_group": {
|
||||
"header": "グループメンバーを管理",
|
||||
"choose_group_placeholder": "グループを選択",
|
||||
"groups_with_moderation_permission": "モデレーション権限のあるグループ",
|
||||
"moderation_tools": "モデレーションツール"
|
||||
"moderation_tools": "選択したグループの管理"
|
||||
}
|
||||
},
|
||||
"confirm": {
|
||||
@@ -2029,7 +2062,7 @@
|
||||
"joinCount": "Joinした回数",
|
||||
"timeTogether": "一緒に居た時間",
|
||||
"lastSeen": "最後に見た日時",
|
||||
"lastActivity": "最終活動時間",
|
||||
"lastActivity": "最後に活動した時間",
|
||||
"lastLogin": "最後のログイン",
|
||||
"dateJoined": "参加日時",
|
||||
"unfriend": "フレンド解除"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div id="chart" class="x-container" v-show="isShowToolsTab">
|
||||
<div class="options-container" style="margin-top: 0">
|
||||
<span class="header">Tools</span>
|
||||
<span class="header">{{ t('view.tools.header') }}</span>
|
||||
|
||||
<div class="tool-categories">
|
||||
<div class="tool-category">
|
||||
@@ -9,7 +9,7 @@
|
||||
<el-icon class="rotation-transition" :class="{ 'is-rotated': !categoryCollapsed['group'] }"
|
||||
><ArrowRight
|
||||
/></el-icon>
|
||||
<span class="category-title">Group</span>
|
||||
<span class="category-title">{{ t('view.tools.group.header') }}</span>
|
||||
</div>
|
||||
<div class="tools-grid" v-show="!categoryCollapsed['group']">
|
||||
<el-card :body-style="{ padding: '0px' }" class="tool-card">
|
||||
@@ -18,8 +18,8 @@
|
||||
<i class="ri-calendar-event-line"></i>
|
||||
</div>
|
||||
<div class="tool-info">
|
||||
<div class="tool-name">Calendar</div>
|
||||
<div class="tool-description">Group Events Calendar</div>
|
||||
<div class="tool-name">{{ t('view.tools.group.calendar') }}</div>
|
||||
<div class="tool-description">{{ t('view.tools.group.calendar_description') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -31,7 +31,7 @@
|
||||
<el-icon class="rotation-transition" :class="{ 'is-rotated': !categoryCollapsed['image'] }"
|
||||
><ArrowRight
|
||||
/></el-icon>
|
||||
<span class="category-title">Image</span>
|
||||
<span class="category-title">{{ t('view.tools.image.header') }}</span>
|
||||
</div>
|
||||
<div class="tools-grid" v-show="!categoryCollapsed['image']">
|
||||
<el-card :body-style="{ padding: '0px' }" class="tool-card">
|
||||
@@ -40,8 +40,8 @@
|
||||
<i class="ri-screenshot-2-line"></i>
|
||||
</div>
|
||||
<div class="tool-info">
|
||||
<div class="tool-name">Screenshot Management</div>
|
||||
<div class="tool-description">Manage screenshots and view metadata</div>
|
||||
<div class="tool-name">{{ t('view.tools.image.screenshot') }}</div>
|
||||
<div class="tool-description">{{ t('view.tools.image.screenshot_description') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -51,8 +51,8 @@
|
||||
<i class="ri-multi-image-line"></i>
|
||||
</div>
|
||||
<div class="tool-info">
|
||||
<div class="tool-name">VRC+ Images & Inventory Management</div>
|
||||
<div class="tool-description">Manage VRC+ Images & Inventory</div>
|
||||
<div class="tool-name">{{ t('view.tools.image.inventory') }}</div>
|
||||
<div class="tool-description">{{ t('view.tools.image.inventory_description') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -64,7 +64,7 @@
|
||||
<el-icon class="rotation-transition" :class="{ 'is-rotated': !categoryCollapsed['user'] }"
|
||||
><ArrowRight
|
||||
/></el-icon>
|
||||
<span class="category-title">User</span>
|
||||
<span class="category-title">{{ t('view.tools.user.header') }}</span>
|
||||
</div>
|
||||
<div class="tools-grid" v-show="!categoryCollapsed['user']">
|
||||
<el-card :body-style="{ padding: '0px' }" class="tool-card">
|
||||
@@ -73,8 +73,8 @@
|
||||
<i class="ri-user-shared-line"></i>
|
||||
</div>
|
||||
<div class="tool-info">
|
||||
<div class="tool-name">Export User Notes</div>
|
||||
<div class="tool-description">Export VRCX user memos to VRChat notes</div>
|
||||
<div class="tool-name">{{ t('view.tools.user.export_notes') }}</div>
|
||||
<div class="tool-description">{{ t('view.tools.user.export_notes_description') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -100,6 +100,7 @@
|
||||
<script setup>
|
||||
import { ArrowRight } from '@element-plus/icons-vue';
|
||||
import { ref, defineAsyncComponent, computed } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useUiStore, useGalleryStore } from '../../stores';
|
||||
|
||||
@@ -108,6 +109,8 @@
|
||||
const NoteExportDialog = defineAsyncComponent(() => import('./dialogs/NoteExportDialog.vue'));
|
||||
const GalleryDialog = defineAsyncComponent(() => import('./dialogs/GalleryDialog.vue'));
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const uiStore = useUiStore();
|
||||
const { showGalleryDialog } = useGalleryStore();
|
||||
const { menuActiveIndex } = storeToRefs(uiStore);
|
||||
|
||||
@@ -14,19 +14,21 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<el-descriptions-item label="Category">{{
|
||||
capitalizeFirst(event.category)
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="Interested User">
|
||||
<el-descriptions-item :label="t('dialog.group_calendar.event_card.category')">
|
||||
{{ capitalizeFirst(event.category) }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('dialog.group_calendar.event_card.interested_user')">
|
||||
{{ event.interestedUserCount }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="Close Instance After End">
|
||||
<el-descriptions-item :label="t('dialog.group_calendar.event_card.close_time')">
|
||||
{{ event.closeInstanceAfterEndMinutes + ' min' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="Created Date">{{
|
||||
dayjs(event.createdAt).format('YYYY-MM-DD HH:mm')
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="Description">{{ event.description }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('dialog.group_calendar.event_card.created')">
|
||||
{{ dayjs(event.createdAt).format('YYYY-MM-DD HH:mm') }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('dialog.group_calendar.event_card.description')">
|
||||
{{ event.description }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<template #reference>
|
||||
<div class="event-title-content" @click="onGroupClick">
|
||||
@@ -53,9 +55,11 @@
|
||||
<script setup>
|
||||
import { Check } from '@element-plus/icons-vue';
|
||||
import { computed } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import dayjs from 'dayjs';
|
||||
import { useGroupStore } from '../../../stores';
|
||||
|
||||
const { t } = useI18n();
|
||||
const { cachedGroups, showGroupDialog } = useGroupStore();
|
||||
|
||||
const props = defineProps({
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
class="x-dialog"
|
||||
:model-value="visible"
|
||||
:title="t('dialog.group_calendar.header')"
|
||||
:show-close="false"
|
||||
width="90vw"
|
||||
height="80vh"
|
||||
@close="closeDialog">
|
||||
@@ -11,7 +10,7 @@
|
||||
<div class="dialog-title-container">
|
||||
<span>{{ t('dialog.group_calendar.header') }}</span>
|
||||
<el-button @click="toggleViewMode" type="primary" size="small" class="view-toggle-btn">
|
||||
{{ viewMode === 'timeline' ? 'List View' : 'Calendar View' }}
|
||||
{{ viewMode === 'timeline' ? t('dialog.group_calendar.list_view') : t('dialog.group_calendar.calendar_view') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@@ -36,7 +35,7 @@
|
||||
</div>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
<div v-else>No events found</div>
|
||||
<div v-else>{{ t('dialog.group_calendar.no_events') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="calendar-container">
|
||||
@@ -69,7 +68,7 @@
|
||||
<div class="search-container">
|
||||
<el-input
|
||||
v-model="searchQuery"
|
||||
placeholder="Search groups or events..."
|
||||
:placeholder="t('dialog.group_calendar.search_placeholder')"
|
||||
clearable
|
||||
size="small"
|
||||
prefix-:icon="Search"
|
||||
@@ -99,7 +98,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="no-events">
|
||||
{{ searchQuery ? 'No matching events found' : 'No events this month' }}
|
||||
{{ searchQuery ? t('dialog.group_calendar.search_no_matching') : t('dialog.group_calendar.search_no_this_month') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user