mirror of
https://github.com/multica-ai/multica.git
synced 2026-08-03 19:20:07 +02:00
* feat(views): unify avatar upload with crop editing across web/desktop Add a shared AvatarUploadControl + AvatarCropDialog used by the user, workspace, agent, and squad avatar entry points. Cropping (pan/zoom, fixed 1:1) and compression run client-side on canvas; the existing /api/upload-file + avatar_url chain is reused unchanged (no backend/API/DB changes). This collapses four hand-rolled upload buttons into one control and removes AvatarPicker. Also make the shared display avatar treat all non-human actors (agent, squad, system) as rounded squares — completing the "circles are for humans" convention the editors already assumed, so display and editors agree. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: multica-agent <github@multica.ai> * feat(views): rebuild avatar cropper to the "Edit avatar" reference form Replace the hand-rolled canvas cropper with react-easy-crop to match the requested design: full-bleed image with a dimmed overlay outside a bright crop window, a rotate control, a zoom slider flanked by −/+, and a Reset / Cancel / Save footer. Round window for people, rounded-square for non-human actors; output stays a 512px square (webp, jpeg fallback) through the same upload/avatar_url chain. avatar-crop.ts keeps the encode pipeline and gains rotation-aware getCroppedAvatarBlob; the interactive geometry now lives in react-easy-crop. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: multica-agent <github@multica.ai> * fix(views): round square avatar crop frame --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: multica-agent <github@multica.ai>
64 lines
4.4 KiB
JSON
64 lines
4.4 KiB
JSON
{
|
|
"avatar_upload": {
|
|
"change": "アバターを変更",
|
|
"remove": "削除",
|
|
"select_image": "画像ファイルを選択してください。",
|
|
"updated": "アバターを更新しました",
|
|
"failed": "アバターのアップロードに失敗しました"
|
|
},
|
|
"avatar_crop": {
|
|
"title": "アバターを編集",
|
|
"zoom": "ズーム",
|
|
"zoom_in": "拡大",
|
|
"zoom_out": "縮小",
|
|
"rotate": "回転",
|
|
"reset": "リセット",
|
|
"cancel": "キャンセル",
|
|
"apply": "保存",
|
|
"uploading": "アップロード中…",
|
|
"loading": "読み込み中…",
|
|
"load_failed": "画像を読み込めませんでした"
|
|
},
|
|
"save": "保存",
|
|
"cancel": "キャンセル",
|
|
"delete": "削除",
|
|
"confirm": "確認",
|
|
"loading": "読み込み中...",
|
|
"time": {
|
|
"just_now": "たった今",
|
|
"minutes_ago": "{{count}}分前",
|
|
"hours_ago": "{{count}}時間前",
|
|
"days_ago": "{{count}}日前"
|
|
},
|
|
"lark_bind": {
|
|
"page_title": "Lark アカウントを連携",
|
|
"redeeming": "バインディングトークンを使用しています…",
|
|
"needs_auth_description": "連携を完了するには Multica にログインしてください。リンク内のトークンが Lark アカウントを現在の Multica ユーザーに紐付けるため、先にログインが必要です。",
|
|
"sign_in": "ログイン",
|
|
"done_title": "連携が完了しました。",
|
|
"done_description": "次回 Lark でボットに送ったメッセージは、そのままエージェントに届きます。このタブは閉じても問題ありません。",
|
|
"error_title": "連携を完了できませんでした",
|
|
"error_admin_hint": "問題が続く場合は、ワークスペース管理者に Lark から連携リンクを再送してもらってください。",
|
|
"error_missing_token": "リンクにバインディングトークンが含まれていません。Lark のボットに新しいリンクを送ってもらってください。",
|
|
"error_expired": "この連携リンクは無効か期限切れです(有効期間は 15 分)。ボットに新しいリンクを送ってもらってください。",
|
|
"error_already_bound": "この Lark アカウントはすでに別の Multica ユーザーに連携されています。アカウントを移すには、まず明示的に連携を解除する必要があります。",
|
|
"error_not_member": "現在ログイン中の Multica アカウントは、このワークスペースのメンバーではありません。",
|
|
"error_unknown": "問題が発生しました。もう一度試し、それでも解決しない場合はワークスペース管理者にお問い合わせください。"
|
|
},
|
|
"slack_bind": {
|
|
"page_title": "Slack アカウントを連携",
|
|
"redeeming": "アカウントを連携しています…",
|
|
"needs_auth_description": "連携を完了するには Multica にサインインしてください。リンク内のトークンが、あなたの Slack アカウントをこの Multica ユーザーに紐付けるため、先にログインが必要です。",
|
|
"sign_in": "サインイン",
|
|
"done_title": "連携が完了しました。",
|
|
"done_description": "次に Slack でボットへ送るメッセージは、そのままエージェントに届きます。このタブは閉じて構いません。",
|
|
"error_title": "連携を完了できませんでした",
|
|
"error_admin_hint": "繰り返し発生する場合は、Slack でボットにもう一度メッセージを送って新しいリンクを取得してください。",
|
|
"error_missing_token": "リンクにトークンがありません。Slack でボットにもう一度メッセージを送って新しいリンクを取得してください。",
|
|
"error_expired": "このリンクは無効か期限切れです(有効期限は 15 分)。ボットにもう一度メッセージを送って新しいリンクを取得してください。",
|
|
"error_already_bound": "この Slack アカウントは別の Multica ユーザーに連携済みです。移行するにはまず明示的に解除する必要があります。",
|
|
"error_not_member": "サインインしている Multica アカウントはこのワークスペースのメンバーではありません。",
|
|
"error_unknown": "問題が発生しました。もう一度試し、それでも解決しない場合はワークスペース管理者にお問い合わせください。"
|
|
}
|
|
}
|