Skip to content

Commit

Permalink
enhance: 初期設定とチュートリアルを統合 (misskey-dev#12141)
Browse files Browse the repository at this point in the history
* better onboarding experience

* enhance: iroiro

* (add) title

* (enhance) 戻る・次へボタンを全ページでstickyに

* fix merging

* (add) iroiro

* remove unnecessary file

* Update CHANGELOG.md

* tweak texts

* (fix) reactionViewer mock

* change strings

* Update MkTutorialDialog.Note.vue

* Update ja-JP.yml

* (fix) reactionViewer error

* (fix) path

* refactor

* fix

* Update MkPostForm.vue

* Update ja-JP.yml

* Update ja-JP.yml

* tweak text

* Update ja-JP.yml

* Update ja-JP.yml

* Update ja-JP.yml

* (add) achivement

* (add) もう一度見れますよメッセージを追加

* Revert "feat: レジストリAPIをサードパーティから利用可能に (misskey-dev#12229)"

This reverts commit 7934627.

* Revert "(add) もう一度見れますよメッセージを追加"

This reverts commit 6123b35.

* Revert "Revert "feat: レジストリAPIをサードパーティから利用可能に (misskey-dev#12229)""

This reverts commit bae684e.

* tweak

---------

Co-authored-by: syuilo <[email protected]>
  • Loading branch information
2 people authored and kanarikanaru committed Nov 9, 2023
1 parent 729282e commit 9028e49
Show file tree
Hide file tree
Showing 24 changed files with 1,220 additions and 249 deletions.
98 changes: 86 additions & 12 deletions locales/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1178,10 +1178,91 @@ export interface Locale {
"pushNotificationDescription": string;
"initialAccountSettingCompleted": string;
"haveFun": string;
"ifYouNeedLearnMore": string;
"youCanContinueTutorial": string;
"startTutorial": string;
"skipAreYouSure": string;
"laterAreYouSure": string;
};
"_initialTutorial": {
"launchTutorial": string;
"title": string;
"wellDone": string;
"skipAreYouSure": string;
"_landing": {
"title": string;
"description": string;
};
"_note": {
"title": string;
"description": string;
"reply": string;
"renote": string;
"reaction": string;
"menu": string;
};
"_reaction": {
"title": string;
"description": string;
"letsTryReacting": string;
"reactToContinue": string;
"reactNotification": string;
"reactDone": string;
};
"_timeline": {
"title": string;
"description1": string;
"home": string;
"local": string;
"social": string;
"global": string;
"description2": string;
"description3": string;
};
"_postNote": {
"title": string;
"description1": string;
"_visibility": {
"description": string;
"public": string;
"home": string;
"followers": string;
"direct": string;
"doNotSendConfidencialOnDirect1": string;
"doNotSendConfidencialOnDirect2": string;
"localOnly": string;
};
"_cw": {
"title": string;
"description": string;
"_exampleNote": {
"cw": string;
"note": string;
};
"useCases": string;
};
};
"_howToMakeAttachmentsSensitive": {
"title": string;
"description": string;
"tryThisFile": string;
"_exampleNote": {
"note": string;
};
"method": string;
"sensitiveSucceeded": string;
"doItToContinue": string;
};
"_done": {
"title": string;
"description": string;
};
};
"_timelineDescription": {
"home": string;
"local": string;
"social": string;
"global": string;
};
"_serverRules": {
"description": string;
};
Expand Down Expand Up @@ -1528,6 +1609,10 @@ export interface Locale {
"title": string;
"description": string;
};
"_tutorialCompleted": {
"title": string;
"description": string;
};
};
};
"_role": {
Expand Down Expand Up @@ -1861,17 +1946,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;
Expand Down
88 changes: 75 additions & 13 deletions locales/ja-JP.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1166,7 +1166,7 @@ _announcement:

_initialAccountSetting:
accountCreated: "アカウントの作成が完了しました!"
letsStartAccountSetup: "アカウントの初期設定を行いましょう"
letsStartAccountSetup: "さっそくアカウントの初期設定を行いましょう"
letsFillYourProfile: "まずはあなたのプロフィールを設定しましょう。"
profileSetting: "プロフィール設定"
privacySetting: "プライバシー設定"
Expand All @@ -1176,10 +1176,80 @@ _initialAccountSetting:
pushNotificationDescription: "プッシュ通知を有効にすると{name}の通知をお使いのデバイスで受け取ることができます。"
initialAccountSettingCompleted: "初期設定が完了しました!"
haveFun: "{name}をお楽しみください!"
ifYouNeedLearnMore: "{name}(Misskey)の使い方などを詳しく知るには{link}をご覧ください。"
youCanContinueTutorial: "このまま{name}(Misskey)の使い方についてのチュートリアルに進むこともできますが、ここで中断してすぐに使い始めることもできます。"
startTutorial: "チュートリアルを開始"
skipAreYouSure: "初期設定をスキップしますか?"
laterAreYouSure: "初期設定をあとでやり直しますか?"

_initialTutorial:
launchTutorial: "チュートリアルを見る"
title: "チュートリアル"
wellDone: "よくできました"
skipAreYouSure: "チュートリアルを終了しますか?"
_landing:
title: "チュートリアルへようこそ"
description: "ここでは、Misskeyの基本的な使い方や機能を確認できます。"
_note:
title: "ノートって何?"
description: "Misskeyでの投稿は「ノート」と呼びます。ノートはタイムラインに時系列で並んでいて、リアルタイムで更新されていきます。"
reply: "返信することができます。返信に対しての返信も可能で、スレッドのように会話を続けることもできます。"
renote: "そのノートを自分のタイムラインに流して共有することができます。テキストを追加して引用することも可能です。"
reaction: "リアクションをつけることができます。詳しくは次のページで解説します。"
menu: "ノートの詳細を表示したり、リンクをコピーしたりなどの様々な操作が行えます。"
_reaction:
title: "リアクションって何?"
description: "ノートには「リアクション」をつけることができます。「いいね」では伝わらないニュアンスも、リアクションで簡単・気軽に表現できます。"
letsTryReacting: "リアクションは、ノートの「+」ボタンをクリックするとつけられます。試しにこのサンプルのノートにリアクションをつけてみてください!"
reactToContinue: "リアクションをつけると先に進めるようになります。"
reactNotification: "あなたのノートが誰かにリアクションされると、リアルタイムで通知を受け取ります。"
reactDone: "「ー」ボタンを押すとリアクションを取り消すことができます。"
_timeline:
title: "タイムラインのしくみ"
description1: "Misskeyには、使い方に応じて複数のタイムラインが用意されています(サーバーによってはいずれかが無効になっていることがあります)。"
home: "あなたがフォローしているアカウントの投稿を見られます。"
local: "このサーバーにいるユーザー全員の投稿を見られます。"
social: "ホームタイムラインとローカルタイムラインの投稿が両方表示されます。"
global: "接続している他のすべてのサーバーからの投稿を見られます。"
description2: "それぞれのタイムラインは、画面上部でいつでも切り替えられます。"
description3: "その他にも、リストタイムラインやチャンネルタイムラインなどがあります。詳しくは{link}をご覧ください。"
_postNote:
title: "ノートの投稿設定"
description1: "Misskeyにノートを投稿する際には、様々なオプションの設定が可能です。投稿フォームはこのようになっています。"
_visibility:
description: "ノートを表示できる相手を制限できます。"
public: "すべてのユーザーに公開。"
home: "ホームタイムラインのみに公開。フォロワー・プロフィールを見に来た人・リノートから、他のユーザーも見ることができます。"
followers: "フォロワーにのみ公開。本人以外がリノートすることはできず、またフォロワー以外は閲覧できません。"
direct: "指定したユーザーにのみ公開され、また相手に通知が入ります。ダイレクトメッセージのかわりにお使いいただけます。"
doNotSendConfidencialOnDirect1: "機密情報は送信する際は注意してください。"
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーにダイレクト投稿を送信する場合は、機密情報の扱いに注意が必要です。"
localOnly: "他のサーバーに投稿を連合しません。上記の公開範囲に関わらず、他のサーバーのユーザーは、この設定がついたノートを直接閲覧することができなくなります。"
_cw:
title: "内容を隠す(CW)"
description: "本文のかわりに「注釈」に書いた内容が表示されます。「もっと見る」を押すと本文が表示されます。"
_exampleNote:
cw: "飯テロ注意"
note: "チョコのかかったドーナツを食べました🍩😋"
useCases: "サーバーのガイドラインにより必要とされるノートに指定したり、ネタバレ投稿やセンシティブな文章を自主規制したりするときに使います。"
_howToMakeAttachmentsSensitive:
title: "添付ファイルをセンシティブにするには?"
description: "サーバーのガイドラインにより必要とされる際や、そのまま見れる状態にしておくべきではない添付ファイルには、「センシティブ」設定を付けます。"
tryThisFile: "試しに、このフォームに添付された画像をセンシティブにしてみてください!"
_exampleNote:
note: "納豆のフタ開けるのミスったわね…"
method: "添付ファイルをセンシティブにする際は、そのファイルをクリックしてメニューを開き、「センシティブとして設定」をクリックします。"
sensitiveSucceeded: "ファイルを添付する際は、サーバーのガイドラインに従ってセンシティブを適切に設定してください。"
doItToContinue: "画像をセンシティブに設定すると先に進めるようになります。"
_done:
title: "チュートリアルは終了です🎉"
description: "ここで紹介した機能はほんの一部にすぎません。Misskeyの使い方をより詳しく知るには、{link}をご覧ください。"

_timelineDescription:
home: "ホームタイムラインでは、あなたがフォローしているアカウントの投稿を見られます。"
local: "ローカルタイムラインでは、このサーバーにいるユーザー全員の投稿を見られます。"
social: "ソーシャルタイムラインには、ホームタイムラインとローカルタイムラインの投稿が両方表示されます。"
global: "グローバルタイムラインでは、接続している他のすべてのサーバーからの投稿を見られます。"

_serverRules:
description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。"

Expand Down Expand Up @@ -1451,6 +1521,9 @@ _achievements:
_smashTestNotificationButton:
title: "テスト過剰"
description: "通知のテストをごく短時間のうちに連続して行った"
_tutorialCompleted:
title: "Misskey初心者講座 修了証"
description: "チュートリアルを完了した"

_role:
new: "ロールの作成"
Expand Down Expand Up @@ -1778,17 +1851,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: "認証アプリの設定を開始"
Expand Down
1 change: 1 addition & 0 deletions packages/backend/src/core/AchievementService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ export const ACHIEVEMENT_TYPES = [
'cookieClicked',
'brainDiver',
'smashTestNotificationButton',
'tutorialCompleted',
] as const;

@Injectable()
Expand Down
Binary file added packages/frontend/assets/tutorial/ai.webp
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 19 additions & 1 deletion packages/frontend/src/components/MkInfo.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="[$style.root, { [$style.warn]: warn }]">
<i v-if="warn" class="ti ti-alert-triangle" :class="$style.i"></i>
<i v-else class="ti ti-info-circle" :class="$style.i"></i>
<slot></slot>
<div><slot></slot></div>
<button v-if="closable" :class="$style.button" class="_button" @click="close()"><i class="ti ti-x"></i></button>
</div>
</template>

Expand All @@ -16,11 +17,23 @@ import { } from 'vue';

const props = defineProps<{
warn?: boolean;
closable?: boolean;
}>();

const emit = defineEmits<{
(ev: 'close'): void;
}>();

function close() {
// こいつの中では非表示動作は行わない
emit('close');
}
</script>

<style lang="scss" module>
.root {
display: flex;
align-items: center;
padding: 12px 14px;
font-size: 90%;
background: var(--infoBg);
Expand All @@ -37,4 +50,9 @@ const props = defineProps<{
.i {
margin-right: 4px;
}

.button {
margin-left: auto;
padding: 4px;
}
</style>
Loading

0 comments on commit 9028e49

Please sign in to comment.