diff --git a/locales/index.d.ts b/locales/index.d.ts index bfe25c94a7..c291ab87b7 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -1174,10 +1174,46 @@ export interface Locale { "pushNotificationDescription": string; "initialAccountSettingCompleted": string; "haveFun": string; - "ifYouNeedLearnMore": string; + "youCanContinueTutorial": string; + "startTutorial": string; "skipAreYouSure": string; "laterAreYouSure": string; }; + "_initialTutorial": { + "title": string; + "wellDone": string; + "_note": { + "description": string; + "date": string; + "reply": string; + "renote": string; + "reaction": string; + "howToNote": string; + }; + "_reaction": { + "description": string; + "letsTryReacting": string; + "reactDone": string; + }; + "_timeline": { + "description1": string; + "home": string; + "local": string; + "social": string; + "global": string; + "description2": string; + }; + "_done": { + "title": string; + "description": string; + }; + }; + "_timelineDescription": { + "home": string; + "local": string; + "social": string; + "global": string; + }; "_serverRules": { "description": string; }; @@ -1851,17 +1887,6 @@ export interface Locale { "hour": string; "day": string; }; - "_timelineTutorial": { - "title": string; - "step1_1": string; - "step1_2": string; - "step2_1": string; - "step2_2": string; - "step3_1": string; - "step3_2": string; - "step4_1": string; - "step4_2": string; - }; "_2fa": { "alreadyRegistered": string; "registerTOTP": string; diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 2b475e2134..be24416ae9 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1172,10 +1172,42 @@ _initialAccountSetting: pushNotificationDescription: "プッシュ通知を有効にすると{name}の通知をお使いのデバイスで受け取ることができます。" initialAccountSettingCompleted: "初期設定が完了しました!" haveFun: "{name}をお楽しみください!" - ifYouNeedLearnMore: "{name}(Misskey)の使い方などを詳しく知るには{link}をご覧ください。" + youCanContinueTutorial: "このまま{name}(Misskey)の使い方についてのチュートリアルに進むこともできますが、ここで中断してすぐに使い始めることもできます。" + startTutorial: "チュートリアルを開始" skipAreYouSure: "初期設定をスキップしますか?" laterAreYouSure: "初期設定をあとでやり直しますか?" +_initialTutorial: + title: "チュートリアル" + wellDone: "お見事!" + _note: + description: "Misskeyでの投稿は「ノート」と呼びます。ノートはタイムラインに時系列で並んでいて、リアルタイムで更新されていきます。" + date: "日付をクリックすることで、ノートの詳細ページに移動することができます。" + reply: "このボタンから返信できます。もちろん返信に返信することもできるので、気が済むまで会話を続けることができます。" + renote: "このボタンを押すと、このノートを自分のタイムラインに投稿することができます。引用リノートも可能です。" + reaction: "リアクションをつけることができます。詳しくは次のページで解説します。" + howToNote: "ノートは、下のようなボタンから簡単に行なえます。チュートリアルが終わったら早速やってみてくださいね!" + _reaction: + description: "ノートには「リアクション」をつけることができます。「いいね」では伝わらないニュアンスも、リアクションで簡単・気軽に表現できます。" + letsTryReacting: "リアクションは、ノートの「+」ボタンをクリックするとつけられます。試しにこのノートに好きなリアクションをつけてみましょう!" + reactDone: "リアクションを外すときは、「ー」ボタンを押します。実際に試してみてくださいね。" + _timeline: + description1: "Misskeyには、使い方に応じて複数のタイムラインが用意されています(サーバーによってはいずれかが無効になっていることがあります)。" + home: "あなたがフォローしているアカウントの投稿を見られます。" + local: "このサーバーにいるユーザー全員の投稿を見られます。" + social: "ホームタイムラインとローカルタイムラインの投稿が両方表示されます。" + global: "接続している他のすべてのサーバーからの投稿を見られます。" + description2: "その他にも、リストタイムラインやチャンネルタイムラインなどがあります。詳しくは{link}をご覧ください。" + _done: + title: "チュートリアルは終了です🎉" + description: "ここで紹介した機能は、ほんの一部です!Misskeyの使い方をより詳しく知るには、{link}をご覧ください。" + +_timelineDescription: + home: "ホームタイムラインでは、あなたがフォローしているアカウントの投稿を見られます。" + local: "ローカルタイムラインでは、このサーバーにいるユーザー全員の投稿を見られます。" + social: "ソーシャルタイムラインには、ホームタイムラインとローカルタイムラインの投稿が両方表示されます。" + global: "グローバルタイムラインでは、接続している他のすべてのサーバーからの投稿を見られます。" + _serverRules: description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。" @@ -1768,17 +1800,6 @@ _time: hour: "時間" day: "日" -_timelineTutorial: - title: "Misskeyの使い方" - step1_1: "この画面は「タイムライン」です。{name}に投稿された「ノート」が時系列で表示されます。" - step1_2: "タイムラインにはいくつか種類があり、例えば「ホームタイムライン」にはあなたがフォローしている人のノートが流れ、「ローカルタイムライン」には{name}全体のノートが流れます。" - step2_1: "試しに、何かノートを投稿してみましょう。画面上にある鉛筆マークのボタンを押すとフォームが開きます。" - step2_2: "初めてのノートの内容は、あなたの自己紹介や「{name}始めました」などがおすすめです。" - step3_1: "投稿できましたか?" - step3_2: "あなたのノートがタイムラインに表示されていれば成功です。" - step4_1: "ノートには、「リアクション」を付けることができます。" - step4_2: "リアクションを付けるには、ノートの「+」マークをクリックして、好きな絵文字を選択します。" - _2fa: alreadyRegistered: "既に設定は完了しています。" registerTOTP: "認証アプリの設定を開始" diff --git a/packages/frontend/src/components/MkInfo.vue b/packages/frontend/src/components/MkInfo.vue index 37490887e1..4d139f17f2 100644 --- a/packages/frontend/src/components/MkInfo.vue +++ b/packages/frontend/src/components/MkInfo.vue @@ -8,6 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only + @@ -16,11 +17,23 @@ import { } from 'vue'; const props = defineProps<{ warn?: boolean; + closable?: boolean; }>(); + +const emit = defineEmits<{ + (ev: 'close'): void; +}>(); + +function close() { + // こいつの中では非表示動作は行わない + emit('close'); +} diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 339d2ac71b..32e8c2e924 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -47,9 +47,9 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
- +

@@ -136,7 +136,7 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/components/MkUserSetupDialog.NoteTutorial.vue b/packages/frontend/src/components/MkUserSetupDialog.NoteTutorial.vue new file mode 100644 index 0000000000..dc4f2d2fae --- /dev/null +++ b/packages/frontend/src/components/MkUserSetupDialog.NoteTutorial.vue @@ -0,0 +1,139 @@ + + + + + + + diff --git a/packages/frontend/src/components/MkUserSetupDialog.TimelineTutorial.vue b/packages/frontend/src/components/MkUserSetupDialog.TimelineTutorial.vue new file mode 100644 index 0000000000..14fb135c3c --- /dev/null +++ b/packages/frontend/src/components/MkUserSetupDialog.TimelineTutorial.vue @@ -0,0 +1,77 @@ + + + + + + + diff --git a/packages/frontend/src/components/MkUserSetupDialog.vue b/packages/frontend/src/components/MkUserSetupDialog.vue index d60e01c44d..5f9ffc0a84 100644 --- a/packages/frontend/src/components/MkUserSetupDialog.vue +++ b/packages/frontend/src/components/MkUserSetupDialog.vue @@ -17,10 +17,11 @@ SPDX-License-Identifier: AGPL-3.0-only +

-
+
{{ i18n.ts._initialAccountSetting.initialAccountSettingCompleted }}
- - +
{{ i18n.t('_initialAccountSetting.youCanContinueTutorial', { name: instance.name ?? host }) }}
+
+ {{ i18n.ts._initialAccountSetting.startTutorial }} +
+
+ {{ i18n.ts.goBack }} + {{ i18n.ts.close }} +
+
+ +
+ + + + +