From fe01a5a28f34c873019ae3c34086acd6bd791a1d Mon Sep 17 00:00:00 2001 From: おさむのひと <46447427+samunohito@users.noreply.github.com> Date: Sun, 30 Nov 2025 13:27:44 +0900 Subject: refactor: localesをworkspace管理下のパッケージに (#16895) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: localesをworkspace管理下のパッケージに * fix copilot review * move * move * rename * fix ci * revert unwanted indent changes * fix * fix * fix * fix * 間違えてコミットしていたのを戻す * 不要 * 追加漏れ * ymlの場所だけ戻す * localesの位置を戻したのでこの差分は不要 * 内容的にlocalesにある方が正しい * i18nパッケージ用のREADME.mdを用意 * fix locale.yml * fix locale.yml --------- Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> --- packages/i18n/README.md | 5 + packages/i18n/build.ts | 163 + packages/i18n/eslint.config.js | 35 + packages/i18n/package.json | 42 + packages/i18n/scripts/generateLocaleInterface.ts | 153 + packages/i18n/scripts/verify.ts | 70 + packages/i18n/src/autogen/locale.ts | 13085 +++++++++++++++++++++ packages/i18n/src/index.ts | 166 + packages/i18n/src/types.ts | 14 + packages/i18n/tsconfig.eslint.json | 8 + packages/i18n/tsconfig.json | 14 + 11 files changed, 13755 insertions(+) create mode 100644 packages/i18n/README.md create mode 100644 packages/i18n/build.ts create mode 100644 packages/i18n/eslint.config.js create mode 100644 packages/i18n/package.json create mode 100644 packages/i18n/scripts/generateLocaleInterface.ts create mode 100644 packages/i18n/scripts/verify.ts create mode 100644 packages/i18n/src/autogen/locale.ts create mode 100644 packages/i18n/src/index.ts create mode 100644 packages/i18n/src/types.ts create mode 100644 packages/i18n/tsconfig.eslint.json create mode 100644 packages/i18n/tsconfig.json (limited to 'packages/i18n') diff --git a/packages/i18n/README.md b/packages/i18n/README.md new file mode 100644 index 0000000000..1013b84ea6 --- /dev/null +++ b/packages/i18n/README.md @@ -0,0 +1,5 @@ +# Misskey i18n + +Misskey の言語ファイル本体 (ja-JP.yml など) はリポジトリ直下の `/locales` に置かれており、そこから Crowdin 連携やビルド資産が生成されます。 + +このパッケージは Misskey モノレポ内で、これらの言語ファイルを共通で扱うためのヘルパー群や型情報をまとめる位置づけです。バックエンド / フロントエンド / Service Worker など各パッケージが同じ翻訳データと型定義を利用できるようにすることを目的としており、npm での外部配布は想定していません。 diff --git a/packages/i18n/build.ts b/packages/i18n/build.ts new file mode 100644 index 0000000000..a6bbf7dc63 --- /dev/null +++ b/packages/i18n/build.ts @@ -0,0 +1,163 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import fs from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { dirname, resolve } from 'node:path'; +import { watch as chokidarWatch } from 'chokidar'; +import * as esbuild from 'esbuild'; +import { build } from 'esbuild'; +import { execa } from 'execa'; +import { globSync } from 'glob'; +import { generateLocaleInterface } from './scripts/generateLocaleInterface.js'; +import type { BuildOptions, BuildResult, Plugin, PluginBuild } from 'esbuild'; + +const _filename = fileURLToPath(import.meta.url); +const _dirname = dirname(_filename); +const _package = JSON.parse(fs.readFileSync(_dirname + '/package.json', 'utf-8')); +const _rootPackageDir = resolve(_dirname, '../../'); +const _rootPackage = JSON.parse(fs.readFileSync(resolve(_rootPackageDir, 'package.json'), 'utf-8')); +const _frontendLocalesDir = resolve(_dirname, '../../built/_frontend_dist_/locales'); +const _localesDir = resolve(_rootPackageDir, 'locales'); + +const entryPoints = globSync('./src/**/**.{ts,tsx}'); + +const options: BuildOptions = { + entryPoints, + minify: process.env.NODE_ENV === 'production', + sourceRoot: 'src', + outdir: './built', + target: 'es2022', + platform: 'node', + format: 'esm', + sourcemap: 'linked', +}; + +// コマンドライン引数を取得 +const args = process.argv.slice(2).map(arg => arg.toLowerCase()); + +// built配下をすべて削除する +if (!args.includes('--no-clean')) { + fs.rmSync('./built', { recursive: true, force: true }); +} + +if (args.includes('--watch')) { + await watchSrc(); +} else { + await buildSrc(); +} + +function copyLocales(): void { + const srcDir = _localesDir; + const destDir = resolve(_dirname, 'built/locales'); + + fs.mkdirSync(destDir, { recursive: true }); + + const files = fs.readdirSync(srcDir).filter(f => f.endsWith('.yml')); + for (const file of files) { + fs.copyFileSync(resolve(srcDir, file), resolve(destDir, file)); + } + console.log(`[${_package.name}] locales copied (${files.length} files).`); +} + +/** + * フロントエンド用の locale JSON を書き出す + * Service Worker が HTTP 経由で取得するために必要 + */ +async function writeFrontendLocalesJson(): Promise { + // 動的 import でビルド済みモジュールから読み込み(循環参照回避) + const { writeFrontendLocalesJson: write } = await import('./built/index.js'); + await write(_frontendLocalesDir, _rootPackage.version); + console.log(`[${_package.name}] frontend locales JSON written to ${_frontendLocalesDir}`); +} + +async function buildSrc(): Promise { + console.log(`[${_package.name}] start building...`); + + await generateLocaleInterface(_localesDir); + + await build(options) + .then(() => { + console.log(`[${_package.name}] build succeeded.`); + }) + .catch((err) => { + process.stderr.write(err.stderr); + process.exit(1); + }); + + copyLocales(); + await writeFrontendLocalesJson(); + + if (process.env.NODE_ENV === 'production') { + console.log(`[${_package.name}] skip building d.ts because NODE_ENV is production.`); + } else { + await buildDts(); + } + + console.log(`[${_package.name}] finish building.`); +} + +function buildDts(): Promise { + return execa( + 'tsc', + [ + '--project', 'tsconfig.json', + '--rootDir', 'src', + '--outDir', 'built', + '--declaration', 'true', + '--emitDeclarationOnly', 'true', + ], + { + stdout: process.stdout, + stderr: process.stderr, + }, + ); +} + +async function watchSrc(): Promise { + const localesWatcher = chokidarWatch(_localesDir, { + ignoreInitial: true, + }); + localesWatcher.on('all', async (event, path) => { + if (!path.endsWith('.yml')) return; + console.log(`[${_package.name}] locales changed: ${event} ${path}`); + copyLocales(); + await writeFrontendLocalesJson(); + await generateLocaleInterface(_localesDir); + }); + + const plugins: Plugin[] = [{ + name: 'gen-dts', + setup(build: PluginBuild) { + build.onStart(() => { + console.log(`[${_package.name}] detect changed...`); + }); + build.onEnd(async (result: BuildResult) => { + if (result.errors.length > 0) { + console.error(`[${_package.name}] watch build failed:`, result); + return; + } + await buildDts(); + }); + }, + }]; + + console.log(`[${_package.name}] start watching...`); + + const context = await esbuild.context({ ...options, plugins }); + await context.watch(); + + await new Promise((resolve, reject) => { + process.on('SIGHUP', resolve); + process.on('SIGINT', resolve); + process.on('SIGTERM', resolve); + process.on('uncaughtException', reject); + process.on('exit', resolve); + }).finally(async () => { + await context.dispose(); + await localesWatcher.close(); + console.log(`[${_package.name}] finish watching.`); + }); +} diff --git a/packages/i18n/eslint.config.js b/packages/i18n/eslint.config.js new file mode 100644 index 0000000000..f18bc4a4be --- /dev/null +++ b/packages/i18n/eslint.config.js @@ -0,0 +1,35 @@ +import tsParser from '@typescript-eslint/parser'; +import sharedConfig from '../shared/eslint.config.js'; + +// eslint-disable-next-line import/no-default-export +export default [ + ...sharedConfig, + { + ignores: [ + '**/node_modules', + 'built', + 'coverage', + 'vitest.config.ts', + 'test', + 'test-d', + 'generator', + ], + }, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parserOptions: { + parser: tsParser, + project: ['./tsconfig.eslint.json'], + sourceType: 'module', + tsconfigRootDir: import.meta.dirname, + }, + }, + }, + { + files: ['src/autogen/**/*.ts', 'src/autogen/**/*.tsx'], + rules: { + '@stylistic/indent': 'off', + }, + }, +]; diff --git a/packages/i18n/package.json b/packages/i18n/package.json new file mode 100644 index 0000000000..d06e485da0 --- /dev/null +++ b/packages/i18n/package.json @@ -0,0 +1,42 @@ +{ + "name": "i18n", + "type": "module", + "private": true, + "main": "./built/index.js", + "types": "./built/index.d.ts", + "exports": { + ".": { + "types": "./built/index.d.ts", + "import": "./built/index.js" + } + }, + "scripts": { + "generate": "tsx scripts/generateLocaleInterface.ts", + "verify": "tsx scripts/verify.ts", + "build": "tsx ./build.ts", + "watch": "nodemon -w package.json -e json --exec \"tsx ./build.ts --watch\"", + "tsd": "tsd", + "typecheck": "tsc --noEmit", + "lint": "pnpm typecheck && pnpm eslint", + "lint:fix": "pnpm eslint --fix" + }, + "files": [ + "built" + ], + "devDependencies": { + "@types/js-yaml": "4.0.9", + "@types/node": "24.10.1", + "@typescript-eslint/eslint-plugin": "8.47.0", + "@typescript-eslint/parser": "8.47.0", + "chokidar": "4.0.3", + "esbuild": "0.27.0", + "execa": "9.6.0", + "glob": "11.1.0", + "nodemon": "3.1.11", + "tsx": "4.20.6", + "typescript": "5.9.3" + }, + "dependencies": { + "js-yaml": "4.1.1" + } +} diff --git a/packages/i18n/scripts/generateLocaleInterface.ts b/packages/i18n/scripts/generateLocaleInterface.ts new file mode 100644 index 0000000000..1c0f5c6a79 --- /dev/null +++ b/packages/i18n/scripts/generateLocaleInterface.ts @@ -0,0 +1,153 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import * as fs from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { dirname, resolve } from 'node:path'; +import * as yaml from 'js-yaml'; +import ts from 'typescript'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); +const parameterRegExp = /\{(\w+)\}/g; + +interface LocaleRecord { + [key: string]: string | LocaleRecord; +} + +function createMemberType(item: string | LocaleRecord): ts.TypeNode { + if (typeof item !== 'string') { + return ts.factory.createTypeLiteralNode(createMembers(item)); + } + const parameters = Array.from( + item.matchAll(parameterRegExp), + ([, parameter]) => parameter, + ); + return parameters.length + ? ts.factory.createTypeReferenceNode( + ts.factory.createIdentifier('ParameterizedString'), + [ + ts.factory.createUnionTypeNode( + parameters.map((parameter) => + ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(parameter)), + ), + ), + ], + ) + : ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword); +} + +function createMembers(record: LocaleRecord): ts.TypeElement[] { + return Object.entries(record).map(([k, v]) => { + const node = ts.factory.createPropertySignature( + undefined, + ts.factory.createStringLiteral(k), + undefined, + createMemberType(v), + ); + if (typeof v === 'string') { + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + `* + * ${v.replace(/\n/g, '\n * ')} + `, + true, + ); + } + return node; + }); +} + +export async function generateLocaleInterface(localesDir: string): Promise { + const locale = yaml.load(fs.readFileSync(`${localesDir}/ja-JP.yml`, 'utf-8').toString()) as LocaleRecord; + const members = createMembers(locale); + + const elements: ts.Statement[] = [ + ts.factory.createImportDeclaration( + undefined, + ts.factory.createImportClause( + false, + undefined, + ts.factory.createNamedImports([ + ts.factory.createImportSpecifier( + true, + undefined, + ts.factory.createIdentifier('ILocale'), + ), + ts.factory.createImportSpecifier( + true, + undefined, + ts.factory.createIdentifier('ParameterizedString'), + ), + ]), + ), + ts.factory.createStringLiteral('../types.js'), + undefined, + ), + ts.factory.createInterfaceDeclaration( + [ts.factory.createToken(ts.SyntaxKind.ExportKeyword)], + ts.factory.createIdentifier('Locale'), + undefined, + [ + ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [ + ts.factory.createExpressionWithTypeArguments( + ts.factory.createIdentifier('ILocale'), + undefined, + ), + ]), + ], + members, + ), + ]; + + ts.addSyntheticLeadingComment( + elements[0], + ts.SyntaxKind.MultiLineCommentTrivia, + ' eslint-disable ', + true, + ); + ts.addSyntheticLeadingComment( + elements[0], + ts.SyntaxKind.SingleLineCommentTrivia, + ' This file is generated by scripts/generateLocaleInterface.ts', + true, + ); + ts.addSyntheticLeadingComment( + elements[0], + ts.SyntaxKind.SingleLineCommentTrivia, + ' Do not edit this file directly.', + true, + ); + + const printed = ts + .createPrinter({ + newLine: ts.NewLineKind.LineFeed, + }) + .printList( + ts.ListFormat.MultiLine, + ts.factory.createNodeArray(elements), + ts.createSourceFile( + 'locale.ts', + '', + ts.ScriptTarget.ESNext, + true, + ts.ScriptKind.TS, + ), + ); + + const autogenDir = `${__dirname}/../src/autogen`; + fs.mkdirSync(autogenDir, { recursive: true }); + + // 一瞬ファイルが存在しなくなって途切れる→不安定になるらしいので、リネームで対処 + fs.writeFileSync(`${autogenDir}/_locale.ts`, printed, 'utf-8'); + fs.renameSync(`${autogenDir}/_locale.ts`, `${autogenDir}/locale.ts`); +} + +// スクリプトとして直接実行された場合 +const isMain = import.meta.url === `file://${process.argv[1]}`; +if (isMain) { + await generateLocaleInterface(resolve(__dirname, '../../../locales')); +} diff --git a/packages/i18n/scripts/verify.ts b/packages/i18n/scripts/verify.ts new file mode 100644 index 0000000000..877966e49f --- /dev/null +++ b/packages/i18n/scripts/verify.ts @@ -0,0 +1,70 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +let valid = true; + +interface LocaleRecord { + [key: string]: string | LocaleRecord; +} + +interface ErrorData { + expected?: string; + actual?: string; + parameter?: string; +} + +function writeError(type: string, lang: string, tree: string, data: ErrorData): void { + process.stderr.write(JSON.stringify({ type, lang, tree, data })); + process.stderr.write('\n'); + valid = false; +} + +function verify(expected: LocaleRecord, actual: LocaleRecord, lang: string, trace?: string): void { + for (const key in expected) { + if (!Object.prototype.hasOwnProperty.call(actual, key)) { + continue; + } + if (typeof expected[key] === 'object') { + if (typeof actual[key] !== 'object') { + writeError('mismatched_type', lang, trace ? `${trace}.${key}` : key, { expected: 'object', actual: typeof actual[key] }); + continue; + } + verify(expected[key] as LocaleRecord, actual[key] as LocaleRecord, lang, trace ? `${trace}.${key}` : key); + } else if (typeof expected[key] === 'string') { + switch (typeof actual[key]) { + case 'object': + writeError('mismatched_type', lang, trace ? `${trace}.${key}` : key, { expected: 'string', actual: 'object' }); + break; + case 'undefined': + continue; + case 'string': { + const expectedParameters = new Set((expected[key] as string).match(/\{[^}]+\}/g)?.map((s) => s.slice(1, -1))); + const actualParameters = new Set((actual[key] as string).match(/\{[^}]+\}/g)?.map((s) => s.slice(1, -1))); + for (const parameter of expectedParameters) { + if (!actualParameters.has(parameter)) { + writeError('missing_parameter', lang, trace ? `${trace}.${key}` : key, { parameter }); + } + } + } + } + } + } +} + +// index.tsはtsのまま動かすことを想定していない(ビルド成果物を外部に公開する). +// よってビルド後のものを検証する +const locales = await import('../built/index.js'); +const { 'ja-JP': original, ...verifiees } = locales as unknown as Record; + +for (const lang in verifiees) { + if (!Object.prototype.hasOwnProperty.call(locales, lang)) { + continue; + } + verify(original, verifiees[lang], lang); +} + +if (!valid) { + process.exit(1); +} diff --git a/packages/i18n/src/autogen/locale.ts b/packages/i18n/src/autogen/locale.ts new file mode 100644 index 0000000000..8f94aab555 --- /dev/null +++ b/packages/i18n/src/autogen/locale.ts @@ -0,0 +1,13085 @@ +/* eslint-disable */ +// This file is generated by scripts/generateLocaleInterface.ts +// Do not edit this file directly. +import { type ILocale, type ParameterizedString } from "../types.js"; +export interface Locale extends ILocale { + /** + * 日本語 + */ + "_lang_": string; + /** + * ノートでつながるネットワーク + */ + "headlineMisskey": string; + /** + * ようこそ!Misskeyは、オープンソースの分散型マイクロブログサービスです。 + * 「ノート」を作成して、いま起こっていることを共有したり、あなたについて皆に発信しよう📡 + * 「リアクション」機能で、皆のノートに素早く反応を追加することもできます👍 + * 新しい世界を探検しよう🚀 + */ + "introMisskey": string; + /** + * {name}は、オープンソースのプラットフォームMisskeyのサーバーのひとつです。 + */ + "poweredByMisskeyDescription": ParameterizedString<"name">; + /** + * {month}月 {day}日 + */ + "monthAndDay": ParameterizedString<"month" | "day">; + /** + * 検索 + */ + "search": string; + /** + * リセット + */ + "reset": string; + /** + * 通知 + */ + "notifications": string; + /** + * ユーザー名 + */ + "username": string; + /** + * パスワード + */ + "password": string; + /** + * 初期設定開始用パスワード + */ + "initialPasswordForSetup": string; + /** + * 初期設定開始用のパスワードが違います。 + */ + "initialPasswordIsIncorrect": string; + /** + * Misskeyを自分でインストールした場合は、設定ファイルに入力したパスワードを使用してください。 + * Misskeyのホスティングサービスなどを使用している場合は、提供されたパスワードを使用してください。 + * パスワードを設定していない場合は、空欄にしたまま続行してください。 + */ + "initialPasswordForSetupDescription": string; + /** + * パスワードを忘れた + */ + "forgotPassword": string; + /** + * 連合に照会中 + */ + "fetchingAsApObject": string; + /** + * OK + */ + "ok": string; + /** + * わかった + */ + "gotIt": string; + /** + * キャンセル + */ + "cancel": string; + /** + * やめておく + */ + "noThankYou": string; + /** + * ユーザー名を入力 + */ + "enterUsername": string; + /** + * {user}がリノート + */ + "renotedBy": ParameterizedString<"user">; + /** + * ノートはありません + */ + "noNotes": string; + /** + * 通知はありません + */ + "noNotifications": string; + /** + * サーバー + */ + "instance": string; + /** + * 設定 + */ + "settings": string; + /** + * 通知の設定 + */ + "notificationSettings": string; + /** + * 基本設定 + */ + "basicSettings": string; + /** + * その他の設定 + */ + "otherSettings": string; + /** + * ウィンドウで開く + */ + "openInWindow": string; + /** + * プロフィール + */ + "profile": string; + /** + * タイムライン + */ + "timeline": string; + /** + * 自己紹介はありません + */ + "noAccountDescription": string; + /** + * ログイン + */ + "login": string; + /** + * ログイン中 + */ + "loggingIn": string; + /** + * ログアウト + */ + "logout": string; + /** + * 新規登録 + */ + "signup": string; + /** + * アップロード中 + */ + "uploading": string; + /** + * 保存 + */ + "save": string; + /** + * ユーザー + */ + "users": string; + /** + * ユーザーを追加 + */ + "addUser": string; + /** + * お気に入り + */ + "favorite": string; + /** + * お気に入り + */ + "favorites": string; + /** + * お気に入り解除 + */ + "unfavorite": string; + /** + * お気に入りに登録しました。 + */ + "favorited": string; + /** + * 既にお気に入りに登録されています。 + */ + "alreadyFavorited": string; + /** + * お気に入りに登録できませんでした。 + */ + "cantFavorite": string; + /** + * ピン留め + */ + "pin": string; + /** + * ピン留め解除 + */ + "unpin": string; + /** + * 内容をコピー + */ + "copyContent": string; + /** + * リンクをコピー + */ + "copyLink": string; + /** + * リモートのリンクをコピー + */ + "copyRemoteLink": string; + /** + * リノートのリンクをコピー + */ + "copyLinkRenote": string; + /** + * 削除 + */ + "delete": string; + /** + * 削除して編集 + */ + "deleteAndEdit": string; + /** + * このノートを削除してもう一度編集しますか?このノートへのリアクション、リノート、返信も全て削除されます。 + */ + "deleteAndEditConfirm": string; + /** + * リストに追加 + */ + "addToList": string; + /** + * アンテナに追加 + */ + "addToAntenna": string; + /** + * メッセージを送信 + */ + "sendMessage": string; + /** + * RSSをコピー + */ + "copyRSS": string; + /** + * ユーザー名をコピー + */ + "copyUsername": string; + /** + * ユーザーIDをコピー + */ + "copyUserId": string; + /** + * ノートIDをコピー + */ + "copyNoteId": string; + /** + * ファイルIDをコピー + */ + "copyFileId": string; + /** + * フォルダーIDをコピー + */ + "copyFolderId": string; + /** + * プロフィールURLをコピー + */ + "copyProfileUrl": string; + /** + * ユーザーを検索 + */ + "searchUser": string; + /** + * ユーザーのノートを検索 + */ + "searchThisUsersNotes": string; + /** + * 返信 + */ + "reply": string; + /** + * もっと見る + */ + "loadMore": string; + /** + * もっと見る + */ + "showMore": string; + /** + * 閉じる + */ + "showLess": string; + /** + * フォローされました + */ + "youGotNewFollower": string; + /** + * フォローリクエストされました + */ + "receiveFollowRequest": string; + /** + * フォローが承認されました + */ + "followRequestAccepted": string; + /** + * メンション + */ + "mention": string; + /** + * メンション + */ + "mentions": string; + /** + * 指名 + */ + "directNotes": string; + /** + * インポートとエクスポート + */ + "importAndExport": string; + /** + * インポート + */ + "import": string; + /** + * エクスポート + */ + "export": string; + /** + * ファイル + */ + "files": string; + /** + * ダウンロード + */ + "download": string; + /** + * ファイル「{name}」を削除しますか?このファイルを使用した一部のコンテンツも削除されます。 + */ + "driveFileDeleteConfirm": ParameterizedString<"name">; + /** + * {name}のフォローを解除しますか? + */ + "unfollowConfirm": ParameterizedString<"name">; + /** + * {name}へのフォロー申請をキャンセルしますか? + */ + "cancelFollowRequestConfirm": ParameterizedString<"name">; + /** + * {name}からのフォロー申請を拒否しますか? + */ + "rejectFollowRequestConfirm": ParameterizedString<"name">; + /** + * エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、「ドライブ」に追加されます。 + */ + "exportRequested": string; + /** + * インポートをリクエストしました。これには時間がかかる場合があります。 + */ + "importRequested": string; + /** + * リスト + */ + "lists": string; + /** + * リストはありません + */ + "noLists": string; + /** + * ノート + */ + "note": string; + /** + * ノート + */ + "notes": string; + /** + * フォロー + */ + "following": string; + /** + * フォロワー + */ + "followers": string; + /** + * フォローされています + */ + "followsYou": string; + /** + * リスト作成 + */ + "createList": string; + /** + * リストの管理 + */ + "manageLists": string; + /** + * エラー + */ + "error": string; + /** + * 問題が発生しました + */ + "somethingHappened": string; + /** + * 再試行 + */ + "retry": string; + /** + * ページの読み込みに失敗しました。 + */ + "pageLoadError": string; + /** + * これは通常、ネットワークまたはブラウザキャッシュが原因です。キャッシュをクリアするか、しばらく待ってから再度試してください。 + */ + "pageLoadErrorDescription": string; + /** + * サーバーの応答がありません。しばらく待ってから再度試してください。 + */ + "serverIsDead": string; + /** + * このページを表示するためには、リロードして新しいバージョンのクライアントをご利用ください。 + */ + "youShouldUpgradeClient": string; + /** + * リスト名を入力 + */ + "enterListName": string; + /** + * プライバシー + */ + "privacy": string; + /** + * フォローを承認制にする + */ + "makeFollowManuallyApprove": string; + /** + * デフォルトの公開範囲 + */ + "defaultNoteVisibility": string; + /** + * フォロー + */ + "follow": string; + /** + * フォロー申請 + */ + "followRequest": string; + /** + * フォロー申請 + */ + "followRequests": string; + /** + * フォロー解除 + */ + "unfollow": string; + /** + * フォロー許可待ち + */ + "followRequestPending": string; + /** + * 絵文字を入力 + */ + "enterEmoji": string; + /** + * リノート + */ + "renote": string; + /** + * リノート解除 + */ + "unrenote": string; + /** + * リノートしました。 + */ + "renoted": string; + /** + * {name} にリノートしました。 + */ + "renotedToX": ParameterizedString<"name">; + /** + * この投稿はリノートできません。 + */ + "cantRenote": string; + /** + * リノートをリノートすることはできません。 + */ + "cantReRenote": string; + /** + * 引用 + */ + "quote": string; + /** + * チャンネル内リノート + */ + "inChannelRenote": string; + /** + * チャンネル内引用 + */ + "inChannelQuote": string; + /** + * チャンネルにリノート + */ + "renoteToChannel": string; + /** + * 他のチャンネルにリノート + */ + "renoteToOtherChannel": string; + /** + * ピン留めされたノート + */ + "pinnedNote": string; + /** + * ピン留め + */ + "pinned": string; + /** + * あなた + */ + "you": string; + /** + * クリックして表示 + */ + "clickToShow": string; + /** + * センシティブ + */ + "sensitive": string; + /** + * 追加 + */ + "add": string; + /** + * リアクション + */ + "reaction": string; + /** + * リアクション + */ + "reactions": string; + /** + * 絵文字ピッカー + */ + "emojiPicker": string; + /** + * リアクション時にピン留め表示する絵文字を設定できます + */ + "pinnedEmojisForReactionSettingDescription": string; + /** + * 絵文字入力時にピン留め表示する絵文字を設定できます + */ + "pinnedEmojisSettingDescription": string; + /** + * ピッカーの表示 + */ + "emojiPickerDisplay": string; + /** + * リアクション設定から上書きする + */ + "overwriteFromPinnedEmojisForReaction": string; + /** + * 全般設定から上書きする + */ + "overwriteFromPinnedEmojis": string; + /** + * ドラッグして並び替え、クリックして削除、+を押して追加します。 + */ + "reactionSettingDescription2": string; + /** + * 公開範囲を記憶する + */ + "rememberNoteVisibility": string; + /** + * 添付取り消し + */ + "attachCancel": string; + /** + * ファイルを削除 + */ + "deleteFile": string; + /** + * センシティブとして設定 + */ + "markAsSensitive": string; + /** + * センシティブを解除する + */ + "unmarkAsSensitive": string; + /** + * ファイル名を入力 + */ + "enterFileName": string; + /** + * ミュート + */ + "mute": string; + /** + * ミュート解除 + */ + "unmute": string; + /** + * リノートをミュート + */ + "renoteMute": string; + /** + * リノートのミュートを解除 + */ + "renoteUnmute": string; + /** + * ブロック + */ + "block": string; + /** + * ブロック解除 + */ + "unblock": string; + /** + * 凍結 + */ + "suspend": string; + /** + * 解凍 + */ + "unsuspend": string; + /** + * ブロックしますか? + */ + "blockConfirm": string; + /** + * ブロック解除しますか? + */ + "unblockConfirm": string; + /** + * 凍結しますか? + */ + "suspendConfirm": string; + /** + * 解凍しますか? + */ + "unsuspendConfirm": string; + /** + * リストを選択 + */ + "selectList": string; + /** + * リストを編集 + */ + "editList": string; + /** + * チャンネルを選択 + */ + "selectChannel": string; + /** + * アンテナを選択 + */ + "selectAntenna": string; + /** + * アンテナを編集 + */ + "editAntenna": string; + /** + * アンテナを作成 + */ + "createAntenna": string; + /** + * ウィジェットを選択 + */ + "selectWidget": string; + /** + * ウィジェットを編集 + */ + "editWidgets": string; + /** + * 編集を終了 + */ + "editWidgetsExit": string; + /** + * カスタム絵文字 + */ + "customEmojis": string; + /** + * 絵文字 + */ + "emoji": string; + /** + * 絵文字 + */ + "emojis": string; + /** + * 絵文字名 + */ + "emojiName": string; + /** + * 絵文字画像URL + */ + "emojiUrl": string; + /** + * 絵文字を追加 + */ + "addEmoji": string; + /** + * おすすめ設定 + */ + "settingGuide": string; + /** + * リモートのファイルをキャッシュする + */ + "cacheRemoteFiles": string; + /** + * この設定を有効にすると、リモートファイルをこのサーバーのストレージにキャッシュするようになります。画像の表示が高速になりますが、サーバーのストレージを多く消費します。リモートユーザーがどれほどキャッシュを保持するかは、ロールによるドライブ容量制限によって決定されます。この制限を超えた場合、古いファイルからキャッシュが削除されリンクになります。この設定が無効の場合、リモートのファイルを最初からリンクとして保持します。 + */ + "cacheRemoteFilesDescription": string; + /** + * ファイル管理の🗑️ボタンで全てのキャッシュを削除できます。 + */ + "youCanCleanRemoteFilesCache": string; + /** + * リモートのセンシティブなファイルをキャッシュする + */ + "cacheRemoteSensitiveFiles": string; + /** + * この設定を無効にすると、リモートのセンシティブなファイルはキャッシュせず直リンクするようになります。 + */ + "cacheRemoteSensitiveFilesDescription": string; + /** + * Botとして設定 + */ + "flagAsBot": string; + /** + * このアカウントがプログラムによって運用される場合は、このフラグをオンにします。オンにすると、反応の連鎖を防ぐためのフラグとして他の開発者に役立ったり、Misskeyのシステム上での扱いがBotに合ったものになります。 + */ + "flagAsBotDescription": string; + /** + * にゃああああああああああああああ!!!!!!!!!!!! + */ + "flagAsCat": string; + /** + * にゃにゃにゃ?? + */ + "flagAsCatDescription": string; + /** + * タイムラインにノートへの返信を表示する + */ + "flagShowTimelineReplies": string; + /** + * オンにすると、タイムラインにユーザーのノート以外にもそのユーザーの他のノートへの返信を表示します。 + */ + "flagShowTimelineRepliesDescription": string; + /** + * フォロー中ユーザーからのフォロー申請を自動承認 + */ + "autoAcceptFollowed": string; + /** + * アカウントを追加 + */ + "addAccount": string; + /** + * アカウントリストの情報を更新 + */ + "reloadAccountsList": string; + /** + * ログインに失敗しました + */ + "loginFailed": string; + /** + * リモートで表示 + */ + "showOnRemote": string; + /** + * リモートで続行 + */ + "continueOnRemote": string; + /** + * Misskey Hubからサーバーを選択 + */ + "chooseServerOnMisskeyHub": string; + /** + * サーバーのドメインを直接指定 + */ + "specifyServerHost": string; + /** + * ドメインを入力してください + */ + "inputHostName": string; + /** + * 全般 + */ + "general": string; + /** + * 壁紙 + */ + "wallpaper": string; + /** + * 壁紙を設定 + */ + "setWallpaper": string; + /** + * 壁紙を削除 + */ + "removeWallpaper": string; + /** + * 検索: {q} + */ + "searchWith": ParameterizedString<"q">; + /** + * リストがありません + */ + "youHaveNoLists": string; + /** + * {name}をフォローしますか? + */ + "followConfirm": ParameterizedString<"name">; + /** + * プロキシアカウント + */ + "proxyAccount": string; + /** + * プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがサーバーに配達されないため、代わりにプロキシアカウントがフォローするようにします。 + */ + "proxyAccountDescription": string; + /** + * ホスト + */ + "host": string; + /** + * 自分を選択 + */ + "selectSelf": string; + /** + * ユーザーを選択 + */ + "selectUser": string; + /** + * 宛先 + */ + "recipient": string; + /** + * 注釈 + */ + "annotation": string; + /** + * 連合 + */ + "federation": string; + /** + * サーバー + */ + "instances": string; + /** + * 初観測 + */ + "registeredAt": string; + /** + * 直近のリクエスト受信 + */ + "latestRequestReceivedAt": string; + /** + * 直近のステータス + */ + "latestStatus": string; + /** + * ストレージ使用量 + */ + "storageUsage": string; + /** + * チャート + */ + "charts": string; + /** + * 1時間ごと + */ + "perHour": string; + /** + * 1日ごと + */ + "perDay": string; + /** + * アクティビティの配送を停止 + */ + "stopActivityDelivery": string; + /** + * このサーバーをブロック + */ + "blockThisInstance": string; + /** + * サーバーをサイレンス + */ + "silenceThisInstance": string; + /** + * サーバーをメディアサイレンス + */ + "mediaSilenceThisInstance": string; + /** + * 操作 + */ + "operations": string; + /** + * ソフトウェア + */ + "software": string; + /** + * ソフトウェア名 + */ + "softwareName": string; + /** + * バージョン + */ + "version": string; + /** + * メタデータ + */ + "metadata": string; + /** + * {n}つのファイル + */ + "withNFiles": ParameterizedString<"n">; + /** + * モニター + */ + "monitor": string; + /** + * ジョブキュー + */ + "jobQueue": string; + /** + * CPUとメモリ + */ + "cpuAndMemory": string; + /** + * ネットワーク + */ + "network": string; + /** + * ディスク + */ + "disk": string; + /** + * サーバー情報 + */ + "instanceInfo": string; + /** + * 統計 + */ + "statistics": string; + /** + * キューをクリア + */ + "clearQueue": string; + /** + * キューをクリアしますか? + */ + "clearQueueConfirmTitle": string; + /** + * 未配達の投稿は配送されなくなります。通常この操作を行う必要はありません。 + */ + "clearQueueConfirmText": string; + /** + * キャッシュをクリア + */ + "clearCachedFiles": string; + /** + * キャッシュされたリモートファイルをすべて削除しますか? + */ + "clearCachedFilesConfirm": string; + /** + * ブロックしたサーバー + */ + "blockedInstances": string; + /** + * ブロックしたいサーバーのホストを改行で区切って設定します。ブロックされたサーバーは、このインスタンスとやり取りできなくなります。 + */ + "blockedInstancesDescription": string; + /** + * サイレンスしたサーバー + */ + "silencedInstances": string; + /** + * サイレンスしたいサーバーのホストを改行で区切って設定します。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになります。ブロックしたインスタンスには影響しません。 + */ + "silencedInstancesDescription": string; + /** + * メディアサイレンスしたサーバー + */ + "mediaSilencedInstances": string; + /** + * メディアサイレンスしたいサーバーのホストを改行で区切って設定します。メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われ、カスタム絵文字が使用できないようになります。ブロックしたインスタンスには影響しません。 + */ + "mediaSilencedInstancesDescription": string; + /** + * 連合を許可するサーバー + */ + "federationAllowedHosts": string; + /** + * 連合を許可するサーバーのホストを改行で区切って設定します。 + */ + "federationAllowedHostsDescription": string; + /** + * ミュートとブロック + */ + "muteAndBlock": string; + /** + * ミュートしたユーザー + */ + "mutedUsers": string; + /** + * ブロックしたユーザー + */ + "blockedUsers": string; + /** + * ユーザーはいません + */ + "noUsers": string; + /** + * プロフィールを編集 + */ + "editProfile": string; + /** + * このノートを削除しますか? + */ + "noteDeleteConfirm": string; + /** + * これ以上ピン留めできません + */ + "pinLimitExceeded": string; + /** + * 完了 + */ + "done": string; + /** + * 処理中 + */ + "processing": string; + /** + * 準備中 + */ + "preprocessing": string; + /** + * プレビュー + */ + "preview": string; + /** + * デフォルト + */ + "default": string; + /** + * デフォルト: {value} + */ + "defaultValueIs": ParameterizedString<"value">; + /** + * 絵文字はありません + */ + "noCustomEmojis": string; + /** + * ジョブはありません + */ + "noJobs": string; + /** + * 連合中 + */ + "federating": string; + /** + * ブロック中 + */ + "blocked": string; + /** + * 配信停止 + */ + "suspended": string; + /** + * 全て + */ + "all": string; + /** + * 購読中 + */ + "subscribing": string; + /** + * 配信中 + */ + "publishing": string; + /** + * 応答なし + */ + "notResponding": string; + /** + * サーバーのフォロー + */ + "instanceFollowing": string; + /** + * サーバーのフォロワー + */ + "instanceFollowers": string; + /** + * サーバーのユーザー + */ + "instanceUsers": string; + /** + * パスワードを変更 + */ + "changePassword": string; + /** + * セキュリティ + */ + "security": string; + /** + * 入力が一致しません。 + */ + "retypedNotMatch": string; + /** + * 現在のパスワード + */ + "currentPassword": string; + /** + * 新しいパスワード + */ + "newPassword": string; + /** + * 新しいパスワード(再入力) + */ + "newPasswordRetype": string; + /** + * ファイルを添付 + */ + "attachFile": string; + /** + * もっと! + */ + "more": string; + /** + * ハイライト + */ + "featured": string; + /** + * ユーザー名かユーザーID + */ + "usernameOrUserId": string; + /** + * ユーザーが見つかりません + */ + "noSuchUser": string; + /** + * 照会 + */ + "lookup": string; + /** + * お知らせ + */ + "announcements": string; + /** + * 画像URL + */ + "imageUrl": string; + /** + * 削除 + */ + "remove": string; + /** + * 削除しました + */ + "removed": string; + /** + * 「{x}」を削除しますか? + */ + "removeAreYouSure": ParameterizedString<"x">; + /** + * 「{x}」を削除しますか? + */ + "deleteAreYouSure": ParameterizedString<"x">; + /** + * リセットしますか? + */ + "resetAreYouSure": string; + /** + * よろしいですか? + */ + "areYouSure": string; + /** + * 保存しました + */ + "saved": string; + /** + * アップロード + */ + "upload": string; + /** + * オリジナル画像を保持 + */ + "keepOriginalUploading": string; + /** + * 画像をアップロードする時にオリジナル版を保持します。オフにするとアップロード時にブラウザでWeb公開用画像を生成します。 + */ + "keepOriginalUploadingDescription": string; + /** + * ドライブから + */ + "fromDrive": string; + /** + * URLから + */ + "fromUrl": string; + /** + * URLアップロード + */ + "uploadFromUrl": string; + /** + * アップロードしたいファイルのURL + */ + "uploadFromUrlDescription": string; + /** + * アップロードをリクエストしました + */ + "uploadFromUrlRequested": string; + /** + * アップロードが完了するまで時間がかかる場合があります。 + */ + "uploadFromUrlMayTakeTime": string; + /** + * {n}個のファイルをアップロード + */ + "uploadNFiles": ParameterizedString<"n">; + /** + * みつける + */ + "explore": string; + /** + * 既読 + */ + "messageRead": string; + /** + * すべてのメッセージを既読にする + */ + "readAllChatMessages": string; + /** + * これより過去の履歴はありません + */ + "noMoreHistory": string; + /** + * メッセージを送る + */ + "startChat": string; + /** + * {n}人が読みました + */ + "nUsersRead": ParameterizedString<"n">; + /** + * {0}に同意 + */ + "agreeTo": ParameterizedString<"0">; + /** + * 同意する + */ + "agree": string; + /** + * 下記に同意する + */ + "agreeBelow": string; + /** + * 基本的な注意事項 + */ + "basicNotesBeforeCreateAccount": string; + /** + * 利用規約 + */ + "termsOfService": string; + /** + * 始める + */ + "start": string; + /** + * ホーム + */ + "home": string; + /** + * リモートユーザーのため、情報が不完全です。 + */ + "remoteUserCaution": string; + /** + * アクティビティ + */ + "activity": string; + /** + * 画像 + */ + "images": string; + /** + * 画像 + */ + "image": string; + /** + * 誕生日 + */ + "birthday": string; + /** + * {age}歳 + */ + "yearsOld": ParameterizedString<"age">; + /** + * 登録日 + */ + "registeredDate": string; + /** + * 場所 + */ + "location": string; + /** + * テーマ + */ + "theme": string; + /** + * ライトモードで使うテーマ + */ + "themeForLightMode": string; + /** + * ダークモードで使うテーマ + */ + "themeForDarkMode": string; + /** + * ライト + */ + "light": string; + /** + * ダーク + */ + "dark": string; + /** + * 明るいテーマ + */ + "lightThemes": string; + /** + * 暗いテーマ + */ + "darkThemes": string; + /** + * デバイスのダークモードと同期する + */ + "syncDeviceDarkMode": string; + /** + * 「{x}」がオンになっています。同期をオフにして手動でモードを切り替えますか? + */ + "switchDarkModeManuallyWhenSyncEnabledConfirm": ParameterizedString<"x">; + /** + * ドライブ + */ + "drive": string; + /** + * ファイル名 + */ + "fileName": string; + /** + * ファイルを選択 + */ + "selectFile": string; + /** + * ファイルを選択 + */ + "selectFiles": string; + /** + * フォルダーを選択 + */ + "selectFolder": string; + /** + * フォルダーの選択を解除 + */ + "unselectFolder": string; + /** + * フォルダーを選択 + */ + "selectFolders": string; + /** + * ファイルが選択されていません + */ + "fileNotSelected": string; + /** + * ファイル名を変更 + */ + "renameFile": string; + /** + * フォルダー名 + */ + "folderName": string; + /** + * フォルダーを作成 + */ + "createFolder": string; + /** + * フォルダー名を変更 + */ + "renameFolder": string; + /** + * フォルダーを削除 + */ + "deleteFolder": string; + /** + * フォルダー + */ + "folder": string; + /** + * ファイルを追加 + */ + "addFile": string; + /** + * ファイルを表示 + */ + "showFile": string; + /** + * ドライブは空です + */ + "emptyDrive": string; + /** + * フォルダーは空です + */ + "emptyFolder": string; + /** + * ここにファイルをドロップしてアップロード + */ + "dropHereToUpload": string; + /** + * 削除できません + */ + "unableToDelete": string; + /** + * 新しいファイル名を入力してください + */ + "inputNewFileName": string; + /** + * 新しいキャプションを入力してください + */ + "inputNewDescription": string; + /** + * 新しいフォルダ名を入力してください + */ + "inputNewFolderName": string; + /** + * 移動先のフォルダーは、移動するフォルダーのサブフォルダーです。 + */ + "circularReferenceFolder": string; + /** + * このフォルダは空でないため、削除できません。 + */ + "hasChildFilesOrFolders": string; + /** + * URLをコピー + */ + "copyUrl": string; + /** + * 名前を変更 + */ + "rename": string; + /** + * アイコン + */ + "avatar": string; + /** + * バナー + */ + "banner": string; + /** + * センシティブなメディアの表示 + */ + "displayOfSensitiveMedia": string; + /** + * サーバーとの接続が失われたとき + */ + "whenServerDisconnected": string; + /** + * サーバーから切断されました + */ + "disconnectedFromServer": string; + /** + * リロード + */ + "reload": string; + /** + * なにもしない + */ + "doNothing": string; + /** + * リロードしますか? + */ + "reloadConfirm": string; + /** + * ウォッチ + */ + "watch": string; + /** + * ウォッチ解除 + */ + "unwatch": string; + /** + * 許可 + */ + "accept": string; + /** + * 拒否 + */ + "reject": string; + /** + * 通常 + */ + "normal": string; + /** + * サーバー名 + */ + "instanceName": string; + /** + * サーバーの紹介 + */ + "instanceDescription": string; + /** + * 管理者の名前 + */ + "maintainerName": string; + /** + * 管理者のメールアドレス + */ + "maintainerEmail": string; + /** + * 利用規約URL + */ + "tosUrl": string; + /** + * 今年 + */ + "thisYear": string; + /** + * 今月 + */ + "thisMonth": string; + /** + * 今日 + */ + "today": string; + /** + * {day}日 + */ + "dayX": ParameterizedString<"day">; + /** + * {month}月 + */ + "monthX": ParameterizedString<"month">; + /** + * {year}年 + */ + "yearX": ParameterizedString<"year">; + /** + * ページ + */ + "pages": string; + /** + * 連携 + */ + "integration": string; + /** + * 接続する + */ + "connectService": string; + /** + * 切断する + */ + "disconnectService": string; + /** + * ローカルタイムラインを有効にする + */ + "enableLocalTimeline": string; + /** + * グローバルタイムラインを有効にする + */ + "enableGlobalTimeline": string; + /** + * これらのタイムラインを無効化しても、利便性のため管理者およびモデレーターは引き続き利用することができます。 + */ + "disablingTimelinesInfo": string; + /** + * 登録 + */ + "registration": string; + /** + * 招待 + */ + "invite": string; + /** + * ローカルユーザーひとりあたりのドライブ容量 + */ + "driveCapacityPerLocalAccount": string; + /** + * リモートユーザーひとりあたりのドライブ容量 + */ + "driveCapacityPerRemoteAccount": string; + /** + * メガバイト単位 + */ + "inMb": string; + /** + * バナー画像のURL + */ + "bannerUrl": string; + /** + * 背景画像のURL + */ + "backgroundImageUrl": string; + /** + * 基本情報 + */ + "basicInfo": string; + /** + * ピン留めユーザー + */ + "pinnedUsers": string; + /** + * 「みつける」ページなどにピン留めしたいユーザーを改行で区切って記述します。 + */ + "pinnedUsersDescription": string; + /** + * ピン留めページ + */ + "pinnedPages": string; + /** + * サーバーのトップページにピン留めしたいページのパスを改行で区切って記述します。 + */ + "pinnedPagesDescription": string; + /** + * ピン留めするクリップのID + */ + "pinnedClipId": string; + /** + * ピン留めされたノート + */ + "pinnedNotes": string; + /** + * hCaptcha + */ + "hcaptcha": string; + /** + * hCaptchaを有効にする + */ + "enableHcaptcha": string; + /** + * サイトキー + */ + "hcaptchaSiteKey": string; + /** + * シークレットキー + */ + "hcaptchaSecretKey": string; + /** + * mCaptcha + */ + "mcaptcha": string; + /** + * mCaptchaを有効にする + */ + "enableMcaptcha": string; + /** + * サイトキー + */ + "mcaptchaSiteKey": string; + /** + * シークレットキー + */ + "mcaptchaSecretKey": string; + /** + * mCaptchaのインスタンスのURL + */ + "mcaptchaInstanceUrl": string; + /** + * reCAPTCHA + */ + "recaptcha": string; + /** + * reCAPTCHAを有効にする + */ + "enableRecaptcha": string; + /** + * サイトキー + */ + "recaptchaSiteKey": string; + /** + * シークレットキー + */ + "recaptchaSecretKey": string; + /** + * Turnstile + */ + "turnstile": string; + /** + * Turnstileを有効にする + */ + "enableTurnstile": string; + /** + * サイトキー + */ + "turnstileSiteKey": string; + /** + * シークレットキー + */ + "turnstileSecretKey": string; + /** + * 複数のCaptchaを使用すると干渉を起こす可能性があります。他のCaptchaを無効にしますか?キャンセルして複数のCaptchaを有効化したままにすることも可能です。 + */ + "avoidMultiCaptchaConfirm": string; + /** + * アンテナ + */ + "antennas": string; + /** + * アンテナの管理 + */ + "manageAntennas": string; + /** + * 名前 + */ + "name": string; + /** + * 受信ソース + */ + "antennaSource": string; + /** + * 受信キーワード + */ + "antennaKeywords": string; + /** + * 除外キーワード + */ + "antennaExcludeKeywords": string; + /** + * Botアカウントを除外 + */ + "antennaExcludeBots": string; + /** + * スペースで区切るとAND指定になり、改行で区切るとOR指定になります + */ + "antennaKeywordsDescription": string; + /** + * 新しいノートを通知する + */ + "notifyAntenna": string; + /** + * ファイルが添付されたノートのみ + */ + "withFileAntenna": string; + /** + * センシティブなチャンネルのノートを除外 + */ + "excludeNotesInSensitiveChannel": string; + /** + * ブラウザへのプッシュ通知を有効にする + */ + "enableServiceworker": string; + /** + * ユーザー名を改行で区切って指定します + */ + "antennaUsersDescription": string; + /** + * 大文字小文字を区別する + */ + "caseSensitive": string; + /** + * 返信を含む + */ + "withReplies": string; + /** + * 次のアカウントに接続されています + */ + "connectedTo": string; + /** + * 投稿と返信 + */ + "notesAndReplies": string; + /** + * ファイル付き + */ + "withFiles": string; + /** + * サイレンス + */ + "silence": string; + /** + * サイレンスしますか? + */ + "silenceConfirm": string; + /** + * サイレンス解除 + */ + "unsilence": string; + /** + * サイレンス解除しますか? + */ + "unsilenceConfirm": string; + /** + * 人気のユーザー + */ + "popularUsers": string; + /** + * 最近投稿したユーザー + */ + "recentlyUpdatedUsers": string; + /** + * 最近登録したユーザー + */ + "recentlyRegisteredUsers": string; + /** + * 最近発見されたユーザー + */ + "recentlyDiscoveredUsers": string; + /** + * {count}のユーザーがいます + */ + "exploreUsersCount": ParameterizedString<"count">; + /** + * Fediverseを探索 + */ + "exploreFediverse": string; + /** + * 人気のタグ + */ + "popularTags": string; + /** + * リスト + */ + "userList": string; + /** + * 情報 + */ + "about": string; + /** + * Misskeyについて + */ + "aboutMisskey": string; + /** + * 管理者 + */ + "administrator": string; + /** + * 確認コード + */ + "token": string; + /** + * 二要素認証 + */ + "2fa": string; + /** + * 二要素認証のセットアップ + */ + "setupOf2fa": string; + /** + * 認証アプリ + */ + "totp": string; + /** + * 認証アプリを使ってワンタイムパスワードを入力 + */ + "totpDescription": string; + /** + * モデレーター + */ + "moderator": string; + /** + * モデレーション + */ + "moderation": string; + /** + * モデレーションノート + */ + "moderationNote": string; + /** + * モデレーター間でだけ共有されるメモを記入することができます。 + */ + "moderationNoteDescription": string; + /** + * モデレーションノートを追加する + */ + "addModerationNote": string; + /** + * モデログ + */ + "moderationLogs": string; + /** + * {n}人が投稿 + */ + "nUsersMentioned": ParameterizedString<"n">; + /** + * セキュリティキー・パスキー + */ + "securityKeyAndPasskey": string; + /** + * セキュリティキー + */ + "securityKey": string; + /** + * 最後の使用 + */ + "lastUsed": string; + /** + * 最後の使用: {t} + */ + "lastUsedAt": ParameterizedString<"t">; + /** + * 登録を解除 + */ + "unregister": string; + /** + * パスワードレスログイン + */ + "passwordLessLogin": string; + /** + * パスワードを使用せず、セキュリティキーやパスキーなどのみでログインします + */ + "passwordLessLoginDescription": string; + /** + * パスワードをリセット + */ + "resetPassword": string; + /** + * 新しいパスワードは「{password}」です + */ + "newPasswordIs": ParameterizedString<"password">; + /** + * UIのアニメーションを減らす + */ + "reduceUiAnimation": string; + /** + * 共有 + */ + "share": string; + /** + * 見つかりません + */ + "notFound": string; + /** + * 指定されたURLに該当するページはありませんでした。 + */ + "notFoundDescription": string; + /** + * 既定アップロード先 + */ + "uploadFolder": string; + /** + * すべての通知を既読にする + */ + "markAsReadAllNotifications": string; + /** + * すべての投稿を既読にする + */ + "markAsReadAllUnreadNotes": string; + /** + * すべてのダイレクトメッセージを既読にする + */ + "markAsReadAllTalkMessages": string; + /** + * ヘルプ + */ + "help": string; + /** + * ここにメッセージを入力 + */ + "inputMessageHere": string; + /** + * 閉じる + */ + "close": string; + /** + * 招待 + */ + "invites": string; + /** + * メンバー + */ + "members": string; + /** + * 譲渡 + */ + "transfer": string; + /** + * タイトル + */ + "title": string; + /** + * テキスト + */ + "text": string; + /** + * 有効にする + */ + "enable": string; + /** + * 次 + */ + "next": string; + /** + * 再入力 + */ + "retype": string; + /** + * {user}のノート + */ + "noteOf": ParameterizedString<"user">; + /** + * 引用付き + */ + "quoteAttached": string; + /** + * 引用として添付しますか? + */ + "quoteQuestion": string; + /** + * クリップボードのテキストが長いです。テキストファイルとして添付しますか? + */ + "attachAsFileQuestion": string; + /** + * メッセージに添付できるファイルはひとつです + */ + "onlyOneFileCanBeAttached": string; + /** + * 続行する前に、登録またはログインが必要です + */ + "signinRequired": string; + /** + * 続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があります + */ + "signinOrContinueOnRemote": string; + /** + * 招待 + */ + "invitations": string; + /** + * 招待コード + */ + "invitationCode": string; + /** + * 確認しています + */ + "checking": string; + /** + * 利用できます + */ + "available": string; + /** + * 利用できません + */ + "unavailable": string; + /** + * a~z、A~Z、0~9、_が使えます + */ + "usernameInvalidFormat": string; + /** + * 短すぎます + */ + "tooShort": string; + /** + * 長すぎます + */ + "tooLong": string; + /** + * 弱いパスワード + */ + "weakPassword": string; + /** + * 普通のパスワード + */ + "normalPassword": string; + /** + * 強いパスワード + */ + "strongPassword": string; + /** + * 一致しました + */ + "passwordMatched": string; + /** + * 一致していません + */ + "passwordNotMatched": string; + /** + * {x}でログイン + */ + "signinWith": ParameterizedString<"x">; + /** + * ログインできませんでした。ユーザー名とパスワードを確認してください。 + */ + "signinFailed": string; + /** + * もしくは + */ + "or": string; + /** + * 言語 + */ + "language": string; + /** + * UIの表示言語 + */ + "uiLanguage": string; + /** + * {x}について + */ + "aboutX": ParameterizedString<"x">; + /** + * 絵文字のスタイル + */ + "emojiStyle": string; + /** + * ネイティブ + */ + "native": string; + /** + * メニューのスタイル + */ + "menuStyle": string; + /** + * スタイル + */ + "style": string; + /** + * ドロワー + */ + "drawer": string; + /** + * ポップアップ + */ + "popup": string; + /** + * ノートのアクションをホバー時のみ表示する + */ + "showNoteActionsOnlyHover": string; + /** + * ノートのリアクション数を表示する + */ + "showReactionsCount": string; + /** + * 履歴はありません + */ + "noHistory": string; + /** + * ログイン履歴 + */ + "signinHistory": string; + /** + * 高度なMFMを有効にする + */ + "enableAdvancedMfm": string; + /** + * 動きのあるMFMを有効にする + */ + "enableAnimatedMfm": string; + /** + * やっています + */ + "doing": string; + /** + * カテゴリ + */ + "category": string; + /** + * タグ + */ + "tags": string; + /** + * このドキュメントのソース + */ + "docSource": string; + /** + * アカウントを作成 + */ + "createAccount": string; + /** + * 既存のアカウント + */ + "existingAccount": string; + /** + * 再生成 + */ + "regenerate": string; + /** + * フォントサイズ + */ + "fontSize": string; + /** + * 画像が1枚のみのメディアリストの高さ + */ + "mediaListWithOneImageAppearance": string; + /** + * {x}を上限に + */ + "limitTo": ParameterizedString<"x">; + /** + * フォロー申請はありません + */ + "noFollowRequests": string; + /** + * 画像を新しいタブで開く + */ + "openImageInNewTab": string; + /** + * ダッシュボード + */ + "dashboard": string; + /** + * ローカル + */ + "local": string; + /** + * リモート + */ + "remote": string; + /** + * 合計 + */ + "total": string; + /** + * 前週比 + */ + "weekOverWeekChanges": string; + /** + * 前日比 + */ + "dayOverDayChanges": string; + /** + * アピアランス + */ + "appearance": string; + /** + * クライアント設定 + */ + "clientSettings": string; + /** + * アカウント設定 + */ + "accountSettings": string; + /** + * プロモーション + */ + "promotion": string; + /** + * プロモート + */ + "promote": string; + /** + * 日数 + */ + "numberOfDays": string; + /** + * このノートを非表示 + */ + "hideThisNote": string; + /** + * タイムラインにおすすめのノートを表示する + */ + "showFeaturedNotesInTimeline": string; + /** + * オブジェクトストレージ + */ + "objectStorage": string; + /** + * オブジェクトストレージを使用 + */ + "useObjectStorage": string; + /** + * Base URL + */ + "objectStorageBaseUrl": string; + /** + * 参照に使用するURL。CDNやProxyを使用している場合はそのURL、S3: 'https://.s3.amazonaws.com'、GCS等: 'https://storage.googleapis.com/'。 + */ + "objectStorageBaseUrlDesc": string; + /** + * Bucket + */ + "objectStorageBucket": string; + /** + * 使用サービスのbucket名を指定してください。 + */ + "objectStorageBucketDesc": string; + /** + * Prefix + */ + "objectStoragePrefix": string; + /** + * このprefixのディレクトリ下に格納されます。 + */ + "objectStoragePrefixDesc": string; + /** + * Endpoint + */ + "objectStorageEndpoint": string; + /** + * S3の場合は空、それ以外の場合は各サービスのendpointを指定してください。''または':'のように指定します。 + */ + "objectStorageEndpointDesc": string; + /** + * Region + */ + "objectStorageRegion": string; + /** + * 'xx-east-1'のようなregionを指定してください。使用サービスにregionの概念がない場合は'us-east-1'にしてください。AWS設定ファイルまたは環境変数を参照する場合は空にしてください。 + */ + "objectStorageRegionDesc": string; + /** + * SSLを使用する + */ + "objectStorageUseSSL": string; + /** + * API接続にhttpsを使用しない場合はオフにしてください + */ + "objectStorageUseSSLDesc": string; + /** + * Proxyを利用する + */ + "objectStorageUseProxy": string; + /** + * API接続にproxyを利用しない場合はオフにしてください + */ + "objectStorageUseProxyDesc": string; + /** + * アップロード時に'public-read'を設定する + */ + "objectStorageSetPublicRead": string; + /** + * s3ForcePathStyleを有効にすると、バケット名をURLのホスト名ではなくパスの一部として指定することを強制します。セルフホストされたMinioなどの使用時に有効にする必要がある場合があります。 + */ + "s3ForcePathStyleDesc": string; + /** + * サーバーログ + */ + "serverLogs": string; + /** + * 全て削除 + */ + "deleteAll": string; + /** + * タイムライン上部に投稿フォームを表示する + */ + "showFixedPostForm": string; + /** + * タイムライン上部に投稿フォームを表示する(チャンネル) + */ + "showFixedPostFormInChannel": string; + /** + * フォローする際、デフォルトで返信をTLに含むようにする + */ + "withRepliesByDefaultForNewlyFollowed": string; + /** + * 新しいノートがあります + */ + "newNoteRecived": string; + /** + * 新しいノート + */ + "newNote": string; + /** + * サウンド + */ + "sounds": string; + /** + * サウンド + */ + "sound": string; + /** + * 通知音の設定 + */ + "notificationSoundSettings": string; + /** + * 聴く + */ + "listen": string; + /** + * なし + */ + "none": string; + /** + * ページで表示 + */ + "showInPage": string; + /** + * ポップアウト + */ + "popout": string; + /** + * 音量 + */ + "volume": string; + /** + * マスター音量 + */ + "masterVolume": string; + /** + * サウンドを出力しない + */ + "notUseSound": string; + /** + * Misskeyがアクティブな時のみサウンドを出力する + */ + "useSoundOnlyWhenActive": string; + /** + * 詳細 + */ + "details": string; + /** + * リノートの詳細 + */ + "renoteDetails": string; + /** + * 絵文字を選択 + */ + "chooseEmoji": string; + /** + * 操作を完了できません + */ + "unableToProcess": string; + /** + * 最近使用 + */ + "recentUsed": string; + /** + * インストール + */ + "install": string; + /** + * アンインストール + */ + "uninstall": string; + /** + * インストールされたアプリ + */ + "installedApps": string; + /** + * ありません + */ + "nothing": string; + /** + * インストール日時 + */ + "installedDate": string; + /** + * 最終使用日時 + */ + "lastUsedDate": string; + /** + * 状態 + */ + "state": string; + /** + * ソート + */ + "sort": string; + /** + * 昇順 + */ + "ascendingOrder": string; + /** + * 降順 + */ + "descendingOrder": string; + /** + * スクラッチパッド + */ + "scratchpad": string; + /** + * スクラッチパッドは、AiScriptの実験環境を提供します。Misskeyと対話するコードの記述、実行、結果の確認ができます。 + */ + "scratchpadDescription": string; + /** + * UIインスペクター + */ + "uiInspector": string; + /** + * メモリ上に存在しているUIコンポーネントのインスタンスの一覧を見ることができます。UIコンポーネントはUi:C:系関数により生成されます。 + */ + "uiInspectorDescription": string; + /** + * 出力 + */ + "output": string; + /** + * スクリプト + */ + "script": string; + /** + * Pagesのスクリプトを無効にする + */ + "disablePagesScript": string; + /** + * リモートユーザー情報の更新 + */ + "updateRemoteUser": string; + /** + * アイコンを解除 + */ + "unsetUserAvatar": string; + /** + * アイコンを解除しますか? + */ + "unsetUserAvatarConfirm": string; + /** + * バナーを解除 + */ + "unsetUserBanner": string; + /** + * バナーを解除しますか? + */ + "unsetUserBannerConfirm": string; + /** + * すべてのファイルを削除 + */ + "deleteAllFiles": string; + /** + * すべてのファイルを削除しますか? + */ + "deleteAllFilesConfirm": string; + /** + * フォローを全解除 + */ + "removeAllFollowing": string; + /** + * {host}からのフォローをすべて解除します。そのサーバーがもう存在しなくなった場合などに実行してください。 + */ + "removeAllFollowingDescription": ParameterizedString<"host">; + /** + * このユーザーは凍結されています。 + */ + "userSuspended": string; + /** + * このユーザーはサイレンスされています。 + */ + "userSilenced": string; + /** + * アカウントが凍結されています + */ + "yourAccountSuspendedTitle": string; + /** + * このアカウントは、サーバーの利用規約に違反したなどの理由により、凍結されています。詳細については管理者までお問い合わせください。新しいアカウントを作らないでください。 + */ + "yourAccountSuspendedDescription": string; + /** + * トークンが無効です + */ + "tokenRevoked": string; + /** + * ログイントークンが失効しています。ログインし直してください。 + */ + "tokenRevokedDescription": string; + /** + * アカウントは削除されています + */ + "accountDeleted": string; + /** + * このアカウントは削除されています。 + */ + "accountDeletedDescription": string; + /** + * メニュー + */ + "menu": string; + /** + * 分割線 + */ + "divider": string; + /** + * 項目を追加 + */ + "addItem": string; + /** + * 並び替え + */ + "rearrange": string; + /** + * リレー + */ + "relays": string; + /** + * リレーの追加 + */ + "addRelay": string; + /** + * inboxのURL + */ + "inboxUrl": string; + /** + * 追加済みのリレー + */ + "addedRelays": string; + /** + * プッシュ通知を行うには有効にする必要があります。 + */ + "serviceworkerInfo": string; + /** + * 削除されたノート + */ + "deletedNote": string; + /** + * 非公開のノート + */ + "invisibleNote": string; + /** + * 自動でもっと見る + */ + "enableInfiniteScroll": string; + /** + * 公開範囲 + */ + "visibility": string; + /** + * アンケート + */ + "poll": string; + /** + * 内容を隠す + */ + "useCw": string; + /** + * プレイヤーを開く + */ + "enablePlayer": string; + /** + * プレイヤーを閉じる + */ + "disablePlayer": string; + /** + * ポストを展開する + */ + "expandTweet": string; + /** + * テーマエディター + */ + "themeEditor": string; + /** + * 説明 + */ + "description": string; + /** + * キャプションを付ける + */ + "describeFile": string; + /** + * キャプションを入力 + */ + "enterFileDescription": string; + /** + * 作者 + */ + "author": string; + /** + * 未保存の変更があります。破棄しますか? + */ + "leaveConfirm": string; + /** + * 管理 + */ + "manage": string; + /** + * プラグイン + */ + "plugins": string; + /** + * 設定のバックアップ + */ + "preferencesBackups": string; + /** + * デッキ + */ + "deck": string; + /** + * デッキ解除 + */ + "undeck": string; + /** + * モーダルにぼかし効果を使用 + */ + "useBlurEffectForModal": string; + /** + * フル機能リアクションピッカーを使用 + */ + "useFullReactionPicker": string; + /** + * 幅 + */ + "width": string; + /** + * 高さ + */ + "height": string; + /** + * 大 + */ + "large": string; + /** + * 中 + */ + "medium": string; + /** + * 小 + */ + "small": string; + /** + * アクセストークンの発行 + */ + "generateAccessToken": string; + /** + * 権限 + */ + "permission": string; + /** + * 管理者権限 + */ + "adminPermission": string; + /** + * 全て有効にする + */ + "enableAll": string; + /** + * 全て無効にする + */ + "disableAll": string; + /** + * アカウントへのアクセス許可 + */ + "tokenRequested": string; + /** + * このプラグインはここで設定した権限を行使できるようになります。 + */ + "pluginTokenRequestedDescription": string; + /** + * 通知の種類 + */ + "notificationType": string; + /** + * 編集 + */ + "edit": string; + /** + * メールサーバー + */ + "emailServer": string; + /** + * メール配信機能を有効化する + */ + "enableEmail": string; + /** + * メールアドレスの確認やパスワードリセットの際に使います + */ + "emailConfigInfo": string; + /** + * メール + */ + "email": string; + /** + * メールアドレス + */ + "emailAddress": string; + /** + * SMTP サーバーの設定 + */ + "smtpConfig": string; + /** + * ホスト + */ + "smtpHost": string; + /** + * ポート + */ + "smtpPort": string; + /** + * ユーザー名 + */ + "smtpUser": string; + /** + * パスワード + */ + "smtpPass": string; + /** + * ユーザー名とパスワードを空欄にすることで、SMTP認証を無効化出来ます + */ + "emptyToDisableSmtpAuth": string; + /** + * SMTP 接続に暗黙的なSSL/TLSを使用する + */ + "smtpSecure": string; + /** + * STARTTLS使用時はオフにします。 + */ + "smtpSecureInfo": string; + /** + * 配信テスト + */ + "testEmail": string; + /** + * ワードミュート + */ + "wordMute": string; + /** + * 指定した語句を含むノートを最小化します。最小化されたノートをクリックすることで表示することができます。 + */ + "wordMuteDescription": string; + /** + * ハードワードミュート + */ + "hardWordMute": string; + /** + * ミュートされたワードを表示 + */ + "showMutedWord": string; + /** + * 指定した語句を含むノートを隠します。ワードミュートとは異なり、ノートは完全に表示されなくなります。 + */ + "hardWordMuteDescription": string; + /** + * 正規表現エラー + */ + "regexpError": string; + /** + * {tab}ワードミュートの{line}行目の正規表現にエラーが発生しました: + */ + "regexpErrorDescription": ParameterizedString<"tab" | "line">; + /** + * サーバーミュート + */ + "instanceMute": string; + /** + * {name}が何かを言いました + */ + "userSaysSomething": ParameterizedString<"name">; + /** + * {name}が「{word}」について何かを言いました + */ + "userSaysSomethingAbout": ParameterizedString<"name" | "word">; + /** + * アクティブにする + */ + "makeActive": string; + /** + * 表示 + */ + "display": string; + /** + * コピー + */ + "copy": string; + /** + * クリップボードにコピーされました + */ + "copiedToClipboard": string; + /** + * メトリクス + */ + "metrics": string; + /** + * 概要 + */ + "overview": string; + /** + * ログ + */ + "logs": string; + /** + * 遅延 + */ + "delayed": string; + /** + * データベース + */ + "database": string; + /** + * チャンネル + */ + "channel": string; + /** + * 作成 + */ + "create": string; + /** + * 通知設定 + */ + "notificationSetting": string; + /** + * 表示する通知の種別を選択してください。 + */ + "notificationSettingDesc": string; + /** + * グローバル設定を使う + */ + "useGlobalSetting": string; + /** + * オンにすると、アカウントの通知設定が使用されます。オフにすると、個別に設定できるようになります。 + */ + "useGlobalSettingDesc": string; + /** + * その他 + */ + "other": string; + /** + * ログイントークンを再生成 + */ + "regenerateLoginToken": string; + /** + * ログインに使用される内部トークンを再生成します。通常この操作を行う必要はありません。再生成すると、全てのデバイスでログアウトされます。 + */ + "regenerateLoginTokenDescription": string; + /** + * カスタム絵文字を検索する時のキーワードになります。 + */ + "theKeywordWhenSearchingForCustomEmoji": string; + /** + * スペースで区切って複数設定できます。 + */ + "setMultipleBySeparatingWithSpace": string; + /** + * ファイルIDまたはURL + */ + "fileIdOrUrl": string; + /** + * 動作 + */ + "behavior": string; + /** + * サンプル + */ + "sample": string; + /** + * 通報 + */ + "abuseReports": string; + /** + * 通報 + */ + "reportAbuse": string; + /** + * リノートを通報 + */ + "reportAbuseRenote": string; + /** + * {name}を通報する + */ + "reportAbuseOf": ParameterizedString<"name">; + /** + * 通報理由の詳細を記入してください。対象のノートやページなどがある場合はそのURLも記入してください。 + */ + "fillAbuseReportDescription": string; + /** + * 内容が送信されました。ご報告ありがとうございました。 + */ + "abuseReported": string; + /** + * 通報者 + */ + "reporter": string; + /** + * 通報先 + */ + "reporteeOrigin": string; + /** + * 通報元 + */ + "reporterOrigin": string; + /** + * 送信 + */ + "send": string; + /** + * 新しいタブで開く + */ + "openInNewTab": string; + /** + * サイドビューで開く + */ + "openInSideView": string; + /** + * デフォルトのナビゲーション + */ + "defaultNavigationBehaviour": string; + /** + * これらの設定を編集するとアカウントが破損する可能性があります。 + */ + "editTheseSettingsMayBreakAccount": string; + /** + * ノートのサーバー情報 + */ + "instanceTicker": string; + /** + * {x}を待っています + */ + "waitingFor": ParameterizedString<"x">; + /** + * ランダム + */ + "random": string; + /** + * システム + */ + "system": string; + /** + * UI切り替え + */ + "switchUi": string; + /** + * デスクトップ + */ + "desktop": string; + /** + * クリップ + */ + "clip": string; + /** + * 新規作成 + */ + "createNew": string; + /** + * 任意 + */ + "optional": string; + /** + * 新しいクリップを作成 + */ + "createNewClip": string; + /** + * クリップ解除 + */ + "unclip": string; + /** + * このノートはすでにクリップ「{name}」に含まれています。ノートをこのクリップから除外しますか? + */ + "confirmToUnclipAlreadyClippedNote": ParameterizedString<"name">; + /** + * パブリック + */ + "public": string; + /** + * 非公開 + */ + "private": string; + /** + * Misskeyは有志によって様々な言語に翻訳されています。{link}で翻訳に協力できます。 + */ + "i18nInfo": ParameterizedString<"link">; + /** + * アクセストークンの管理 + */ + "manageAccessTokens": string; + /** + * アカウント情報 + */ + "accountInfo": string; + /** + * ノートの数 + */ + "notesCount": string; + /** + * 返信した数 + */ + "repliesCount": string; + /** + * リノートした数 + */ + "renotesCount": string; + /** + * 返信された数 + */ + "repliedCount": string; + /** + * リノートされた数 + */ + "renotedCount": string; + /** + * フォロー数 + */ + "followingCount": string; + /** + * フォロワー数 + */ + "followersCount": string; + /** + * リアクションした数 + */ + "sentReactionsCount": string; + /** + * リアクションされた数 + */ + "receivedReactionsCount": string; + /** + * アンケートに投票した数 + */ + "pollVotesCount": string; + /** + * アンケートに投票された数 + */ + "pollVotedCount": string; + /** + * はい + */ + "yes": string; + /** + * いいえ + */ + "no": string; + /** + * ドライブのファイル数 + */ + "driveFilesCount": string; + /** + * ドライブ使用量 + */ + "driveUsage": string; + /** + * クローラーによるインデックスを拒否 + */ + "noCrawle": string; + /** + * 外部の検索エンジンにあなたのユーザーページ、ノート、Pagesなどのコンテンツを登録(インデックス)しないよう要求します。 + */ + "noCrawleDescription": string; + /** + * フォローを承認制にしても、ノートの公開範囲を「フォロワー」にしない限り、誰でもあなたのノートを見ることができます。 + */ + "lockedAccountInfo": string; + /** + * デフォルトでメディアをセンシティブ設定にする + */ + "alwaysMarkSensitive": string; + /** + * 添付画像のサムネイルをオリジナル画質にする + */ + "loadRawImages": string; + /** + * アニメーション画像を再生しない + */ + "disableShowingAnimatedImages": string; + /** + * この設定に関わらずアニメーション画像が再生されないときは、ブラウザ・OSのアクセシビリティ設定や省電力設定等が干渉している場合があります。 + */ + "disableShowingAnimatedImages_caption": string; + /** + * メディアがセンシティブであることを分かりやすく表示 + */ + "highlightSensitiveMedia": string; + /** + * 確認のメールを送信しました。メールに記載されたリンクにアクセスして、設定を完了してください。 + */ + "verificationEmailSent": string; + /** + * 未設定 + */ + "notSet": string; + /** + * メールアドレスが確認されました + */ + "emailVerified": string; + /** + * お気に入りノートの数 + */ + "noteFavoritesCount": string; + /** + * Pageにいいねした数 + */ + "pageLikesCount": string; + /** + * Pageにいいねされた数 + */ + "pageLikedCount": string; + /** + * 連絡先 + */ + "contact": string; + /** + * システムのデフォルトのフォントを使う + */ + "useSystemFont": string; + /** + * クリップ + */ + "clips": string; + /** + * 実験的機能 + */ + "experimentalFeatures": string; + /** + * 実験的 + */ + "experimental": string; + /** + * これは実験的な機能です。仕様が変更されたり、正常に動作しなかったりする可能性があります。 + */ + "thisIsExperimentalFeature": string; + /** + * 開発者 + */ + "developer": string; + /** + * アカウントを見つけやすくする + */ + "makeExplorable": string; + /** + * オフにすると、「みつける」にアカウントが載らなくなります。 + */ + "makeExplorableDescription": string; + /** + * 複製 + */ + "duplicate": string; + /** + * 左 + */ + "left": string; + /** + * 中央 + */ + "center": string; + /** + * 広い + */ + "wide": string; + /** + * 狭い + */ + "narrow": string; + /** + * 設定はページリロード後に反映されます。 + */ + "reloadToApplySetting": string; + /** + * 反映には再起動が必要です。 + */ + "needReloadToApply": string; + /** + * 反映にはサーバーの再起動が必要です。 + */ + "needToRestartServerToApply": string; + /** + * タイトルバーを表示する + */ + "showTitlebar": string; + /** + * キャッシュをクリア + */ + "clearCache": string; + /** + * {n}人がオンライン + */ + "onlineUsersCount": ParameterizedString<"n">; + /** + * {n}ユーザー + */ + "nUsers": ParameterizedString<"n">; + /** + * {n}ノート + */ + "nNotes": ParameterizedString<"n">; + /** + * エラーリポートを送信 + */ + "sendErrorReports": string; + /** + * オンにすると、問題が発生したときにエラーの詳細情報がMisskeyに共有され、ソフトウェアの品質向上に役立てることができます。エラー情報には、OSのバージョン、ブラウザの種類、行動履歴などが含まれます。 + */ + "sendErrorReportsDescription": string; + /** + * マイテーマ + */ + "myTheme": string; + /** + * 背景 + */ + "backgroundColor": string; + /** + * アクセント + */ + "accentColor": string; + /** + * 文字 + */ + "textColor": string; + /** + * 名前を付けて保存 + */ + "saveAs": string; + /** + * 高度 + */ + "advanced": string; + /** + * 高度な設定 + */ + "advancedSettings": string; + /** + * 値 + */ + "value": string; + /** + * 作成日時 + */ + "createdAt": string; + /** + * 更新日時 + */ + "updatedAt": string; + /** + * 保存しますか? + */ + "saveConfirm": string; + /** + * 削除しますか? + */ + "deleteConfirm": string; + /** + * 有効な値ではありません。 + */ + "invalidValue": string; + /** + * レジストリ + */ + "registry": string; + /** + * アカウントを閉鎖する + */ + "closeAccount": string; + /** + * 現在のバージョン + */ + "currentVersion": string; + /** + * 最新のバージョン + */ + "latestVersion": string; + /** + * お使いのクライアントは最新です。 + */ + "youAreRunningUpToDateClient": string; + /** + * 新しいバージョンのクライアントが利用可能です。 + */ + "newVersionOfClientAvailable": string; + /** + * 使用量 + */ + "usageAmount": string; + /** + * 容量 + */ + "capacity": string; + /** + * 使用中 + */ + "inUse": string; + /** + * コードを編集 + */ + "editCode": string; + /** + * 適用 + */ + "apply": string; + /** + * サーバーからのお知らせを受け取る + */ + "receiveAnnouncementFromInstance": string; + /** + * メール通知 + */ + "emailNotification": string; + /** + * 公開 + */ + "publish": string; + /** + * チャンネル内検索 + */ + "inChannelSearch": string; + /** + * 右クリックでリアクションピッカーを開く + */ + "useReactionPickerForContextMenu": string; + /** + * {users}が入力中 + */ + "typingUsers": ParameterizedString<"users">; + /** + * 特定の日付にジャンプ + */ + "jumpToSpecifiedDate": string; + /** + * 過去のタイムラインを表示しています + */ + "showingPastTimeline": string; + /** + * クリア + */ + "clear": string; + /** + * 全て既読にする + */ + "markAllAsRead": string; + /** + * 戻る + */ + "goBack": string; + /** + * いいね解除しますか? + */ + "unlikeConfirm": string; + /** + * フルビュー + */ + "fullView": string; + /** + * フルビュー解除 + */ + "quitFullView": string; + /** + * 説明を追加 + */ + "addDescription": string; + /** + * 個々のノートのメニューから「ピン留め」を選択することで、ここにノートを表示しておくことができます。 + */ + "userPagePinTip": string; + /** + * 宛先に含まれていないメンションがあります + */ + "notSpecifiedMentionWarning": string; + /** + * 情報 + */ + "info": string; + /** + * ユーザー情報 + */ + "userInfo": string; + /** + * 不明 + */ + "unknown": string; + /** + * オンライン状態 + */ + "onlineStatus": string; + /** + * オンライン状態を隠す + */ + "hideOnlineStatus": string; + /** + * オンライン状態を隠すと、検索などの一部機能において利便性が低下することがあります。 + */ + "hideOnlineStatusDescription": string; + /** + * オンライン + */ + "online": string; + /** + * アクティブ + */ + "active": string; + /** + * オフライン + */ + "offline": string; + /** + * 非推奨 + */ + "notRecommended": string; + /** + * Botプロテクション + */ + "botProtection": string; + /** + * サーバーブロック・サイレンス + */ + "instanceBlocking": string; + /** + * アカウントを選択 + */ + "selectAccount": string; + /** + * アカウントを切り替え + */ + "switchAccount": string; + /** + * 有効 + */ + "enabled": string; + /** + * 無効 + */ + "disabled": string; + /** + * クイックアクション + */ + "quickAction": string; + /** + * ユーザー + */ + "user": string; + /** + * 管理 + */ + "administration": string; + /** + * アカウント + */ + "accounts": string; + /** + * 切り替え + */ + "switch": string; + /** + * 管理者情報が設定されていません。 + */ + "noMaintainerInformationWarning": string; + /** + * 問い合わせ先URLが設定されていません。 + */ + "noInquiryUrlWarning": string; + /** + * Botプロテクションが設定されていません。 + */ + "noBotProtectionWarning": string; + /** + * 設定する + */ + "configure": string; + /** + * ギャラリーへ投稿 + */ + "postToGallery": string; + /** + * このハッシュタグで投稿 + */ + "postToHashtag": string; + /** + * ギャラリー + */ + "gallery": string; + /** + * 最近の投稿 + */ + "recentPosts": string; + /** + * 人気の投稿 + */ + "popularPosts": string; + /** + * ノートで共有 + */ + "shareWithNote": string; + /** + * 広告 + */ + "ads": string; + /** + * 期限 + */ + "expiration": string; + /** + * 開始期間 + */ + "startingperiod": string; + /** + * メモ + */ + "memo": string; + /** + * 優先度 + */ + "priority": string; + /** + * 高 + */ + "high": string; + /** + * 中 + */ + "middle": string; + /** + * 低 + */ + "low": string; + /** + * メールアドレスの設定がされていません。 + */ + "emailNotConfiguredWarning": string; + /** + * 比率 + */ + "ratio": string; + /** + * 本文をプレビュー + */ + "previewNoteText": string; + /** + * カスタムCSS + */ + "customCss": string; + /** + * この設定は必ず知識のある方が行ってください。不適切な設定を行うとクライアントが正常に使用できなくなる恐れがあります。 + */ + "customCssWarn": string; + /** + * グローバル + */ + "global": string; + /** + * アイコンを四角形で表示 + */ + "squareAvatars": string; + /** + * 送信 + */ + "sent": string; + /** + * 受信 + */ + "received": string; + /** + * 検索結果 + */ + "searchResult": string; + /** + * ハッシュタグ + */ + "hashtags": string; + /** + * トラブルシューティング + */ + "troubleshooting": string; + /** + * UIにぼかし効果を使用 + */ + "useBlurEffect": string; + /** + * 詳しく + */ + "learnMore": string; + /** + * Misskeyが更新されました! + */ + "misskeyUpdated": string; + /** + * 更新情報を見る + */ + "whatIsNew": string; + /** + * 翻訳 + */ + "translate": string; + /** + * {x}から翻訳 + */ + "translatedFrom": ParameterizedString<"x">; + /** + * アカウントの削除が進行中です + */ + "accountDeletionInProgress": string; + /** + * サーバー上であなたのアカウントを一意に識別するための名前。アルファベット(a~z, A~Z)、数字(0~9)、およびアンダーバー(_)が使用できます。ユーザー名は後から変更することは出来ません。 + */ + "usernameInfo": string; + /** + * 藍モード + */ + "aiChanMode": string; + /** + * 開発者モード + */ + "devMode": string; + /** + * CWを維持する + */ + "keepCw": string; + /** + * Pub/Subのアカウント + */ + "pubSub": string; + /** + * 直近の通信 + */ + "lastCommunication": string; + /** + * 解決済み + */ + "resolved": string; + /** + * 未解決 + */ + "unresolved": string; + /** + * フォロワーを解除 + */ + "breakFollow": string; + /** + * フォロワー解除しますか? + */ + "breakFollowConfirm": string; + /** + * オンになっています + */ + "itsOn": string; + /** + * オフになっています + */ + "itsOff": string; + /** + * オン + */ + "on": string; + /** + * オフ + */ + "off": string; + /** + * アカウント登録にメールアドレスを必須にする + */ + "emailRequiredForSignup": string; + /** + * 未読 + */ + "unread": string; + /** + * フィルタ + */ + "filter": string; + /** + * コントロールパネル + */ + "controlPanel": string; + /** + * アカウントを管理 + */ + "manageAccounts": string; + /** + * リアクション一覧を公開する + */ + "makeReactionsPublic": string; + /** + * あなたがしたリアクション一覧を誰でも見れるようにします。 + */ + "makeReactionsPublicDescription": string; + /** + * クラシック + */ + "classic": string; + /** + * スレッドをミュート + */ + "muteThread": string; + /** + * スレッドのミュートを解除 + */ + "unmuteThread": string; + /** + * フォローの公開範囲 + */ + "followingVisibility": string; + /** + * フォロワーの公開範囲 + */ + "followersVisibility": string; + /** + * さらにスレッドを見る + */ + "continueThread": string; + /** + * アカウントが削除されます。よろしいですか? + */ + "deleteAccountConfirm": string; + /** + * パスワードが間違っています。 + */ + "incorrectPassword": string; + /** + * ワンタイムパスワードが間違っているか、期限切れになっています。 + */ + "incorrectTotp": string; + /** + * 「{choice}」に投票しますか? + */ + "voteConfirm": ParameterizedString<"choice">; + /** + * 隠す + */ + "hide": string; + /** + * モバイルデバイスのときドロワーで表示 + */ + "useDrawerReactionPickerForMobile": string; + /** + * おかえりなさい、{name}さん + */ + "welcomeBackWithName": ParameterizedString<"name">; + /** + * [{ok}]を押して、メールアドレスの確認を完了してください。 + */ + "clickToFinishEmailVerification": ParameterizedString<"ok">; + /** + * デバイスタイプ + */ + "overridedDeviceKind": string; + /** + * スマートフォン + */ + "smartphone": string; + /** + * タブレット + */ + "tablet": string; + /** + * 自動 + */ + "auto": string; + /** + * テーマカラー + */ + "themeColor": string; + /** + * サイズ + */ + "size": string; + /** + * 列の数 + */ + "numberOfColumn": string; + /** + * 検索 + */ + "searchByGoogle": string; + /** + * サーバーデフォルトのライトテーマ + */ + "instanceDefaultLightTheme": string; + /** + * サーバーデフォルトのダークテーマ + */ + "instanceDefaultDarkTheme": string; + /** + * オブジェクト形式のテーマコードを記入します。 + */ + "instanceDefaultThemeDescription": string; + /** + * ミュートする期限 + */ + "mutePeriod": string; + /** + * 期限 + */ + "period": string; + /** + * 無期限 + */ + "indefinitely": string; + /** + * 10分 + */ + "tenMinutes": string; + /** + * 1時間 + */ + "oneHour": string; + /** + * 1日 + */ + "oneDay": string; + /** + * 1週間 + */ + "oneWeek": string; + /** + * 1ヶ月 + */ + "oneMonth": string; + /** + * 3ヶ月 + */ + "threeMonths": string; + /** + * 1年 + */ + "oneYear": string; + /** + * 3日 + */ + "threeDays": string; + /** + * 反映されるまで時間がかかる場合があります。 + */ + "reflectMayTakeTime": string; + /** + * アカウント情報の取得に失敗しました + */ + "failedToFetchAccountInformation": string; + /** + * レート制限を超えました + */ + "rateLimitExceeded": string; + /** + * 画像のクロップ + */ + "cropImage": string; + /** + * 画像をクロップしますか? + */ + "cropImageAsk": string; + /** + * クロップする + */ + "cropYes": string; + /** + * そのまま使う + */ + "cropNo": string; + /** + * ファイル + */ + "file": string; + /** + * 直近{n}時間 + */ + "recentNHours": ParameterizedString<"n">; + /** + * 直近{n}日 + */ + "recentNDays": ParameterizedString<"n">; + /** + * メールサーバーの設定がされていません。 + */ + "noEmailServerWarning": string; + /** + * 未対応の通報があります。 + */ + "thereIsUnresolvedAbuseReportWarning": string; + /** + * 推奨 + */ + "recommended": string; + /** + * チェック + */ + "check": string; + /** + * このユーザーのドライブ容量上限を変更 + */ + "driveCapOverrideLabel": string; + /** + * 0以下を指定すると解除されます。 + */ + "driveCapOverrideCaption": string; + /** + * 閲覧するには管理者アカウントでログインしている必要があります。 + */ + "requireAdminForView": string; + /** + * システムにより自動で作成・管理されているアカウントです。 + */ + "isSystemAccount": string; + /** + * この操作を行うには {x} と入力してください + */ + "typeToConfirm": ParameterizedString<"x">; + /** + * アカウント削除 + */ + "deleteAccount": string; + /** + * ドキュメント + */ + "document": string; + /** + * ページキャッシュ数 + */ + "numberOfPageCache": string; + /** + * 多くすると利便性が向上しますが、負荷とメモリ使用量が増えます。 + */ + "numberOfPageCacheDescription": string; + /** + * ログアウトしますか? + */ + "logoutConfirm": string; + /** + * ログアウトするとクライアントの設定情報がブラウザから消去されます。再ログイン時に設定情報を復元できるようにするためには、設定の自動バックアップを有効にしてください。 + */ + "logoutWillClearClientData": string; + /** + * 最終利用日時 + */ + "lastActiveDate": string; + /** + * ステータスバー + */ + "statusbar": string; + /** + * 選択してください + */ + "pleaseSelect": string; + /** + * 反転 + */ + "reverse": string; + /** + * 色付き + */ + "colored": string; + /** + * 更新間隔 + */ + "refreshInterval": string; + /** + * ラベル + */ + "label": string; + /** + * タイプ + */ + "type": string; + /** + * 速度 + */ + "speed": string; + /** + * 遅い + */ + "slow": string; + /** + * 速い + */ + "fast": string; + /** + * センシティブなメディアの検出 + */ + "sensitiveMediaDetection": string; + /** + * ローカルのみ + */ + "localOnly": string; + /** + * リモートのみ + */ + "remoteOnly": string; + /** + * アップロード失敗 + */ + "failedToUpload": string; + /** + * 不適切な内容を含む可能性があると判定されたためアップロードできません。 + */ + "cannotUploadBecauseInappropriate": string; + /** + * ドライブの空き容量が無いためアップロードできません。 + */ + "cannotUploadBecauseNoFreeSpace": string; + /** + * ファイルサイズの制限を超えているためアップロードできません。 + */ + "cannotUploadBecauseExceedsFileSizeLimit": string; + /** + * 許可されていないファイル種別のためアップロードできません。 + */ + "cannotUploadBecauseUnallowedFileType": string; + /** + * ベータ + */ + "beta": string; + /** + * 自動センシティブ判定 + */ + "enableAutoSensitive": string; + /** + * 利用可能な場合は、機械学習を利用して自動でメディアにセンシティブフラグを設定します。この機能をオフにしても、サーバーによっては自動で設定されることがあります。 + */ + "enableAutoSensitiveDescription": string; + /** + * ユーザーのメールアドレスのバリデーションを、捨てアドかどうかや実際に通信可能かどうかなどを判定しより積極的に行います。オフにすると単に文字列として正しいかどうかのみチェックされます。 + */ + "activeEmailValidationDescription": string; + /** + * ナビゲーションバー + */ + "navbar": string; + /** + * シャッフル + */ + "shuffle": string; + /** + * アカウント + */ + "account": string; + /** + * 移動 + */ + "move": string; + /** + * プッシュ通知 + */ + "pushNotification": string; + /** + * プッシュ通知を有効化 + */ + "subscribePushNotification": string; + /** + * プッシュ通知を停止する + */ + "unsubscribePushNotification": string; + /** + * プッシュ通知は有効です + */ + "pushNotificationAlreadySubscribed": string; + /** + * ブラウザかサーバーがプッシュ通知に非対応 + */ + "pushNotificationNotSupported": string; + /** + * 通知が既読になったらプッシュ通知を削除する + */ + "sendPushNotificationReadMessage": string; + /** + * 端末の電池消費量が増加する可能性があります。 + */ + "sendPushNotificationReadMessageCaption": string; + /** + * ブラウザの通知設定を許可してください + */ + "pleaseAllowPushNotification": string; + /** + * 通知の送信権限の取得に失敗しました + */ + "browserPushNotificationDisabled": string; + /** + * {serverName}から通知を送信する権限がありません。ブラウザの設定から通知を許可して再度お試しください。 + */ + "browserPushNotificationDisabledDescription": ParameterizedString<"serverName">; + /** + * 最大化 + */ + "windowMaximize": string; + /** + * 最小化 + */ + "windowMinimize": string; + /** + * 元に戻す + */ + "windowRestore": string; + /** + * キャプション + */ + "caption": string; + /** + * Botアカウントでログイン中 + */ + "loggedInAsBot": string; + /** + * ツール + */ + "tools": string; + /** + * 読み込めません + */ + "cannotLoad": string; + /** + * プロフィール表示回数 + */ + "numberOfProfileView": string; + /** + * いいね! + */ + "like": string; + /** + * いいねを解除 + */ + "unlike": string; + /** + * いいね数 + */ + "numberOfLikes": string; + /** + * 表示 + */ + "show": string; + /** + * 今後表示しない + */ + "neverShow": string; + /** + * また後で + */ + "remindMeLater": string; + /** + * Misskeyを気に入っていただけましたか? + */ + "didYouLikeMisskey": string; + /** + * Misskeyは{host}が使用している無料のソフトウェアです。これからも開発を続けられるように、ぜひ寄付をお願いします! + */ + "pleaseDonate": ParameterizedString<"host">; + /** + * 対応するソースコードは{anchor}から利用可能です。 + */ + "correspondingSourceIsAvailable": ParameterizedString<"anchor">; + /** + * ロール + */ + "roles": string; + /** + * ロール + */ + "role": string; + /** + * ロールはありません + */ + "noRole": string; + /** + * 一般ユーザー + */ + "normalUser": string; + /** + * 未定義 + */ + "undefined": string; + /** + * アサイン + */ + "assign": string; + /** + * アサインを解除 + */ + "unassign": string; + /** + * 色 + */ + "color": string; + /** + * カスタム絵文字の管理 + */ + "manageCustomEmojis": string; + /** + * アバターデコレーションの管理 + */ + "manageAvatarDecorations": string; + /** + * これ以上作成することはできません。 + */ + "youCannotCreateAnymore": string; + /** + * 一時的に利用できません + */ + "cannotPerformTemporary": string; + /** + * 操作回数が制限を超過するため一時的に利用できません。しばらく時間を置いてから再度お試しください。 + */ + "cannotPerformTemporaryDescription": string; + /** + * パラメータエラー + */ + "invalidParamError": string; + /** + * リクエストパラメータに問題があります。通常これはバグですが、入力した文字数が多すぎる・許可されていない文字を入力している等の可能性もあります。 + */ + "invalidParamErrorDescription": string; + /** + * 操作が拒否されました + */ + "permissionDeniedError": string; + /** + * このアカウントにはこの操作を行うための権限がありません。 + */ + "permissionDeniedErrorDescription": string; + /** + * プリセット + */ + "preset": string; + /** + * プリセットから選択 + */ + "selectFromPresets": string; + /** + * カスタム + */ + "custom": string; + /** + * 実績 + */ + "achievements": string; + /** + * サーバーの応答が無効です + */ + "gotInvalidResponseError": string; + /** + * サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから再度お試しください。 + */ + "gotInvalidResponseErrorDescription": string; + /** + * この投稿は迷惑になる可能性があります。 + */ + "thisPostMayBeAnnoying": string; + /** + * ホームに投稿 + */ + "thisPostMayBeAnnoyingHome": string; + /** + * やめる + */ + "thisPostMayBeAnnoyingCancel": string; + /** + * このまま投稿 + */ + "thisPostMayBeAnnoyingIgnore": string; + /** + * リノートのスマート省略 + */ + "collapseRenotes": string; + /** + * リアクションやリノートをしたことがあるノートをたたんで表示します。 + */ + "collapseRenotesDescription": string; + /** + * サーバー内部エラー + */ + "internalServerError": string; + /** + * サーバー内部で予期しないエラーが発生しました。 + */ + "internalServerErrorDescription": string; + /** + * エラー情報をコピー + */ + "copyErrorInfo": string; + /** + * このサーバーに登録する + */ + "joinThisServer": string; + /** + * 他のサーバーを探す + */ + "exploreOtherServers": string; + /** + * タイムラインを見てみる + */ + "letsLookAtTimeline": string; + /** + * 連合なしにしますか? + */ + "disableFederationConfirm": string; + /** + * 連合なしにしても投稿は非公開になりません。ほとんどの場合、連合なしにする必要はありません。 + */ + "disableFederationConfirmWarn": string; + /** + * 連合なしにする + */ + "disableFederationOk": string; + /** + * 現在このサーバーは招待制です。招待コードをお持ちの方のみ登録できます。 + */ + "invitationRequiredToRegister": string; + /** + * このサーバーではメール配信はサポートされていません + */ + "emailNotSupported": string; + /** + * チャンネルに投稿 + */ + "postToTheChannel": string; + /** + * 後から変更できません。 + */ + "cannotBeChangedLater": string; + /** + * リアクションの受け入れ + */ + "reactionAcceptance": string; + /** + * いいねのみ + */ + "likeOnly": string; + /** + * 全て (リモートはいいねのみ) + */ + "likeOnlyForRemote": string; + /** + * 非センシティブのみ + */ + "nonSensitiveOnly": string; + /** + * 非センシティブのみ (リモートはいいねのみ) + */ + "nonSensitiveOnlyForLocalLikeOnlyForRemote": string; + /** + * 自分に割り当てられたロール + */ + "rolesAssignedToMe": string; + /** + * パスワードリセットしますか? + */ + "resetPasswordConfirm": string; + /** + * センシティブワード + */ + "sensitiveWords": string; + /** + * 設定したワードが含まれるノートの公開範囲をホームにします。改行で区切って複数設定できます。 + */ + "sensitiveWordsDescription": string; + /** + * スペースで区切るとAND指定になり、キーワードをスラッシュで囲むと正規表現になります。 + */ + "sensitiveWordsDescription2": string; + /** + * 禁止ワード + */ + "prohibitedWords": string; + /** + * 設定したワードが含まれるノートを投稿しようとした際、エラーとなるようにします。改行で区切って複数設定できます。 + */ + "prohibitedWordsDescription": string; + /** + * スペースで区切るとAND指定になり、キーワードをスラッシュで囲むと正規表現になります。 + */ + "prohibitedWordsDescription2": string; + /** + * 非表示ハッシュタグ + */ + "hiddenTags": string; + /** + * 設定したタグをトレンドに表示させないようにします。改行で区切って複数設定できます。 + */ + "hiddenTagsDescription": string; + /** + * ノート検索は利用できません。 + */ + "notesSearchNotAvailable": string; + /** + * ユーザー検索は利用できません。 + */ + "usersSearchNotAvailable": string; + /** + * ライセンス + */ + "license": string; + /** + * お気に入り解除しますか? + */ + "unfavoriteConfirm": string; + /** + * 自分のクリップ + */ + "myClips": string; + /** + * ドライブクリーナー + */ + "drivecleaner": string; + /** + * すべてのキューを今すぐ再試行 + */ + "retryAllQueuesNow": string; + /** + * 今すぐ再試行しますか? + */ + "retryAllQueuesConfirmTitle": string; + /** + * 一時的にサーバーの負荷が増大することがあります。 + */ + "retryAllQueuesConfirmText": string; + /** + * リモートユーザーのチャートを生成 + */ + "enableChartsForRemoteUser": string; + /** + * リモートサーバーのチャートを生成 + */ + "enableChartsForFederatedInstances": string; + /** + * リモートサーバーの情報を取得 + */ + "enableStatsForFederatedInstances": string; + /** + * ノートのアクションにクリップを追加 + */ + "showClipButtonInNoteFooter": string; + /** + * リアクションの表示サイズ + */ + "reactionsDisplaySize": string; + /** + * リアクションの最大横幅を制限し、縮小して表示する + */ + "limitWidthOfReaction": string; + /** + * ノートIDまたはURL + */ + "noteIdOrUrl": string; + /** + * 動画 + */ + "video": string; + /** + * 動画 + */ + "videos": string; + /** + * 音声 + */ + "audio": string; + /** + * 音声 + */ + "audioFiles": string; + /** + * データセーバー + */ + "dataSaver": string; + /** + * アカウントの移行 + */ + "accountMigration": string; + /** + * このユーザーは新しいアカウントに移行しました: + */ + "accountMoved": string; + /** + * このアカウントは移行されています + */ + "accountMovedShort": string; + /** + * この操作はできません + */ + "operationForbidden": string; + /** + * 常に広告を表示する + */ + "forceShowAds": string; + /** + * メモを追加 + */ + "addMemo": string; + /** + * メモを編集 + */ + "editMemo": string; + /** + * リアクション一覧 + */ + "reactionsList": string; + /** + * リノート一覧 + */ + "renotesList": string; + /** + * 通知の表示 + */ + "notificationDisplay": string; + /** + * 左上 + */ + "leftTop": string; + /** + * 右上 + */ + "rightTop": string; + /** + * 左下 + */ + "leftBottom": string; + /** + * 右下 + */ + "rightBottom": string; + /** + * スタック方向 + */ + "stackAxis": string; + /** + * 縦 + */ + "vertical": string; + /** + * 横 + */ + "horizontal": string; + /** + * 位置 + */ + "position": string; + /** + * サーバールール + */ + "serverRules": string; + /** + * このサーバーに登録するには、以下の内容を確認し同意する必要があります。 + */ + "pleaseConfirmBelowBeforeSignup": string; + /** + * 続けるには、全ての「同意する」にチェックが入っている必要があります。 + */ + "pleaseAgreeAllToContinue": string; + /** + * 続ける + */ + "continue": string; + /** + * 予約ユーザー名 + */ + "preservedUsernames": string; + /** + * 予約するユーザー名を改行で列挙します。ここで指定されたユーザー名はアカウント作成時に使えなくなりますが、管理者によるアカウント作成時はこの制限を受けません。また、既に存在するアカウントも影響を受けません。 + */ + "preservedUsernamesDescription": string; + /** + * このファイルからノートを作成 + */ + "createNoteFromTheFile": string; + /** + * アーカイブ + */ + "archive": string; + /** + * アーカイブ済み + */ + "archived": string; + /** + * アーカイブ解除 + */ + "unarchive": string; + /** + * {name}をアーカイブしますか? + */ + "channelArchiveConfirmTitle": ParameterizedString<"name">; + /** + * アーカイブすると、チャンネル一覧や検索結果に表示されなくなり、新たな書き込みもできなくなります。 + */ + "channelArchiveConfirmDescription": string; + /** + * このチャンネルはアーカイブされています。 + */ + "thisChannelArchived": string; + /** + * ノートの表示 + */ + "displayOfNote": string; + /** + * 初期設定 + */ + "initialAccountSetting": string; + /** + * フォロー中 + */ + "youFollowing": string; + /** + * 生成AIによる学習を拒否 + */ + "preventAiLearning": string; + /** + * 外部の文章生成AIや画像生成AIに対して、投稿したノートや画像などのコンテンツを学習の対象にしないように要求します。これはnoaiフラグをHTMLレスポンスに含めることによって実現されますが、この要求に従うかはそのAI次第であるため、学習を完全に防止するものではありません。 + */ + "preventAiLearningDescription": string; + /** + * オプション + */ + "options": string; + /** + * ユーザー指定 + */ + "specifyUser": string; + /** + * 照会しますか? + */ + "lookupConfirm": string; + /** + * ハッシュタグのページを開きますか? + */ + "openTagPageConfirm": string; + /** + * ホスト指定 + */ + "specifyHost": string; + /** + * プレビューできません + */ + "failedToPreviewUrl": string; + /** + * 更新 + */ + "update": string; + /** + * リアクションとして使えるロール + */ + "rolesThatCanBeUsedThisEmojiAsReaction": string; + /** + * ロールの指定が一つもない場合、誰でもリアクションとして使えます。 + */ + "rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription": string; + /** + * ロールは公開ロールである必要があります。 + */ + "rolesThatCanBeUsedThisEmojiAsReactionPublicRoleWarn": string; + /** + * リアクションを取り消しますか? + */ + "cancelReactionConfirm": string; + /** + * リアクションを変更しますか? + */ + "changeReactionConfirm": string; + /** + * あとで + */ + "later": string; + /** + * Misskeyへ + */ + "goToMisskey": string; + /** + * 絵文字の追加辞書 + */ + "additionalEmojiDictionary": string; + /** + * インストール済み + */ + "installed": string; + /** + * ブランディング + */ + "branding": string; + /** + * サーバーのマシン情報を公開する + */ + "enableServerMachineStats": string; + /** + * ユーザーごとのIdenticon生成を有効にする + */ + "enableIdenticonGeneration": string; + /** + * リモートユーザーに付与したロールバッジを表示する + */ + "showRoleBadgesOfRemoteUsers": string; + /** + * オフにするとパフォーマンスが向上します。 + */ + "turnOffToImprovePerformance": string; + /** + * 招待コードを作成 + */ + "createInviteCode": string; + /** + * オプションを指定して作成 + */ + "createWithOptions": string; + /** + * 作成数 + */ + "createCount": string; + /** + * 招待コードを作成しました + */ + "inviteCodeCreated": string; + /** + * 作成できる招待コードの数が上限に達しています。 + */ + "inviteLimitExceeded": string; + /** + * 作成できる招待コード: 残り {limit} 個 + */ + "createLimitRemaining": ParameterizedString<"limit">; + /** + * {time}で最大 {limit} 個の招待コードを作成できます。 + */ + "inviteLimitResetCycle": ParameterizedString<"time" | "limit">; + /** + * 有効期限 + */ + "expirationDate": string; + /** + * 有効期限を設けない + */ + "noExpirationDate": string; + /** + * 招待コードが使用された日時 + */ + "inviteCodeUsedAt": string; + /** + * 招待コードを使用したユーザー + */ + "registeredUserUsingInviteCode": string; + /** + * メール認証待ち + */ + "waitingForMailAuth": string; + /** + * 招待コードを作成したユーザー + */ + "inviteCodeCreator": string; + /** + * 使用日時 + */ + "usedAt": string; + /** + * 未使用 + */ + "unused": string; + /** + * 使用済み + */ + "used": string; + /** + * 期限切れ + */ + "expired": string; + /** + * 同意しますか? + */ + "doYouAgree": string; + /** + * 重要ですので必ずお読みください。 + */ + "beSureToReadThisAsItIsImportant": string; + /** + * 「{x}」の内容をよく読み、同意します。 + */ + "iHaveReadXCarefullyAndAgree": ParameterizedString<"x">; + /** + * ダイアログ + */ + "dialog": string; + /** + * アイコン + */ + "icon": string; + /** + * あなたへ + */ + "forYou": string; + /** + * 現在のお知らせ + */ + "currentAnnouncements": string; + /** + * 過去のお知らせ + */ + "pastAnnouncements": string; + /** + * 未読のお知らせがあります。 + */ + "youHaveUnreadAnnouncements": string; + /** + * ブラウザまたはデバイスの指示に従って、セキュリティキーまたはパスキーを使用してください。 + */ + "useSecurityKey": string; + /** + * 返信 + */ + "replies": string; + /** + * リノート + */ + "renotes": string; + /** + * 返信を見る + */ + "loadReplies": string; + /** + * 会話を見る + */ + "loadConversation": string; + /** + * ピン留めされたリスト + */ + "pinnedList": string; + /** + * デバイスの画面を常にオンにする + */ + "keepScreenOn": string; + /** + * このリンク先の所有者であることが確認されました + */ + "verifiedLink": string; + /** + * 投稿を通知 + */ + "notifyNotes": string; + /** + * 投稿の通知を解除 + */ + "unnotifyNotes": string; + /** + * 認証 + */ + "authentication": string; + /** + * 続けるには認証を行ってください + */ + "authenticationRequiredToContinue": string; + /** + * 日時 + */ + "dateAndTime": string; + /** + * リノートを表示 + */ + "showRenotes": string; + /** + * 編集済み + */ + "edited": string; + /** + * 通知の受信設定 + */ + "notificationRecieveConfig": string; + /** + * 相互フォロー + */ + "mutualFollow": string; + /** + * フォロー中またはフォロワー + */ + "followingOrFollower": string; + /** + * ファイル付きのみ + */ + "fileAttachedOnly": string; + /** + * TLに他の人への返信を含める + */ + "showRepliesToOthersInTimeline": string; + /** + * TLに他の人への返信を含めない + */ + "hideRepliesToOthersInTimeline": string; + /** + * TLに現在フォロー中の人全員の返信を含めるようにする + */ + "showRepliesToOthersInTimelineAll": string; + /** + * TLに現在フォロー中の人全員の返信を含めないようにする + */ + "hideRepliesToOthersInTimelineAll": string; + /** + * この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めるようにしますか? + */ + "confirmShowRepliesAll": string; + /** + * この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めないようにしますか? + */ + "confirmHideRepliesAll": string; + /** + * 外部サービス + */ + "externalServices": string; + /** + * ソースコード + */ + "sourceCode": string; + /** + * ソースコードはまだ提供されていません。この問題の修正について管理者に問い合わせてください。 + */ + "sourceCodeIsNotYetProvided": string; + /** + * リポジトリURL + */ + "repositoryUrl": string; + /** + * ソースコードが公開されているリポジトリがある場合、そのURLを記入します。Misskeyを現状のまま(ソースコードにいかなる変更も加えずに)使用している場合は https://github.com/misskey-dev/misskey と記入します。 + */ + "repositoryUrlDescription": string; + /** + * リポジトリを公開していない場合、代わりにtarballを提供する必要があります。詳細は.config/example.ymlを参照してください。 + */ + "repositoryUrlOrTarballRequired": string; + /** + * フィードバック + */ + "feedback": string; + /** + * フィードバックURL + */ + "feedbackUrl": string; + /** + * 運営者情報 + */ + "impressum": string; + /** + * 運営者情報URL + */ + "impressumUrl": string; + /** + * ドイツなどの一部の国と地域では表示が義務付けられています(Impressum)。 + */ + "impressumDescription": string; + /** + * プライバシーポリシー + */ + "privacyPolicy": string; + /** + * プライバシーポリシーURL + */ + "privacyPolicyUrl": string; + /** + * 利用規約・プライバシーポリシー + */ + "tosAndPrivacyPolicy": string; + /** + * アイコンデコレーション + */ + "avatarDecorations": string; + /** + * 付ける + */ + "attach": string; + /** + * 外す + */ + "detach": string; + /** + * 全て外す + */ + "detachAll": string; + /** + * 角度 + */ + "angle": string; + /** + * 反転 + */ + "flip": string; + /** + * アイコンのデコレーションを表示 + */ + "showAvatarDecorations": string; + /** + * 離してリロード + */ + "releaseToRefresh": string; + /** + * リロード中 + */ + "refreshing": string; + /** + * 引っ張ってリロード + */ + "pullDownToRefresh": string; + /** + * 通知をグルーピング + */ + "useGroupedNotifications": string; + /** + * メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。 + */ + "emailVerificationFailedError": string; + /** + * 「内容を隠す」がオンの場合は注釈の記述が必要です。 + */ + "cwNotationRequired": string; + /** + * リアクションする + */ + "doReaction": string; + /** + * コード + */ + "code": string; + /** + * 設定の反映にはリロードが必要です。 + */ + "reloadRequiredToApplySettings": string; + /** + * 残り: {n} + */ + "remainingN": ParameterizedString<"n">; + /** + * 現在の内容に上書きされますがよろしいですか? + */ + "overwriteContentConfirm": string; + /** + * 季節に応じた画面の演出 + */ + "seasonalScreenEffect": string; + /** + * デコる + */ + "decorate": string; + /** + * 装飾を追加 + */ + "addMfmFunction": string; + /** + * 高度なMFMのピッカーを表示する + */ + "enableQuickAddMfmFunction": string; + /** + * バブルゲーム + */ + "bubbleGame": string; + /** + * 効果音 + */ + "sfx": string; + /** + * サウンドが再生されます + */ + "soundWillBePlayed": string; + /** + * リプレイを見る + */ + "showReplay": string; + /** + * リプレイ + */ + "replay": string; + /** + * リプレイ中 + */ + "replaying": string; + /** + * リプレイを終了 + */ + "endReplay": string; + /** + * リプレイデータをコピー + */ + "copyReplayData": string; + /** + * ランキング + */ + "ranking": string; + /** + * 直近{n}日 + */ + "lastNDays": ParameterizedString<"n">; + /** + * タイトルへ + */ + "backToTitle": string; + /** + * お住まいの地域 + */ + "hemisphere": string; + /** + * センシティブなファイルを含むノートを表示 + */ + "withSensitive": string; + /** + * {name}のセンシティブなファイルを含む投稿 + */ + "userSaysSomethingSensitive": ParameterizedString<"name">; + /** + * スワイプしてタブを切り替える + */ + "enableHorizontalSwipe": string; + /** + * 読み込み中 + */ + "loading": string; + /** + * やめる + */ + "surrender": string; + /** + * リトライ + */ + "gameRetry": string; + /** + * 使用しない場合は空欄にしてください + */ + "notUsePleaseLeaveBlank": string; + /** + * ワンタイムパスワードを使う + */ + "useTotp": string; + /** + * バックアップコードを使う + */ + "useBackupCode": string; + /** + * アプリを起動 + */ + "launchApp": string; + /** + * 動画・音声の再生にブラウザのUIを使用する + */ + "useNativeUIForVideoAudioPlayer": string; + /** + * オリジナルのファイル名を保持 + */ + "keepOriginalFilename": string; + /** + * この設定をオフにすると、アップロード時にファイル名が自動でランダム文字列に置き換えられます。 + */ + "keepOriginalFilenameDescription": string; + /** + * 説明文はありません + */ + "noDescription": string; + /** + * フォローの際常に確認する + */ + "alwaysConfirmFollow": string; + /** + * お問い合わせ + */ + "inquiry": string; + /** + * もう一度お試しください。 + */ + "tryAgain": string; + /** + * センシティブなメディアを表示するとき確認する + */ + "confirmWhenRevealingSensitiveMedia": string; + /** + * センシティブなメディアです。表示しますか? + */ + "sensitiveMediaRevealConfirm": string; + /** + * 作成したリスト + */ + "createdLists": string; + /** + * 作成したアンテナ + */ + "createdAntennas": string; + /** + * {x}から + */ + "fromX": ParameterizedString<"x">; + /** + * 埋め込みコードを生成 + */ + "genEmbedCode": string; + /** + * このユーザーのノート一覧 + */ + "noteOfThisUser": string; + /** + * これ以上このクリップにノートを追加できません。 + */ + "clipNoteLimitExceeded": string; + /** + * パフォーマンス + */ + "performance": string; + /** + * 変更あり + */ + "modified": string; + /** + * 破棄 + */ + "discard": string; + /** + * {n}件の変更があります + */ + "thereAreNChanges": ParameterizedString<"n">; + /** + * パスキーでログイン + */ + "signinWithPasskey": string; + /** + * 登録されていないパスキーです。 + */ + "unknownWebAuthnKey": string; + /** + * パスキーの検証に失敗しました。 + */ + "passkeyVerificationFailed": string; + /** + * パスキーの検証に成功しましたが、パスワードレスログインが無効になっています。 + */ + "passkeyVerificationSucceededButPasswordlessLoginDisabled": string; + /** + * フォロワーへのメッセージ + */ + "messageToFollower": string; + /** + * 対象 + */ + "target": string; + /** + * CAPTCHAのテストを目的とした機能です。本番環境で使用しないでください。 + */ + "testCaptchaWarning": string; + /** + * 禁止ワード(ユーザーの名前) + */ + "prohibitedWordsForNameOfUser": string; + /** + * このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。ユーザー名(username)に対しても全て小文字に置き換えて検査します。 + */ + "prohibitedWordsForNameOfUserDescription": string; + /** + * 変更しようとした名前に禁止された文字列が含まれています + */ + "yourNameContainsProhibitedWords": string; + /** + * 名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。 + */ + "yourNameContainsProhibitedWordsDescription": string; + /** + * 投稿者により、表示にはログインが必要と設定されています + */ + "thisContentsAreMarkedAsSigninRequiredByAuthor": string; + /** + * ロックダウン + */ + "lockdown": string; + /** + * アカウントを選択してください + */ + "pleaseSelectAccount": string; + /** + * 利用可能なロール + */ + "availableRoles": string; + /** + * 注意事項を理解した上でオンにします。 + */ + "acknowledgeNotesAndEnable": string; + /** + * このサーバーはホワイトリスト連合で運用されています。管理者が指定したサーバー以外とやり取りすることはできません。 + */ + "federationSpecified": string; + /** + * このサーバーは連合が無効化されています。他のサーバーのユーザーとやり取りすることはできません。 + */ + "federationDisabled": string; + /** + * 下書き + */ + "draft": string; + /** + * 下書きと予約投稿 + */ + "draftsAndScheduledNotes": string; + /** + * リアクションする際に確認する + */ + "confirmOnReact": string; + /** + * " {emoji} " をリアクションしますか? + */ + "reactAreYouSure": ParameterizedString<"emoji">; + /** + * このメディアをセンシティブとして設定しますか? + */ + "markAsSensitiveConfirm": string; + /** + * このメディアのセンシティブ指定を解除しますか? + */ + "unmarkAsSensitiveConfirm": string; + /** + * 環境設定 + */ + "preferences": string; + /** + * アクセシビリティ + */ + "accessibility": string; + /** + * 設定のプロファイル + */ + "preferencesProfile": string; + /** + * 設定IDをコピー + */ + "copyPreferenceId": string; + /** + * 初期値に戻す + */ + "resetToDefaultValue": string; + /** + * アカウントで上書き + */ + "overrideByAccount": string; + /** + * 無題 + */ + "untitled": string; + /** + * 名前はありません + */ + "noName": string; + /** + * スキップ + */ + "skip": string; + /** + * 復元 + */ + "restore": string; + /** + * デバイス間で同期 + */ + "syncBetweenDevices": string; + /** + * サーバーに設定値が存在します + */ + "preferenceSyncConflictTitle": string; + /** + * 同期が有効にされた設定項目は設定値をサーバーに保存しますが、この設定項目のサーバーに保存された設定値が見つかりました。どうしますか? + */ + "preferenceSyncConflictText": string; + /** + * 統合する + */ + "preferenceSyncConflictChoiceMerge": string; + /** + * サーバーの設定値で上書き + */ + "preferenceSyncConflictChoiceServer": string; + /** + * デバイスの設定値で上書き + */ + "preferenceSyncConflictChoiceDevice": string; + /** + * 同期の有効化をキャンセル + */ + "preferenceSyncConflictChoiceCancel": string; + /** + * ペースト + */ + "paste": string; + /** + * 絵文字パレット + */ + "emojiPalette": string; + /** + * 投稿フォーム + */ + "postForm": string; + /** + * 文字数 + */ + "textCount": string; + /** + * 情報 + */ + "information": string; + /** + * チャット + */ + "chat": string; + /** + * ダイレクトメッセージ + */ + "directMessage": string; + /** + * メッセージ + */ + "directMessage_short": string; + /** + * 旧設定情報を移行 + */ + "migrateOldSettings": string; + /** + * 通常これは自動で行われていますが、何らかの理由により上手く移行されなかった場合は手動で移行処理をトリガーできます。現在の設定情報は上書きされます。 + */ + "migrateOldSettings_description": string; + /** + * 圧縮 + */ + "compress": string; + /** + * 右 + */ + "right": string; + /** + * 下 + */ + "bottom": string; + /** + * 上 + */ + "top": string; + /** + * 埋め込み + */ + "embed": string; + /** + * 設定を移行しています。しばらくお待ちください... (後ほど、設定→その他→旧設定情報を移行 で手動で移行することもできます) + */ + "settingsMigrating": string; + /** + * 読み取り専用 + */ + "readonly": string; + /** + * デッキへ戻る + */ + "goToDeck": string; + /** + * 連合ジョブ + */ + "federationJobs": string; + /** + * ドライブでは、過去にアップロードしたファイルの一覧が表示されます。
+ * ノートに添付する際に再利用したり、あとで投稿するファイルを予めアップロードしておくこともできます。
+ * ファイルを削除すると、今までそのファイルを使用した全ての場所(ノート、ページ、アバター、バナー等)からも見えなくなるので注意してください。
+ * フォルダを作って整理することもできます。 + */ + "driveAboutTip": string; + /** + * スクロールして閉じる + */ + "scrollToClose": string; + /** + * アドバイス + */ + "advice": string; + /** + * リアルタイムモード + */ + "realtimeMode": string; + /** + * オンにする + */ + "turnItOn": string; + /** + * オフにする + */ + "turnItOff": string; + /** + * 絵文字ミュート + */ + "emojiMute": string; + /** + * 絵文字ミュート解除 + */ + "emojiUnmute": string; + /** + * {x}をミュート + */ + "muteX": ParameterizedString<"x">; + /** + * {x}のミュートを解除 + */ + "unmuteX": ParameterizedString<"x">; + /** + * 中止 + */ + "abort": string; + /** + * ヒントとコツ + */ + "tip": string; + /** + * 全ての「ヒントとコツ」を再表示 + */ + "redisplayAllTips": string; + /** + * 全ての「ヒントとコツ」を非表示 + */ + "hideAllTips": string; + /** + * デフォルトの画像圧縮度 + */ + "defaultImageCompressionLevel": string; + /** + * 低くすると画質を保てますが、ファイルサイズは増加します。
高くするとファイルサイズを減らせますが、画質は低下します。 + */ + "defaultImageCompressionLevel_description": string; + /** + * デフォルトの圧縮度 + */ + "defaultCompressionLevel": string; + /** + * 低くすると品質を保てますが、ファイルサイズは増加します。
高くするとファイルサイズを減らせますが、品質は低下します。 + */ + "defaultCompressionLevel_description": string; + /** + * 分 + */ + "inMinutes": string; + /** + * 日 + */ + "inDays": string; + /** + * セーフモードが有効です + */ + "safeModeEnabled": string; + /** + * セーフモードが有効なため、プラグインはすべて無効化されています。 + */ + "pluginsAreDisabledBecauseSafeMode": string; + /** + * セーフモードが有効なため、カスタムCSSは適用されていません。 + */ + "customCssIsDisabledBecauseSafeMode": string; + /** + * セーフモードが有効な間はデフォルトのテーマが使用されます。セーフモードをオフにすると元に戻ります。 + */ + "themeIsDefaultBecauseSafeMode": string; + /** + * ベータ版の検証にご協力いただきありがとうございます! + */ + "thankYouForTestingBeta": string; + /** + * ユーザー指定ノートを作成 + */ + "createUserSpecifiedNote": string; + /** + * 投稿を予約 + */ + "schedulePost": string; + /** + * {x}に投稿を予約します + */ + "scheduleToPostOnX": ParameterizedString<"x">; + /** + * {x}に投稿が予約されています + */ + "scheduledToPostOnX": ParameterizedString<"x">; + /** + * 予約 + */ + "schedule": string; + /** + * 予約 + */ + "scheduled": string; + /** + * ウィジェット + */ + "widgets": string; + /** + * デバイス情報 + */ + "deviceInfo": string; + /** + * 技術的なお問い合わせの際に、以下の情報を併記すると問題の解決に役立つことがあります。 + */ + "deviceInfoDescription": string; + /** + * あなたは管理者です + */ + "youAreAdmin": string; + /** + * フレーム + */ + "frame": string; + /** + * プリセット + */ + "presets": string; + /** + * ゼロ埋め + */ + "zeroPadding": string; + "_imageEditing": { + "_vars": { + /** + * ファイルのキャプション + */ + "caption": string; + /** + * ファイル名 + */ + "filename": string; + /** + * 拡張子無しファイル名 + */ + "filename_without_ext": string; + /** + * 撮影年 + */ + "year": string; + /** + * 撮影月 + */ + "month": string; + /** + * 撮影日 + */ + "day": string; + /** + * 撮影した時刻(時) + */ + "hour": string; + /** + * 撮影した時刻(分) + */ + "minute": string; + /** + * 撮影した時刻(秒) + */ + "second": string; + /** + * カメラ名 + */ + "camera_model": string; + /** + * レンズ名 + */ + "camera_lens_model": string; + /** + * 焦点距離 + */ + "camera_mm": string; + /** + * 焦点距離(35mm判換算) + */ + "camera_mm_35": string; + /** + * 絞り + */ + "camera_f": string; + /** + * シャッタースピード + */ + "camera_s": string; + /** + * ISO感度 + */ + "camera_iso": string; + /** + * 緯度 + */ + "gps_lat": string; + /** + * 経度 + */ + "gps_long": string; + }; + }; + "_imageFrameEditor": { + /** + * フレームの編集 + */ + "title": string; + /** + * 画像にフレームやメタデータを含んだラベルを追加して装飾できます。 + */ + "tip": string; + /** + * ヘッダー + */ + "header": string; + /** + * フッター + */ + "footer": string; + /** + * フチの幅 + */ + "borderThickness": string; + /** + * ラベルの幅 + */ + "labelThickness": string; + /** + * ラベルのスケール + */ + "labelScale": string; + /** + * 中央揃え + */ + "centered": string; + /** + * キャプション(大) + */ + "captionMain": string; + /** + * キャプション(小) + */ + "captionSub": string; + /** + * 利用可能な変数 + */ + "availableVariables": string; + /** + * 二次元コード + */ + "withQrCode": string; + /** + * 背景色 + */ + "backgroundColor": string; + /** + * 文字色 + */ + "textColor": string; + /** + * フォント + */ + "font": string; + /** + * セリフ + */ + "fontSerif": string; + /** + * サンセリフ + */ + "fontSansSerif": string; + /** + * 保存せずに終了しますか? + */ + "quitWithoutSaveConfirm": string; + /** + * 画像の読み込みに失敗しました + */ + "failedToLoadImage": string; + }; + "_compression": { + "_quality": { + /** + * 高品質 + */ + "high": string; + /** + * 中品質 + */ + "medium": string; + /** + * 低品質 + */ + "low": string; + }; + "_size": { + /** + * サイズ大 + */ + "large": string; + /** + * サイズ中 + */ + "medium": string; + /** + * サイズ小 + */ + "small": string; + }; + }; + "_order": { + /** + * 新しい順 + */ + "newest": string; + /** + * 古い順 + */ + "oldest": string; + }; + "_chat": { + /** + * メッセージ + */ + "messages": string; + /** + * まだメッセージはありません + */ + "noMessagesYet": string; + /** + * 新しいメッセージ + */ + "newMessage": string; + /** + * 個別 + */ + "individualChat": string; + /** + * 特定ユーザーと個別にメッセージのやりとりができます。 + */ + "individualChat_description": string; + /** + * グループ + */ + "roomChat": string; + /** + * 複数人でメッセージのやりとりができます。 + * また、個別のメッセージを許可していないユーザーとでも、相手が受け入れればやりとりできます。 + */ + "roomChat_description": string; + /** + * グループを作成 + */ + "createRoom": string; + /** + * ユーザーを招待してメッセージを送信しましょう + */ + "inviteUserToChat": string; + /** + * 作成したグループ + */ + "yourRooms": string; + /** + * 参加中のグループ + */ + "joiningRooms": string; + /** + * 招待 + */ + "invitations": string; + /** + * 招待はありません + */ + "noInvitations": string; + /** + * 履歴 + */ + "history": string; + /** + * 履歴はありません + */ + "noHistory": string; + /** + * グループはありません + */ + "noRooms": string; + /** + * ユーザーを招待 + */ + "inviteUser": string; + /** + * 送信した招待 + */ + "sentInvitations": string; + /** + * 参加 + */ + "join": string; + /** + * 無視 + */ + "ignore": string; + /** + * グループから退出 + */ + "leave": string; + /** + * メンバー + */ + "members": string; + /** + * メッセージを検索 + */ + "searchMessages": string; + /** + * ホーム + */ + "home": string; + /** + * 送信 + */ + "send": string; + /** + * 改行 + */ + "newline": string; + /** + * このグループをミュート + */ + "muteThisRoom": string; + /** + * グループを削除 + */ + "deleteRoom": string; + /** + * このサーバー、またはこのアカウントでダイレクトメッセージは有効化されていません。 + */ + "chatNotAvailableForThisAccountOrServer": string; + /** + * このサーバー、またはこのアカウントでダイレクトメッセージは読み取り専用となっています。新たに書き込んだり、グループを作成・参加したりすることはできません。 + */ + "chatIsReadOnlyForThisAccountOrServer": string; + /** + * 相手のアカウントでダイレクトメッセージが使えない状態になっています。 + */ + "chatNotAvailableInOtherAccount": string; + /** + * このユーザーとのダイレクトメッセージを開始できません + */ + "cannotChatWithTheUser": string; + /** + * ダイレクトメッセージが使えない状態になっているか、相手がダイレクトメッセージを開放していません。 + */ + "cannotChatWithTheUser_description": string; + /** + * あなたはこのグループの参加者ではありませんが、招待が届いています。参加するには、招待を承認してください。 + */ + "youAreNotAMemberOfThisRoomButInvited": string; + /** + * 招待を承認しますか? + */ + "doYouAcceptInvitation": string; + /** + * ダイレクトメッセージ + */ + "chatWithThisUser": string; + /** + * このユーザーはフォロワーからのみメッセージを受け付けています。 + */ + "thisUserAllowsChatOnlyFromFollowers": string; + /** + * このユーザーは、このユーザーがフォローしているユーザーからのみメッセージを受け付けています。 + */ + "thisUserAllowsChatOnlyFromFollowing": string; + /** + * このユーザーは相互フォローのユーザーからのみメッセージを受け付けています。 + */ + "thisUserAllowsChatOnlyFromMutualFollowing": string; + /** + * このユーザーは誰からもメッセージを受け付けていません。 + */ + "thisUserNotAllowedChatAnyone": string; + /** + * メッセージを許可する相手 + */ + "chatAllowedUsers": string; + /** + * 自分からメッセージを送った相手とはこの設定に関わらずメッセージの送受信が可能です。 + */ + "chatAllowedUsers_note": string; + "_chatAllowedUsers": { + /** + * 誰でも + */ + "everyone": string; + /** + * 自分のフォロワーのみ + */ + "followers": string; + /** + * 自分がフォローしているユーザーのみ + */ + "following": string; + /** + * 相互フォローのユーザーのみ + */ + "mutual": string; + /** + * 誰も許可しない + */ + "none": string; + }; + }; + "_emojiPalette": { + /** + * パレット + */ + "palettes": string; + /** + * パレットのデバイス間同期を有効にする + */ + "enableSyncBetweenDevicesForPalettes": string; + /** + * メインで使用するパレット + */ + "paletteForMain": string; + /** + * リアクションで使用するパレット + */ + "paletteForReaction": string; + }; + "_settings": { + /** + * ドライブの管理と設定、使用量の確認、ファイルをアップロードする際の設定を行えます。 + */ + "driveBanner": string; + /** + * プラグインを利用するとクライアントの機能を拡張することができます。プラグインのインストール、個別の設定と管理が行えます。 + */ + "pluginBanner": string; + /** + * サーバーからの受信する通知の種類と範囲や、プッシュ通知の設定が行えます。 + */ + "notificationsBanner": string; + /** + * API + */ + "api": string; + /** + * Webhook + */ + "webhook": string; + /** + * サービス連携 + */ + "serviceConnection": string; + /** + * 外部のアプリ・サービスと連携するためのアクセストークンやWebhookの管理と設定が行えます。 + */ + "serviceConnectionBanner": string; + /** + * アカウントのデータ + */ + "accountData": string; + /** + * アカウントデータのアーカイブをエクスポート/インポートして管理できます。 + */ + "accountDataBanner": string; + /** + * 非表示にするコンテンツの設定や、特定のユーザーからのアクションを制限する設定と管理を行えます。 + */ + "muteAndBlockBanner": string; + /** + * クライアントの視覚や動作に関するパーソナライズを行い、より最適に使用できるように設定できます。 + */ + "accessibilityBanner": string; + /** + * コンテンツの公開範囲、見つけやすさ、フォローの承認制などアカウントのプライバシーに関する設定を行えます。 + */ + "privacyBanner": string; + /** + * パスワード、ログイン方法、認証アプリ、パスキーなどアカウントのセキュリティに関する設定を行えます。 + */ + "securityBanner": string; + /** + * 好みに応じた、クライアントの全体的な動作の設定が行えます。 + */ + "preferencesBanner": string; + /** + * 好みに応じた、クライアントの見た目・表示方法に関する設定が行えます。 + */ + "appearanceBanner": string; + /** + * クライアントで再生するサウンドの設定が行えます。 + */ + "soundsBanner": string; + /** + * タイムラインとノート + */ + "timelineAndNote": string; + /** + * 全てのテキスト要素を選択可能にする + */ + "makeEveryTextElementsSelectable": string; + /** + * 有効にすると、一部のシチュエーションでのユーザビリティが低下する場合があります。 + */ + "makeEveryTextElementsSelectable_description": string; + /** + * アイコンをスクロールに追従させる + */ + "useStickyIcons": string; + /** + * 高品質な画像のプレースホルダを表示 + */ + "enableHighQualityImagePlaceholders": string; + /** + * UIのアニメーション + */ + "uiAnimations": string; + /** + * ナビゲーションバーに副ボタンを表示 + */ + "showNavbarSubButtons": string; + /** + * オンのとき + */ + "ifOn": string; + /** + * オフのとき + */ + "ifOff": string; + /** + * デバイス間でインストールしたテーマを同期 + */ + "enableSyncThemesBetweenDevices": string; + /** + * ひっぱって更新 + */ + "enablePullToRefresh": string; + /** + * マウスでは、ホイールを押し込みながらドラッグします。 + */ + "enablePullToRefresh_description": string; + /** + * サーバーと接続を確立し、リアルタイムでコンテンツを更新します。通信量とバッテリーの消費が多くなる場合があります。 + */ + "realtimeMode_description": string; + /** + * コンテンツの取得頻度 + */ + "contentsUpdateFrequency": string; + /** + * 高いほどリアルタイムにコンテンツが更新されますが、パフォーマンスが低下し、通信量とバッテリーの消費が多くなります。 + */ + "contentsUpdateFrequency_description": string; + /** + * リアルタイムモードがオンのときは、この設定に関わらずリアルタイムでコンテンツが更新されます。 + */ + "contentsUpdateFrequency_description2": string; + /** + * URLプレビューを表示する + */ + "showUrlPreview": string; + /** + * 利用できるリアクションを先頭に表示 + */ + "showAvailableReactionsFirstInNote": string; + /** + * ページのタブバーを下部に表示 + */ + "showPageTabBarBottom": string; + /** + * 絵文字ピッカーに固定表示するプリセットをパレットとして登録したり、ピッカーの表示方法をカスタマイズしたりできます。 + */ + "emojiPaletteBanner": string; + /** + * アニメーション画像を有効にする + */ + "enableAnimatedImages": string; + "_chat": { + /** + * 送信者の名前を表示 + */ + "showSenderName": string; + /** + * Enterで送信 + */ + "sendOnEnter": string; + }; + }; + "_preferencesProfile": { + /** + * プロファイル名 + */ + "profileName": string; + /** + * このデバイスを識別する名前を設定してください。 + */ + "profileNameDescription": string; + /** + * 例: 「メインPC」、「スマホ」など + */ + "profileNameDescription2": string; + /** + * プロファイルの管理 + */ + "manageProfiles": string; + /** + * 複数のデバイスで同一のプロファイルを共有することは推奨しません。 + */ + "shareSameProfileBetweenDevicesIsNotRecommended": string; + /** + * 複数のデバイスで同期したい設定項目が存在する場合は、個別に「複数のデバイスで同期」オプションを有効にしてください。 + */ + "useSyncBetweenDevicesOptionIfYouWantToSyncSetting": string; + }; + "_preferencesBackup": { + /** + * 自動バックアップ + */ + "autoBackup": string; + /** + * バックアップから復元 + */ + "restoreFromBackup": string; + /** + * バックアップが見つかりませんでした + */ + "noBackupsFoundTitle": string; + /** + * 自動で作成されたバックアップは見つかりませんでしたが、バックアップファイルを手動で保存している場合、それをインポートして復元することはできます。 + */ + "noBackupsFoundDescription": string; + /** + * 復元するバックアップを選択してください + */ + "selectBackupToRestore": string; + /** + * 自動バックアップを有効にするにはプロファイル名の設定が必要です。 + */ + "youNeedToNameYourProfileToEnableAutoBackup": string; + /** + * このデバイスで設定の自動バックアップは有効になっていません。 + */ + "autoPreferencesBackupIsNotEnabledForThisDevice": string; + /** + * 設定のバックアップが見つかりました + */ + "backupFound": string; + /** + * 設定の強制バックアップ + */ + "forceBackup": string; + }; + "_accountSettings": { + /** + * コンテンツの表示にログインを必須にする + */ + "requireSigninToViewContents": string; + /** + * あなたが作成した全てのノートなどのコンテンツを表示するのにログインを必須にします。クローラーに情報が収集されるのを防ぐ効果が期待できます。 + */ + "requireSigninToViewContentsDescription1": string; + /** + * URLプレビュー(OGP)、Webページへの埋め込み、ノートの引用に対応していないサーバーからの表示も不可になります。 + */ + "requireSigninToViewContentsDescription2": string; + /** + * リモートサーバーに連合されたコンテンツでは、これらの制限が適用されない場合があります。 + */ + "requireSigninToViewContentsDescription3": string; + /** + * 過去のノートをフォロワーのみ表示可能にする + */ + "makeNotesFollowersOnlyBefore": string; + /** + * この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。 + */ + "makeNotesFollowersOnlyBeforeDescription": string; + /** + * 過去のノートを非公開化する + */ + "makeNotesHiddenBefore": string; + /** + * この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。 + */ + "makeNotesHiddenBeforeDescription": string; + /** + * リモートサーバーに連合されたノートには効果が及ばない場合があります。 + */ + "mayNotEffectForFederatedNotes": string; + /** + * これらの制限は簡易的なものです。リモートサーバーでの閲覧やモデレーション時など、一部のシチュエーションでは適用されない場合があります。 + */ + "mayNotEffectSomeSituations": string; + /** + * 指定した時間を経過しているノート + */ + "notesHavePassedSpecifiedPeriod": string; + /** + * 指定した日時より前のノート + */ + "notesOlderThanSpecifiedDateAndTime": string; + }; + "_abuseUserReport": { + /** + * 転送 + */ + "forward": string; + /** + * 匿名のシステムアカウントとして、リモートサーバーに通報を転送します。 + */ + "forwardDescription": string; + /** + * 解決 + */ + "resolve": string; + /** + * 是認 + */ + "accept": string; + /** + * 否認 + */ + "reject": string; + /** + * 内容が正当である通報に対応した場合は「是認」を選択し、肯定的にケースが解決されたことをマークします。 + * 内容が正当でない通報の場合は「否認」を選択し、否定的にケースが解決されたことをマークします。 + */ + "resolveTutorial": string; + }; + "_delivery": { + /** + * 配信状態 + */ + "status": string; + /** + * 配信停止 + */ + "stop": string; + /** + * 配信再開 + */ + "resume": string; + "_type": { + /** + * 配信中 + */ + "none": string; + /** + * 手動停止中 + */ + "manuallySuspended": string; + /** + * サーバー削除のため停止中 + */ + "goneSuspended": string; + /** + * サーバー応答なしのため停止中 + */ + "autoSuspendedForNotResponding": string; + /** + * 配信停止中のソフトウェアであるため停止中 + */ + "softwareSuspended": string; + }; + }; + "_bubbleGame": { + /** + * 遊び方 + */ + "howToPlay": string; + /** + * ホールド + */ + "hold": string; + "_score": { + /** + * スコア + */ + "score": string; + /** + * 稼いだ金額 + */ + "scoreYen": string; + /** + * ハイスコア + */ + "highScore": string; + /** + * 最大チェーン数 + */ + "maxChain": string; + /** + * {yen}円 + */ + "yen": ParameterizedString<"yen">; + /** + * {qty}個分 + */ + "estimatedQty": ParameterizedString<"qty">; + /** + * おにぎり {onigiriQtyWithUnit} + */ + "scoreSweets": ParameterizedString<"onigiriQtyWithUnit">; + }; + "_howToPlay": { + /** + * 位置を調整してハコにモノを落とします。 + */ + "section1": string; + /** + * 同じ種類のモノがくっつくと別のモノに変化して、スコアが得られます。 + */ + "section2": string; + /** + * モノがハコからあふれるとゲームオーバーです。ハコからあふれないようにしつつモノを融合させてハイスコアを目指そう! + */ + "section3": string; + }; + }; + "_announcement": { + /** + * 既存ユーザーのみ + */ + "forExistingUsers": string; + /** + * 有効にすると、このお知らせ作成時点で存在するユーザーにのみお知らせが表示されます。無効にすると、このお知らせ作成後にアカウントを作成したユーザーにもお知らせが表示されます。 + */ + "forExistingUsersDescription": string; + /** + * 既読にするのに確認が必要 + */ + "needConfirmationToRead": string; + /** + * 有効にすると、このお知らせを既読にする際に確認ダイアログが表示されます。また、一括既読操作の対象になりません。 + */ + "needConfirmationToReadDescription": string; + /** + * お知らせを終了 + */ + "end": string; + /** + * アクティブなお知らせが多いため、UXが低下する可能性があります。終了したお知らせはアーカイブすることを検討してください。 + */ + "tooManyActiveAnnouncementDescription": string; + /** + * 既読にしますか? + */ + "readConfirmTitle": string; + /** + * 「{title}」の内容を読み、既読にします。 + */ + "readConfirmText": ParameterizedString<"title">; + /** + * 特に新規ユーザーのUXを損ねる可能性が高いため、常時掲示するための情報ではなく、即時性が求められる情報の掲示のためにお知らせを使用することを推奨します。 + */ + "shouldNotBeUsedToPresentPermanentInfo": string; + /** + * ダイアログ形式のお知らせが同時に2つ以上ある場合、UXに悪影響を及ぼす可能性が非常に高いため、使用は慎重に行うことを推奨します。 + */ + "dialogAnnouncementUxWarn": string; + /** + * 非通知 + */ + "silence": string; + /** + * オンにすると、このお知らせは通知されず、既読にする必要もなくなります。 + */ + "silenceDescription": string; + }; + "_initialAccountSetting": { + /** + * アカウントの作成が完了しました! + */ + "accountCreated": string; + /** + * さっそくアカウントの初期設定を行いましょう。 + */ + "letsStartAccountSetup": string; + /** + * まずはあなたのプロフィールを設定しましょう。 + */ + "letsFillYourProfile": string; + /** + * プロフィール設定 + */ + "profileSetting": string; + /** + * プライバシー設定 + */ + "privacySetting": string; + /** + * これらの設定は後から変更できます。 + */ + "theseSettingsCanEditLater": string; + /** + * この他にも様々な設定を「設定」ページから行えます。ぜひ後で確認してみてください。 + */ + "youCanEditMoreSettingsInSettingsPageLater": string; + /** + * タイムラインを構築するため、気になるユーザーをフォローしてみましょう。 + */ + "followUsers": string; + /** + * プッシュ通知を有効にすると{name}の通知をお使いのデバイスで受け取ることができます。 + */ + "pushNotificationDescription": ParameterizedString<"name">; + /** + * 初期設定が完了しました! + */ + "initialAccountSettingCompleted": string; + /** + * {name}をお楽しみください! + */ + "haveFun": ParameterizedString<"name">; + /** + * このまま{name}(Misskey)の使い方についてのチュートリアルに進むこともできますが、ここで中断してすぐに使い始めることもできます。 + */ + "youCanContinueTutorial": ParameterizedString<"name">; + /** + * チュートリアルを開始 + */ + "startTutorial": string; + /** + * 初期設定をスキップしますか? + */ + "skipAreYouSure": string; + /** + * 初期設定をあとでやり直しますか? + */ + "laterAreYouSure": string; + }; + "_initialTutorial": { + /** + * チュートリアルを見る + */ + "launchTutorial": string; + /** + * チュートリアル + */ + "title": string; + /** + * よくできました + */ + "wellDone": string; + /** + * チュートリアルを終了しますか? + */ + "skipAreYouSure": string; + "_landing": { + /** + * チュートリアルへようこそ + */ + "title": string; + /** + * ここでは、Misskeyの基本的な使い方や機能を確認できます。 + */ + "description": string; + }; + "_note": { + /** + * ノートって何? + */ + "title": string; + /** + * Misskeyでの投稿は「ノート」と呼びます。ノートはタイムラインに時系列で並んでいて、リアルタイムで更新されていきます。 + */ + "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; + /** + * Misskeyには、使い方に応じて複数のタイムラインが用意されています(サーバーによってはいずれかが無効になっていることがあります)。 + */ + "description1": string; + /** + * あなたがフォローしているアカウントの投稿を見られます。 + */ + "home": string; + /** + * このサーバーにいるユーザー全員の投稿を見られます。 + */ + "local": string; + /** + * ホームタイムラインとローカルタイムラインの投稿が両方表示されます。 + */ + "social": string; + /** + * 接続している他のすべてのサーバーからの投稿を見られます。 + */ + "global": string; + /** + * それぞれのタイムラインは、画面上部でいつでも切り替えられます。 + */ + "description2": string; + /** + * その他にも、リストタイムラインやチャンネルタイムラインなどがあります。詳しくは{link}をご覧ください。 + */ + "description3": ParameterizedString<"link">; + }; + "_postNote": { + /** + * ノートの投稿設定 + */ + "title": string; + /** + * Misskeyにノートを投稿する際には、様々なオプションの設定が可能です。投稿フォームはこのようになっています。 + */ + "description1": string; + "_visibility": { + /** + * ノートを表示できる相手を制限できます。 + */ + "description": string; + /** + * すべてのユーザーに公開。 + */ + "public": string; + /** + * ホームタイムラインのみに公開。フォロワー・プロフィールを見に来た人・リノートから、他のユーザーも見ることができます。 + */ + "home": string; + /** + * フォロワーにのみ公開。本人以外がリノートすることはできず、またフォロワー以外は閲覧できません。 + */ + "followers": string; + /** + * 指定したユーザーにのみ公開され、また相手に通知が入ります。 + */ + "direct": string; + /** + * 機密情報は送信する際は注意してください。 + */ + "doNotSendConfidencialOnDirect1": string; + /** + * 送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーが含まれる限定公開のノートを作成する際は、機密情報の扱いに注意が必要です。 + */ + "doNotSendConfidencialOnDirect2": string; + /** + * 他のサーバーに投稿を連合しません。上記の公開範囲に関わらず、他のサーバーのユーザーは、この設定がついたノートを直接閲覧することができなくなります。 + */ + "localOnly": string; + }; + "_cw": { + /** + * 内容を隠す(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; + /** + * ここで紹介した機能はほんの一部にすぎません。Misskeyの使い方をより詳しく知るには、{link}をご覧ください。 + */ + "description": ParameterizedString<"link">; + }; + }; + "_timelineDescription": { + /** + * ホームタイムラインでは、あなたがフォローしているアカウントの投稿を見られます。 + */ + "home": string; + /** + * ローカルタイムラインでは、このサーバーにいるユーザー全員の投稿を見られます。 + */ + "local": string; + /** + * ソーシャルタイムラインには、ホームタイムラインとローカルタイムラインの投稿が両方表示されます。 + */ + "social": string; + /** + * グローバルタイムラインでは、接続している他のすべてのサーバーからの投稿を見られます。 + */ + "global": string; + }; + "_serverRules": { + /** + * 新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。 + */ + "description": string; + }; + "_serverSettings": { + /** + * アイコン画像のURL + */ + "iconUrl": string; + /** + * {host}がアプリとして表示される際のアイコンを指定します。 + */ + "appIconDescription": ParameterizedString<"host">; + /** + * 例: PWAや、スマートフォンのホーム画面にブックマークとして追加された時など + */ + "appIconUsageExample": string; + /** + * 円形もしくは角丸にクロップされる場合があるため、塗り潰された余白のある背景を持つことが推奨されます。 + */ + "appIconStyleRecommendation": string; + /** + * 解像度は必ず{resolution}である必要があります。 + */ + "appIconResolutionMustBe": ParameterizedString<"resolution">; + /** + * manifest.jsonのオーバーライド + */ + "manifestJsonOverride": string; + /** + * 略称 + */ + "shortName": string; + /** + * サーバーの正式名称が長い場合に、代わりに表示することのできる略称や通称。 + */ + "shortNameDescription": string; + /** + * 有効にすると、各種タイムラインを取得する際のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。サーバーのメモリ容量が少ない場合、または動作が不安定な場合は無効にすることができます。 + */ + "fanoutTimelineDescription": string; + /** + * データベースへのフォールバック + */ + "fanoutTimelineDbFallback": string; + /** + * 有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。 + */ + "fanoutTimelineDbFallbackDescription": string; + /** + * 有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。 + */ + "reactionsBufferingDescription": string; + /** + * リモート投稿の自動クリーニング + */ + "remoteNotesCleaning": string; + /** + * 有効にすると、一定期間経過したリモートの投稿を定期的にクリーンアップしてデータベースの肥大化を抑制します。 + */ + "remoteNotesCleaning_description": string; + /** + * 最大クリーニング処理継続時間 + */ + "remoteNotesCleaningMaxProcessingDuration": string; + /** + * 最低ノート保持日数 + */ + "remoteNotesCleaningExpiryDaysForEachNotes": string; + /** + * 問い合わせ先URL + */ + "inquiryUrl": string; + /** + * サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。 + */ + "inquiryUrlDescription": string; + /** + * アカウントの作成をオープンにする + */ + "openRegistration": string; + /** + * 登録を開放することはリスクが伴います。サーバーを常に監視し、トラブルが発生した際にすぐに対応できる体制がある場合のみオンにすることを推奨します。 + */ + "openRegistrationWarning": string; + /** + * 一定期間モデレーターのアクティビティが検出されなかった場合、スパム防止のためこの設定は自動でオフになります。 + */ + "thisSettingWillAutomaticallyOffWhenModeratorsInactive": string; + /** + * 配信停止中のソフトウェア + */ + "deliverSuspendedSoftware": string; + /** + * 脆弱性などの理由で、サーバーのソフトウェアの名前及びバージョンの範囲を指定して配信を停止できます。このバージョン情報はサーバーが提供したものであり、信頼性は保証されません。バージョン指定には semver の範囲指定が使用できますが、>= 2024.3.1 と指定すると 2024.3.1-custom.0 のようなカスタムバージョンが含まれないため、>= 2024.3.1-0 のように prerelease の指定を行うことを推奨します。 + */ + "deliverSuspendedSoftwareDescription": string; + /** + * お一人様モード + */ + "singleUserMode": string; + /** + * このサーバーを利用するのが自分だけの場合、このモードを有効にすることで動作が最適化されます。 + */ + "singleUserMode_description": string; + /** + * GETリクエストに署名する + */ + "signToActivityPubGet": string; + /** + * 通常は有効にしてください。連合の通信に関する問題がある場合に、無効にすると改善することがありますが、逆にサーバーによっては通信が不可になることがあります。 + */ + "signToActivityPubGet_description": string; + /** + * リモートファイルをプロキシする + */ + "proxyRemoteFiles": string; + /** + * 有効にすると、リモートのファイルをプロキシして提供します。画像のサムネイル生成やユーザーのプライバシー保護に役立ちます。 + */ + "proxyRemoteFiles_description": string; + /** + * ActivityPub経由の照会にリダイレクトを許可する + */ + "allowExternalApRedirect": string; + /** + * 有効にすると、他のサーバーがこのサーバーを通して第三者のコンテンツを照会することが可能になりますが、コンテンツのなりすましが発生する可能性があります。 + */ + "allowExternalApRedirect_description": string; + /** + * 非利用者に対するユーザー作成コンテンツの公開範囲 + */ + "userGeneratedContentsVisibilityForVisitor": string; + /** + * モデレーションが行き届きにくい不適切なリモートコンテンツなどが、自サーバー経由で図らずもインターネットに公開されてしまうことによるトラブル防止などに役立ちます。 + */ + "userGeneratedContentsVisibilityForVisitor_description": string; + /** + * サーバーで受信したリモートのコンテンツを含め、サーバー内の全てのコンテンツを無条件でインターネットに公開することはリスクが伴います。特に、分散型の特性を知らない閲覧者にとっては、リモートのコンテンツであってもサーバー内で作成されたコンテンツであると誤って認識してしまう可能性があるため、注意が必要です。 + */ + "userGeneratedContentsVisibilityForVisitor_description2": string; + /** + * サーバーの初期設定ウィザードをやり直しますか? + */ + "restartServerSetupWizardConfirm_title": string; + /** + * 現在の一部の設定はリセットされます。 + */ + "restartServerSetupWizardConfirm_text": string; + /** + * エントランスページのスタイル + */ + "entrancePageStyle": string; + /** + * タイムラインを表示する + */ + "showTimelineForVisitor": string; + /** + * アクティビティを表示する + */ + "showActivitiesForVisitor": string; + "_userGeneratedContentsVisibilityForVisitor": { + /** + * 全て公開 + */ + "all": string; + /** + * ローカルコンテンツのみ公開し、リモートコンテンツは非公開 + */ + "localOnly": string; + /** + * 全て非公開 + */ + "none": string; + }; + }; + "_accountMigration": { + /** + * 別のアカウントからこのアカウントに移行 + */ + "moveFrom": string; + /** + * 別のアカウントへエイリアスを作成 + */ + "moveFromSub": string; + /** + * 移行元のアカウント #{n} + */ + "moveFromLabel": ParameterizedString<"n">; + /** + * 別のアカウントからこのアカウントに移行したい場合、ここでエイリアスを作成しておく必要があります。 + * 移行元のアカウントをこのように入力してください: @username@server.example.com + * 削除するには、入力欄を空にして保存します(非推奨)。 + */ + "moveFromDescription": string; + /** + * このアカウントを新しいアカウントへ移行 + */ + "moveTo": string; + /** + * 移行先のアカウント: + */ + "moveToLabel": string; + /** + * アカウントを移行すると、取り消すことはできません。 + */ + "moveCannotBeUndone": string; + /** + * 新しいアカウントへ移行します。 + *  ・フォロワーが新しいアカウントを自動でフォローします + *  ・このアカウントからのフォローは全て解除されます + *  ・このアカウントではノートの作成などができなくなります + * + * フォロワーの移行は自動ですが、フォローの移行は手動で行う必要があります。移行前にこのアカウントでフォローエクスポートし、移行後すぐに移行先アカウントでインポートを行なってください。 + * リスト・ミュート・ブロックについても同様ですので、手動で移行する必要があります。 + * + * (この説明はこのサーバー(Misskey v13.12.0以降)の仕様です。Mastodonなどの他のActivityPubソフトウェアでは挙動が異なる場合があります。) + */ + "moveAccountDescription": string; + /** + * アカウントの移行には、まずは移行先のアカウントでこのアカウントに対しエイリアスを作成します。 + * エイリアス作成後、移行先のアカウントを次のように入力してください: @username@server.example.com + */ + "moveAccountHowTo": string; + /** + * 移行する + */ + "startMigration": string; + /** + * 本当にこのアカウントを {account} に移行しますか?一度移行すると取り消せず、二度とこのアカウントを元の状態で使用できなくなります。 + */ + "migrationConfirm": ParameterizedString<"account">; + /** + * + * アカウントは移行されています。 + * 移行を取り消すことはできません。 + */ + "movedAndCannotBeUndone": string; + /** + * このアカウントからのフォロー解除は移行操作から24時間後に実行されます。 + * このアカウントのフォロー・フォロワー数は0になっています。フォロワーの解除はされないため、あなたのフォロワーはこのアカウントのフォロワー向け投稿を引き続き閲覧できます。 + */ + "postMigrationNote": string; + /** + * 移行先のアカウント: + */ + "movedTo": string; + }; + "_achievements": { + /** + * 獲得日時 + */ + "earnedAt": string; + "_types": { + "_notes1": { + /** + * just setting up my msky + */ + "title": string; + /** + * 初めてノートを投稿した + */ + "description": string; + /** + * 良いMisskeyライフを! + */ + "flavor": string; + }; + "_notes10": { + /** + * いくつかのノート + */ + "title": string; + /** + * ノートを10回投稿した + */ + "description": string; + }; + "_notes100": { + /** + * たくさんのノート + */ + "title": string; + /** + * ノートを100回投稿した + */ + "description": string; + }; + "_notes500": { + /** + * ノートまみれ + */ + "title": string; + /** + * ノートを500回投稿した + */ + "description": string; + }; + "_notes1000": { + /** + * ノートの山 + */ + "title": string; + /** + * ノートを1,000回投稿した + */ + "description": string; + }; + "_notes5000": { + /** + * 湧き出るノート + */ + "title": string; + /** + * ノートを5,000回投稿した + */ + "description": string; + }; + "_notes10000": { + /** + * スーパーノート + */ + "title": string; + /** + * ノートを10,000回投稿した + */ + "description": string; + }; + "_notes20000": { + /** + * ニードモアノート + */ + "title": string; + /** + * ノートを20,000回投稿した + */ + "description": string; + }; + "_notes30000": { + /** + * ノートノートノート + */ + "title": string; + /** + * ノートを30,000回投稿した + */ + "description": string; + }; + "_notes40000": { + /** + * ノート工場 + */ + "title": string; + /** + * ノートを40,000回投稿した + */ + "description": string; + }; + "_notes50000": { + /** + * ノートの惑星 + */ + "title": string; + /** + * ノートを50,000回投稿した + */ + "description": string; + }; + "_notes60000": { + /** + * ノートクエーサー + */ + "title": string; + /** + * ノートを60,000回投稿した + */ + "description": string; + }; + "_notes70000": { + /** + * ブラックノートホール + */ + "title": string; + /** + * ノートを70,000回投稿した + */ + "description": string; + }; + "_notes80000": { + /** + * ノートギャラクシー + */ + "title": string; + /** + * ノートを80,000回投稿した + */ + "description": string; + }; + "_notes90000": { + /** + * ノートバース + */ + "title": string; + /** + * ノートを90,000回投稿した + */ + "description": string; + }; + "_notes100000": { + /** + * ALL YOUR NOTE ARE BELONG TO US + */ + "title": string; + /** + * ノートを100,000回投稿した + */ + "description": string; + /** + * そんなに書くことある? + */ + "flavor": string; + }; + "_login3": { + /** + * ビギナーⅠ + */ + "title": string; + /** + * 通算ログイン日数が3日 + */ + "description": string; + /** + * 今日からね僕は ミスキストってことで + */ + "flavor": string; + }; + "_login7": { + /** + * ビギナーⅡ + */ + "title": string; + /** + * 通算ログイン日数が7日 + */ + "description": string; + /** + * 慣れてきましたか? + */ + "flavor": string; + }; + "_login15": { + /** + * ビギナーⅢ + */ + "title": string; + /** + * 通算ログイン日数が15日 + */ + "description": string; + }; + "_login30": { + /** + * ミスキストⅠ + */ + "title": string; + /** + * 通算ログイン日数が30日 + */ + "description": string; + }; + "_login60": { + /** + * ミスキストⅡ + */ + "title": string; + /** + * 通算ログイン日数が60日 + */ + "description": string; + }; + "_login100": { + /** + * ミスキストⅢ + */ + "title": string; + /** + * 通算ログイン日数が100日 + */ + "description": string; + /** + * そのユーザー、ミスキストにつき + */ + "flavor": string; + }; + "_login200": { + /** + * 常連Ⅰ + */ + "title": string; + /** + * 通算ログイン日数が200日 + */ + "description": string; + }; + "_login300": { + /** + * 常連Ⅱ + */ + "title": string; + /** + * 通算ログイン日数が300日 + */ + "description": string; + }; + "_login400": { + /** + * 常連Ⅲ + */ + "title": string; + /** + * 通算ログイン日数が400日 + */ + "description": string; + }; + "_login500": { + /** + * ベテランⅠ + */ + "title": string; + /** + * 通算ログイン日数が500日 + */ + "description": string; + /** + * 諸君、私はノートが好きだ + */ + "flavor": string; + }; + "_login600": { + /** + * ベテランⅡ + */ + "title": string; + /** + * 通算ログイン日数が600日 + */ + "description": string; + }; + "_login700": { + /** + * ベテランⅢ + */ + "title": string; + /** + * 通算ログイン日数が700日 + */ + "description": string; + }; + "_login800": { + /** + * ノートマスターⅠ + */ + "title": string; + /** + * 通算ログイン日数が800日 + */ + "description": string; + }; + "_login900": { + /** + * ノートマスターⅡ + */ + "title": string; + /** + * 通算ログイン日数が900日 + */ + "description": string; + }; + "_login1000": { + /** + * ノートマスターⅢ + */ + "title": string; + /** + * 通算ログイン日数が1,000日 + */ + "description": string; + /** + * Misskeyを使ってくれてありがとう! + */ + "flavor": string; + }; + "_noteClipped1": { + /** + * クリップせずにはいられないな + */ + "title": string; + /** + * 初めてノートをクリップした + */ + "description": string; + }; + "_noteFavorited1": { + /** + * 星をみるひと + */ + "title": string; + /** + * 初めてノートをお気に入りに登録した + */ + "description": string; + }; + "_myNoteFavorited1": { + /** + * 星が欲しい + */ + "title": string; + /** + * 自分のノートが他の人からお気に入りに登録された + */ + "description": string; + }; + "_profileFilled": { + /** + * 準備万端 + */ + "title": string; + /** + * プロフィール設定を行った + */ + "description": string; + }; + "_markedAsCat": { + /** + * 吾輩は猫である + */ + "title": string; + /** + * アカウントをCatとして設定した + */ + "description": string; + /** + * 名前はまだない。 + */ + "flavor": string; + }; + "_following1": { + /** + * はじめてのフォロー + */ + "title": string; + /** + * 初めてフォローした + */ + "description": string; + }; + "_following10": { + /** + * ついてく、ついてく + */ + "title": string; + /** + * フォローが10人を超した + */ + "description": string; + }; + "_following50": { + /** + * 友達たくさん + */ + "title": string; + /** + * フォローが50人を超した + */ + "description": string; + }; + "_following100": { + /** + * 友達100人 + */ + "title": string; + /** + * フォローが100人を超した + */ + "description": string; + }; + "_following300": { + /** + * 友達過多 + */ + "title": string; + /** + * フォローが300人を超した + */ + "description": string; + }; + "_followers1": { + /** + * はじめてのフォロワー + */ + "title": string; + /** + * 初めてフォローされた + */ + "description": string; + }; + "_followers10": { + /** + * フォローミー! + */ + "title": string; + /** + * フォロワーが10人を超した + */ + "description": string; + }; + "_followers50": { + /** + * ぞろぞろ + */ + "title": string; + /** + * フォロワーが50人を超した + */ + "description": string; + }; + "_followers100": { + /** + * 人気者 + */ + "title": string; + /** + * フォロワーが100人を超した + */ + "description": string; + }; + "_followers300": { + /** + * 一列でお並びください + */ + "title": string; + /** + * フォロワーが300人を超した + */ + "description": string; + }; + "_followers500": { + /** + * 基地局 + */ + "title": string; + /** + * フォロワーが500人を超した + */ + "description": string; + }; + "_followers1000": { + /** + * インフルエンサー + */ + "title": string; + /** + * フォロワーが1,000人を超した + */ + "description": string; + }; + "_collectAchievements30": { + /** + * 実績コレクター + */ + "title": string; + /** + * 実績を30個以上獲得した + */ + "description": string; + }; + "_viewAchievements3min": { + /** + * 実績好き + */ + "title": string; + /** + * 実績一覧を3分以上眺め続けた + */ + "description": string; + }; + "_iLoveMisskey": { + /** + * I Love Misskey + */ + "title": string; + /** + * "I ❤ #Misskey"を投稿した + */ + "description": string; + /** + * Misskeyを使ってくださりありがとうございます! by 開発チーム + */ + "flavor": string; + }; + "_foundTreasure": { + /** + * 宝探し + */ + "title": string; + /** + * 隠されたお宝を発見した + */ + "description": string; + }; + "_client30min": { + /** + * ひとやすみ + */ + "title": string; + /** + * クライアントを起動してから30分以上経過した + */ + "description": string; + }; + "_client60min": { + /** + * Misskeyの見すぎ + */ + "title": string; + /** + * クライアントを起動してから60分以上経過した + */ + "description": string; + }; + "_noteDeletedWithin1min": { + /** + * いまのなし + */ + "title": string; + /** + * 投稿してから1分以内にその投稿を削除した + */ + "description": string; + }; + "_postedAtLateNight": { + /** + * 夜行性 + */ + "title": string; + /** + * 深夜にノートを投稿した + */ + "description": string; + /** + * そろそろ寝よう。 + */ + "flavor": string; + }; + "_postedAt0min0sec": { + /** + * 時報 + */ + "title": string; + /** + * 0分0秒にノートを投稿した + */ + "description": string; + /** + * ポッ ポッ ポッ ピーン + */ + "flavor": string; + }; + "_selfQuote": { + /** + * 自己言及 + */ + "title": string; + /** + * 自分のノートを引用した + */ + "description": string; + }; + "_htl20npm": { + /** + * 流れるTL + */ + "title": string; + /** + * ホームタイムラインの流速が20npmを越す + */ + "description": string; + }; + "_viewInstanceChart": { + /** + * アナリスト + */ + "title": string; + /** + * サーバーのチャートを表示した + */ + "description": string; + }; + "_outputHelloWorldOnScratchpad": { + /** + * Hello, world! + */ + "title": string; + /** + * スクラッチパッドで hello world を出力した + */ + "description": string; + }; + "_open3windows": { + /** + * マルチウィンドウ + */ + "title": string; + /** + * ウィンドウを3つ以上開いた状態にした + */ + "description": string; + }; + "_driveFolderCircularReference": { + /** + * 循環参照 + */ + "title": string; + /** + * ドライブのフォルダを再帰的な入れ子にしようとした + */ + "description": string; + }; + "_reactWithoutRead": { + /** + * ちゃんと読んだ? + */ + "title": string; + /** + * 100文字以上のテキストを含むノートに投稿されてから3秒以内にリアクションした + */ + "description": string; + }; + "_clickedClickHere": { + /** + * ここをクリック + */ + "title": string; + /** + * ここをクリックした + */ + "description": string; + }; + "_justPlainLucky": { + /** + * 単なるラッキー + */ + "title": string; + /** + * 10秒ごとに0.005%の確率で獲得 + */ + "description": string; + }; + "_setNameToSyuilo": { + /** + * 神様コンプレックス + */ + "title": string; + /** + * 名前を syuilo に設定した + */ + "description": string; + }; + "_passedSinceAccountCreated1": { + /** + * 一周年 + */ + "title": string; + /** + * アカウント作成から1年経過した + */ + "description": string; + }; + "_passedSinceAccountCreated2": { + /** + * 二周年 + */ + "title": string; + /** + * アカウント作成から2年経過した + */ + "description": string; + }; + "_passedSinceAccountCreated3": { + /** + * 三周年 + */ + "title": string; + /** + * アカウント作成から3年経過した + */ + "description": string; + }; + "_loggedInOnBirthday": { + /** + * ハッピーバースデー + */ + "title": string; + /** + * 誕生日にログインした + */ + "description": string; + }; + "_loggedInOnNewYearsDay": { + /** + * あけましておめでとうございます + */ + "title": string; + /** + * 元日にログインした + */ + "description": string; + /** + * 今年も弊サーバーをよろしくお願いします + */ + "flavor": string; + }; + "_cookieClicked": { + /** + * クッキーをクリックするゲーム + */ + "title": string; + /** + * クッキーをクリックした + */ + "description": string; + /** + * ソフト間違ってない? + */ + "flavor": string; + }; + "_brainDiver": { + /** + * Brain Diver + */ + "title": string; + /** + * Brain Diverへのリンクを投稿した + */ + "description": string; + /** + * Misskey-Misskey La-Tu-Ma + */ + "flavor": string; + }; + "_smashTestNotificationButton": { + /** + * テスト過剰 + */ + "title": string; + /** + * 通知のテストをごく短時間のうちに連続して行った + */ + "description": string; + }; + "_tutorialCompleted": { + /** + * Misskey初心者講座 修了証 + */ + "title": string; + /** + * チュートリアルを完了した + */ + "description": string; + }; + "_bubbleGameExplodingHead": { + /** + * 🤯 + */ + "title": string; + /** + * バブルゲームで最も大きいモノを出した + */ + "description": string; + }; + "_bubbleGameDoubleExplodingHead": { + /** + * ダブル🤯 + */ + "title": string; + /** + * バブルゲームで最も大きいモノを2つ同時に出した + */ + "description": string; + /** + * これくらいの おべんとばこに 🤯 🤯 ちょっとつめて + */ + "flavor": string; + }; + }; + }; + "_role": { + /** + * ロールの作成 + */ + "new": string; + /** + * ロールの編集 + */ + "edit": string; + /** + * ロール名 + */ + "name": string; + /** + * ロールの説明 + */ + "description": string; + /** + * ロールの権限 + */ + "permission": string; + /** + * モデレーターは基本的なモデレーションに関する操作を行えます。 + * 管理者はサーバーの全ての設定を変更できます。 + */ + "descriptionOfPermission": string; + /** + * アサイン + */ + "assignTarget": string; + /** + * マニュアルは誰がこのロールに含まれるかを手動で管理します。 + * コンディショナルは条件を設定し、それに合致するユーザーが自動で含まれるようになります。 + */ + "descriptionOfAssignTarget": string; + /** + * マニュアル + */ + "manual": string; + /** + * マニュアルロール + */ + "manualRoles": string; + /** + * コンディショナル + */ + "conditional": string; + /** + * コンディショナルロール + */ + "conditionalRoles": string; + /** + * 条件 + */ + "condition": string; + /** + * これはコンディショナルロールです。 + */ + "isConditionalRole": string; + /** + * 公開ロール + */ + "isPublic": string; + /** + * ユーザーのプロフィールでこのロールが表示されます。 + */ + "descriptionOfIsPublic": string; + /** + * オプション + */ + "options": string; + /** + * ポリシー + */ + "policies": string; + /** + * ベースロール + */ + "baseRole": string; + /** + * ベースロールの値を使用 + */ + "useBaseValue": string; + /** + * アサインするロールを選択 + */ + "chooseRoleToAssign": string; + /** + * アイコン画像のURL + */ + "iconUrl": string; + /** + * バッジとして表示 + */ + "asBadge": string; + /** + * オンにすると、ユーザー名の横にロールのアイコンが表示されます。 + */ + "descriptionOfAsBadge": string; + /** + * ユーザーを見つけやすくする + */ + "isExplorable": string; + /** + * オンにすると、「みつける」でメンバー一覧が公開されるほか、ロールのタイムラインが利用可能になります。 + */ + "descriptionOfIsExplorable": string; + /** + * 表示順 + */ + "displayOrder": string; + /** + * 数値が大きいほどUI上で先頭に表示されます。 + */ + "descriptionOfDisplayOrder": string; + /** + * アサイン状態を移行先アカウントにも引き継ぐ + */ + "preserveAssignmentOnMoveAccount": string; + /** + * オンにすると、このロールが付与されたアカウントが移行された際に、移行先アカウントにもこのロールが引き継がれるようになります。 + */ + "preserveAssignmentOnMoveAccount_description": string; + /** + * モデレーターのメンバー編集を許可 + */ + "canEditMembersByModerator": string; + /** + * オンにすると、管理者に加えてモデレーターもこのロールへユーザーをアサイン/アサイン解除できるようになります。オフにすると管理者のみが行えます。 + */ + "descriptionOfCanEditMembersByModerator": string; + /** + * 優先度 + */ + "priority": string; + "_priority": { + /** + * 低 + */ + "low": string; + /** + * 中 + */ + "middle": string; + /** + * 高 + */ + "high": string; + }; + "_options": { + /** + * グローバルタイムラインの閲覧 + */ + "gtlAvailable": string; + /** + * ローカルタイムラインの閲覧 + */ + "ltlAvailable": string; + /** + * パブリック投稿の許可 + */ + "canPublicNote": string; + /** + * ノート内の最大メンション数 + */ + "mentionMax": string; + /** + * サーバー招待コードの発行 + */ + "canInvite": string; + /** + * 招待コードの作成可能数 + */ + "inviteLimit": string; + /** + * 招待コードの発行間隔 + */ + "inviteLimitCycle": string; + /** + * 招待コードの有効期限 + */ + "inviteExpirationTime": string; + /** + * カスタム絵文字の管理 + */ + "canManageCustomEmojis": string; + /** + * アバターデコレーションの管理 + */ + "canManageAvatarDecorations": string; + /** + * ドライブ容量 + */ + "driveCapacity": string; + /** + * アップロード可能な最大ファイルサイズ + */ + "maxFileSize": string; + /** + * リバースプロキシやCDNなど、前段で別の設定値が存在する場合があります。 + */ + "maxFileSize_caption": string; + /** + * ファイルにNSFWを常に付与 + */ + "alwaysMarkNsfw": string; + /** + * アイコンとバナーの更新を許可 + */ + "canUpdateBioMedia": string; + /** + * ノートのピン留めの最大数 + */ + "pinMax": string; + /** + * アンテナの作成可能数 + */ + "antennaMax": string; + /** + * ワードミュートの最大文字数 + */ + "wordMuteMax": string; + /** + * Webhookの作成可能数 + */ + "webhookMax": string; + /** + * クリップの作成可能数 + */ + "clipMax": string; + /** + * クリップ内のノートの最大数 + */ + "noteEachClipsMax": string; + /** + * ユーザーリストの作成可能数 + */ + "userListMax": string; + /** + * ユーザーリスト内のユーザーの最大数 + */ + "userEachUserListsMax": string; + /** + * レートリミット + */ + "rateLimitFactor": string; + /** + * 小さいほど制限が緩和され、大きいほど制限が強化されます。 + */ + "descriptionOfRateLimitFactor": string; + /** + * 広告の非表示 + */ + "canHideAds": string; + /** + * ノート検索の利用 + */ + "canSearchNotes": string; + /** + * ユーザー検索の利用 + */ + "canSearchUsers": string; + /** + * 翻訳機能の利用 + */ + "canUseTranslator": string; + /** + * アイコンデコレーションの最大取付個数 + */ + "avatarDecorationLimit": string; + /** + * アンテナのインポートを許可 + */ + "canImportAntennas": string; + /** + * ブロックのインポートを許可 + */ + "canImportBlocking": string; + /** + * フォローのインポートを許可 + */ + "canImportFollowing": string; + /** + * ミュートのインポートを許可 + */ + "canImportMuting": string; + /** + * リストのインポートを許可 + */ + "canImportUserLists": string; + /** + * ダイレクトメッセージを許可 + */ + "chatAvailability": string; + /** + * アップロード可能なファイル種別 + */ + "uploadableFileTypes": string; + /** + * MIMEタイプを指定します。改行で区切って複数指定できるほか、アスタリスク(*)でワイルドカード指定できます。(例: image/*) + */ + "uploadableFileTypes_caption": string; + /** + * ファイルによっては種別を判定できないことがあります。そのようなファイルを許可する場合は {x} を指定に追加してください。 + */ + "uploadableFileTypes_caption2": ParameterizedString<"x">; + /** + * サーバーサイドのノートの下書きの作成可能数 + */ + "noteDraftLimit": string; + /** + * 予約投稿の同時作成可能数 + */ + "scheduledNoteLimit": string; + /** + * ウォーターマーク機能の使用可否 + */ + "watermarkAvailable": string; + }; + "_condition": { + /** + * マニュアルロールにアサイン済み + */ + "roleAssignedTo": string; + /** + * ローカルユーザー + */ + "isLocal": string; + /** + * リモートユーザー + */ + "isRemote": string; + /** + * 猫ユーザー + */ + "isCat": string; + /** + * botユーザー + */ + "isBot": string; + /** + * サスペンド済みユーザー + */ + "isSuspended": string; + /** + * 鍵アカウントユーザー + */ + "isLocked": string; + /** + * 「アカウントを見つけやすくする」が有効なユーザー + */ + "isExplorable": string; + /** + * アカウント作成から~以内 + */ + "createdLessThan": string; + /** + * アカウント作成から~経過 + */ + "createdMoreThan": string; + /** + * フォロワー数が~以下 + */ + "followersLessThanOrEq": string; + /** + * フォロワー数が~以上 + */ + "followersMoreThanOrEq": string; + /** + * フォロー数が~以下 + */ + "followingLessThanOrEq": string; + /** + * フォロー数が~以上 + */ + "followingMoreThanOrEq": string; + /** + * 投稿数が~以下 + */ + "notesLessThanOrEq": string; + /** + * 投稿数が~以上 + */ + "notesMoreThanOrEq": string; + /** + * ~かつ~ + */ + "and": string; + /** + * ~または~ + */ + "or": string; + /** + * ~ではない + */ + "not": string; + }; + }; + "_sensitiveMediaDetection": { + /** + * 機械学習を使って自動でセンシティブなメディアを検出し、モデレーションに役立てることができます。サーバーの負荷が少し増えます。 + */ + "description": string; + /** + * 検出感度 + */ + "sensitivity": string; + /** + * 感度を低くすると、誤検知(偽陽性)が減ります。感度を高くすると、検知漏れ(偽陰性)が減ります。 + */ + "sensitivityDescription": string; + /** + * センシティブフラグを設定する + */ + "setSensitiveFlagAutomatically": string; + /** + * この設定をオフにしても内部的に判定結果は保持されます。 + */ + "setSensitiveFlagAutomaticallyDescription": string; + /** + * 動画の解析を有効化 + */ + "analyzeVideos": string; + /** + * 静止画に加えて動画も解析するようにします。サーバーの負荷が少し増えます。 + */ + "analyzeVideosDescription": string; + }; + "_emailUnavailable": { + /** + * 既に使用されています + */ + "used": string; + /** + * 形式が正しくありません + */ + "format": string; + /** + * 恒久的に使用可能なアドレスではありません + */ + "disposable": string; + /** + * 正しいメールサーバーではありません + */ + "mx": string; + /** + * メールサーバーが応答しません + */ + "smtp": string; + /** + * このメールアドレスでは登録できません + */ + "banned": string; + }; + "_ffVisibility": { + /** + * 公開 + */ + "public": string; + /** + * フォロワーだけに公開 + */ + "followers": string; + /** + * 非公開 + */ + "private": string; + }; + "_signup": { + /** + * ほとんど完了です + */ + "almostThere": string; + /** + * あなたが使っているメールアドレスを入力してください。メールアドレスが公開されることはありません。 + */ + "emailAddressInfo": string; + /** + * 入力されたメールアドレス({email})宛に確認のメールが送信されました。メールに記載されたリンクにアクセスすると、アカウントの作成が完了します。メールに記載されているリンクの有効期限は30分です。 + */ + "emailSent": ParameterizedString<"email">; + }; + "_accountDelete": { + /** + * アカウントの削除 + */ + "accountDelete": string; + /** + * アカウントの削除は負荷のかかる処理であるため、作成したコンテンツの数やアップロードしたファイルの数が多いと完了までに時間がかかることがあります。 + */ + "mayTakeTime": string; + /** + * アカウントの削除が完了する際は、登録してあったメールアドレス宛に通知を送信します。 + */ + "sendEmail": string; + /** + * アカウント削除をリクエスト + */ + "requestAccountDelete": string; + /** + * 削除処理が開始されました。 + */ + "started": string; + /** + * 削除が進行中 + */ + "inProgress": string; + }; + "_ad": { + /** + * 戻る + */ + "back": string; + /** + * この広告の表示頻度を下げる + */ + "reduceFrequencyOfThisAd": string; + /** + * 表示しない + */ + "hide": string; + /** + * 曜日はサーバーのタイムゾーンを元に指定されます。 + */ + "timezoneinfo": string; + /** + * 広告配信設定 + */ + "adsSettings": string; + /** + * リアルタイム更新中に広告を配信する間隔(ノートの個数) + */ + "notesPerOneAd": string; + /** + * 0でリアルタイム更新時の広告配信を無効 + */ + "setZeroToDisable": string; + /** + * 広告の配信間隔が極めて短いため、ユーザー体験が著しく損われる可能性があります。 + */ + "adsTooClose": string; + }; + "_forgotPassword": { + /** + * アカウントに登録したメールアドレスを入力してください。そのアドレス宛てに、パスワードリセット用のリンクが送信されます。 + */ + "enterEmail": string; + /** + * メールアドレスを登録していない場合は、管理者までお問い合わせください。 + */ + "ifNoEmail": string; + /** + * このサーバーではメールがサポートされていないため、パスワードリセットを行う場合は管理者までお問い合わせください。 + */ + "contactAdmin": string; + }; + "_gallery": { + /** + * 自分の投稿 + */ + "my": string; + /** + * いいねした投稿 + */ + "liked": string; + /** + * いいね! + */ + "like": string; + /** + * いいね解除 + */ + "unlike": string; + }; + "_email": { + "_follow": { + /** + * フォローされました + */ + "title": string; + }; + "_receiveFollowRequest": { + /** + * フォローリクエストを受け取りました + */ + "title": string; + }; + }; + "_plugin": { + /** + * プラグインのインストール + */ + "install": string; + /** + * 信頼できないプラグインはインストールしないでください。 + */ + "installWarn": string; + /** + * プラグインの管理 + */ + "manage": string; + /** + * ソースを表示 + */ + "viewSource": string; + /** + * ログを表示 + */ + "viewLog": string; + }; + "_preferencesBackups": { + /** + * 作成したバックアップ + */ + "list": string; + /** + * 新規保存 + */ + "saveNew": string; + /** + * ファイルを読み込み + */ + "loadFile": string; + /** + * このデバイスに適用 + */ + "apply": string; + /** + * 上書き保存 + */ + "save": string; + /** + * バックアップ名を入力 + */ + "inputName": string; + /** + * 保存できません + */ + "cannotSave": string; + /** + * バックアップ名「{name}」は既に存在します。違う名前を指定してください。 + */ + "nameAlreadyExists": ParameterizedString<"name">; + /** + * バックアップ「{name}」を現在のデバイスに適用しますか?現在のデバイス設定は失われます。 + */ + "applyConfirm": ParameterizedString<"name">; + /** + * {name}に上書き保存しますか? + */ + "saveConfirm": ParameterizedString<"name">; + /** + * {name}を削除しますか? + */ + "deleteConfirm": ParameterizedString<"name">; + /** + * 「{old}」を「{new}」に変更しますか? + */ + "renameConfirm": ParameterizedString<"old" | "new">; + /** + * バックアップはありません。「新規保存」で現在のクライアント設定をサーバーに保存できます。 + */ + "noBackups": string; + /** + * 作成日時: {date} {time} + */ + "createdAt": ParameterizedString<"date" | "time">; + /** + * 更新日時: {date} {time} + */ + "updatedAt": ParameterizedString<"date" | "time">; + /** + * 読み込みできません + */ + "cannotLoad": string; + /** + * ファイル形式が違います。 + */ + "invalidFile": string; + }; + "_registry": { + /** + * スコープ + */ + "scope": string; + /** + * キー + */ + "key": string; + /** + * キー + */ + "keys": string; + /** + * ドメイン + */ + "domain": string; + /** + * キーを作成 + */ + "createKey": string; + }; + "_aboutMisskey": { + /** + * Misskeyはsyuiloによって2014年から開発されている、オープンソースのソフトウェアです。 + */ + "about": string; + /** + * コントリビューター + */ + "contributors": string; + /** + * 全てのコントリビューター + */ + "allContributors": string; + /** + * ソースコード + */ + "source": string; + /** + * オリジナル + */ + "original": string; + /** + * {name}はオリジナルのMisskeyを改変したバージョンを使用しています。 + */ + "thisIsModifiedVersion": ParameterizedString<"name">; + /** + * Misskeyを翻訳 + */ + "translation": string; + /** + * Misskeyに寄付 + */ + "donate": string; + /** + * 他にも多くの方が支援してくれています。ありがとうございます🥰 + */ + "morePatrons": string; + /** + * 支援者 + */ + "patrons": string; + /** + * プロジェクトメンバー + */ + "projectMembers": string; + }; + "_displayOfSensitiveMedia": { + /** + * センシティブ設定されたメディアを隠す + */ + "respect": string; + /** + * センシティブ設定されたメディアを隠さない + */ + "ignore": string; + /** + * 常にメディアを隠す + */ + "force": string; + }; + "_instanceTicker": { + /** + * 表示しない + */ + "none": string; + /** + * リモートユーザーに表示 + */ + "remote": string; + /** + * 常に表示 + */ + "always": string; + }; + "_serverDisconnectedBehavior": { + /** + * 自動でリロード + */ + "reload": string; + /** + * ダイアログで警告 + */ + "dialog": string; + /** + * 控えめに警告 + */ + "quiet": string; + }; + "_channel": { + /** + * チャンネルを作成 + */ + "create": string; + /** + * チャンネルを編集 + */ + "edit": string; + /** + * バナーを設定 + */ + "setBanner": string; + /** + * バナーを削除 + */ + "removeBanner": string; + /** + * トレンド + */ + "featured": string; + /** + * 管理中 + */ + "owned": string; + /** + * フォロー中 + */ + "following": string; + /** + * {n}人が参加中 + */ + "usersCount": ParameterizedString<"n">; + /** + * {n}投稿があります + */ + "notesCount": ParameterizedString<"n">; + /** + * 名前と説明 + */ + "nameAndDescription": string; + /** + * 名前のみ + */ + "nameOnly": string; + /** + * チャンネル外へのリノートと引用リノートを許可する + */ + "allowRenoteToExternal": string; + }; + "_menuDisplay": { + /** + * 横 + */ + "sideFull": string; + /** + * 横(アイコン) + */ + "sideIcon": string; + /** + * 上部 + */ + "top": string; + /** + * 隠す + */ + "hide": string; + }; + "_wordMute": { + /** + * ミュートするワード + */ + "muteWords": string; + /** + * スペースで区切るとAND指定になり、改行で区切るとOR指定になります。 + */ + "muteWordsDescription": string; + /** + * キーワードをスラッシュで囲むと正規表現になります。 + */ + "muteWordsDescription2": string; + }; + "_instanceMute": { + /** + * ミュートしたサーバーのユーザーへの返信を含めて、設定したサーバーの全てのノートとRenoteをミュートします。 + */ + "instanceMuteDescription": string; + /** + * 改行で区切って設定します + */ + "instanceMuteDescription2": string; + /** + * 設定したサーバーのノートを隠します。 + */ + "title": string; + /** + * ミュートするサーバー + */ + "heading": string; + }; + "_theme": { + /** + * テーマを探す + */ + "explore": string; + /** + * テーマのインストール + */ + "install": string; + /** + * テーマの管理 + */ + "manage": string; + /** + * テーマコード + */ + "code": string; + /** + * テーマコードをコピー + */ + "copyThemeCode": string; + /** + * 説明 + */ + "description": string; + /** + * {name}をインストールしました + */ + "installed": ParameterizedString<"name">; + /** + * インストールされたテーマ + */ + "installedThemes": string; + /** + * 標準のテーマ + */ + "builtinThemes": string; + /** + * サーバーのテーマ + */ + "instanceTheme": string; + /** + * そのテーマは既にインストールされています + */ + "alreadyInstalled": string; + /** + * テーマの形式が間違っています + */ + "invalid": string; + /** + * テーマを作る + */ + "make": string; + /** + * ベース + */ + "base": string; + /** + * 定数を追加 + */ + "addConstant": string; + /** + * 定数 + */ + "constant": string; + /** + * デフォルト値 + */ + "defaultValue": string; + /** + * 色 + */ + "color": string; + /** + * プロパティを参照 + */ + "refProp": string; + /** + * 定数を参照 + */ + "refConst": string; + /** + * キー + */ + "key": string; + /** + * 関数 + */ + "func": string; + /** + * 関数の種類 + */ + "funcKind": string; + /** + * 引数 + */ + "argument": string; + /** + * 元にするプロパティの名前 + */ + "basedProp": string; + /** + * 不透明度 + */ + "alpha": string; + /** + * 暗さ + */ + "darken": string; + /** + * 明るさ + */ + "lighten": string; + /** + * 定数名を入力してください + */ + "inputConstantName": string; + /** + * ここにテーマコードを貼り付けて、エディターにインポートできます + */ + "importInfo": string; + /** + * 定数 {const} を削除しても良いですか? + */ + "deleteConstantConfirm": ParameterizedString<"const">; + "keys": { + /** + * アクセント + */ + "accent": string; + /** + * 背景 + */ + "bg": string; + /** + * 文字 + */ + "fg": string; + /** + * フォーカス + */ + "focus": string; + /** + * インジケーター + */ + "indicator": string; + /** + * パネル + */ + "panel": string; + /** + * 影 + */ + "shadow": string; + /** + * ヘッダー + */ + "header": string; + /** + * ナビゲーションバーの背景 + */ + "navBg": string; + /** + * ナビゲーションバーの文字 + */ + "navFg": string; + /** + * ナビゲーションバー文字(アクティブ) + */ + "navActive": string; + /** + * ナビゲーションバーのインジケーター + */ + "navIndicator": string; + /** + * リンク + */ + "link": string; + /** + * ハッシュタグ + */ + "hashtag": string; + /** + * メンション + */ + "mention": string; + /** + * あなた宛てメンション + */ + "mentionMe": string; + /** + * リノート + */ + "renote": string; + /** + * モーダルの背景 + */ + "modalBg": string; + /** + * 分割線 + */ + "divider": string; + /** + * スクロールバーの取っ手 + */ + "scrollbarHandle": string; + /** + * スクロールバーの取っ手(ホバー) + */ + "scrollbarHandleHover": string; + /** + * 日付ラベルの文字 + */ + "dateLabelFg": string; + /** + * 情報の背景 + */ + "infoBg": string; + /** + * 情報の文字 + */ + "infoFg": string; + /** + * 警告の背景 + */ + "infoWarnBg": string; + /** + * 警告の文字 + */ + "infoWarnFg": string; + /** + * 通知トーストの背景 + */ + "toastBg": string; + /** + * 通知トーストの文字 + */ + "toastFg": string; + /** + * ボタンの背景 + */ + "buttonBg": string; + /** + * ボタンの背景 (ホバー) + */ + "buttonHoverBg": string; + /** + * 入力ボックスの縁取り + */ + "inputBorder": string; + /** + * バッジ + */ + "badge": string; + /** + * メッセージの背景 + */ + "messageBg": string; + /** + * 強調された文字 + */ + "fgHighlighted": string; + }; + }; + "_sfx": { + /** + * ノート + */ + "note": string; + /** + * ノート(自分) + */ + "noteMy": string; + /** + * 通知 + */ + "notification": string; + /** + * リアクション選択時 + */ + "reaction": string; + /** + * ダイレクトメッセージ + */ + "chatMessage": string; + }; + "_soundSettings": { + /** + * ドライブの音声を使用 + */ + "driveFile": string; + /** + * ドライブのファイルを選択してください + */ + "driveFileWarn": string; + /** + * このファイルは対応していません + */ + "driveFileTypeWarn": string; + /** + * 音声ファイルを選択してください + */ + "driveFileTypeWarnDescription": string; + /** + * 音声が長すぎます + */ + "driveFileDurationWarn": string; + /** + * 長い音声を使用するとMisskeyの使用に支障をきたす可能性があります。それでも続行しますか? + */ + "driveFileDurationWarnDescription": string; + /** + * 音声が読み込めませんでした。設定を変更してください + */ + "driveFileError": string; + }; + "_ago": { + /** + * 未来 + */ + "future": string; + /** + * たった今 + */ + "justNow": string; + /** + * {n}秒前 + */ + "secondsAgo": ParameterizedString<"n">; + /** + * {n}分前 + */ + "minutesAgo": ParameterizedString<"n">; + /** + * {n}時間前 + */ + "hoursAgo": ParameterizedString<"n">; + /** + * {n}日前 + */ + "daysAgo": ParameterizedString<"n">; + /** + * {n}週間前 + */ + "weeksAgo": ParameterizedString<"n">; + /** + * {n}ヶ月前 + */ + "monthsAgo": ParameterizedString<"n">; + /** + * {n}年前 + */ + "yearsAgo": ParameterizedString<"n">; + /** + * 日時の解析に失敗 + */ + "invalid": string; + }; + "_timeIn": { + /** + * {n}秒後 + */ + "seconds": ParameterizedString<"n">; + /** + * {n}分後 + */ + "minutes": ParameterizedString<"n">; + /** + * {n}時間後 + */ + "hours": ParameterizedString<"n">; + /** + * {n}日後 + */ + "days": ParameterizedString<"n">; + /** + * {n}週間後 + */ + "weeks": ParameterizedString<"n">; + /** + * {n}ヶ月後 + */ + "months": ParameterizedString<"n">; + /** + * {n}年後 + */ + "years": ParameterizedString<"n">; + }; + "_time": { + /** + * 秒 + */ + "second": string; + /** + * 分 + */ + "minute": string; + /** + * 時間 + */ + "hour": string; + /** + * 日 + */ + "day": string; + /** + * ヶ月 + */ + "month": string; + }; + "_2fa": { + /** + * 既に設定は完了しています。 + */ + "alreadyRegistered": string; + /** + * 認証アプリの設定を開始 + */ + "registerTOTP": string; + /** + * まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。 + */ + "step1": ParameterizedString<"a" | "b">; + /** + * 次に、表示されているQRコードをアプリでスキャンするか、ボタンをクリックして端末上でアプリを開きます。 + */ + "step2": string; + /** + * デスクトップアプリを使用する場合は次のURIを入力します + */ + "step2Uri": string; + /** + * 確認コードを入力 + */ + "step3Title": string; + /** + * アプリに表示されている確認コード(トークン)を入力します。 + */ + "step3": string; + /** + * 設定が完了しました + */ + "setupCompleted": string; + /** + * これからログインするときも、同じようにコードを入力します。 + */ + "step4": string; + /** + * お使いのブラウザはセキュリティキーに対応していません。 + */ + "securityKeyNotSupported": string; + /** + * セキュリティキー・パスキーを登録するには、まず認証アプリの設定を行なってください。 + */ + "registerTOTPBeforeKey": string; + /** + * FIDO2をサポートするハードウェアセキュリティキー、端末の生体認証やPINロック、パスキーといった、WebAuthn由来の鍵を登録します。 + */ + "securityKeyInfo": string; + /** + * セキュリティキー・パスキーを登録する + */ + "registerSecurityKey": string; + /** + * キーの名前を入力 + */ + "securityKeyName": string; + /** + * ブラウザの指示に従い、セキュリティキーやパスキーを登録してください + */ + "tapSecurityKey": string; + /** + * セキュリティキーを削除 + */ + "removeKey": string; + /** + * {name}を削除しますか? + */ + "removeKeyConfirm": ParameterizedString<"name">; + /** + * セキュリティキーが登録されている場合、認証アプリの設定は解除できません。 + */ + "whyTOTPOnlyRenew": string; + /** + * 認証アプリを再設定 + */ + "renewTOTP": string; + /** + * 今までの認証アプリの確認コードおよびバックアップコードは使用できなくなります + */ + "renewTOTPConfirm": string; + /** + * 再設定する + */ + "renewTOTPOk": string; + /** + * やめておく + */ + "renewTOTPCancel": string; + /** + * このウィザードを閉じる前に、以下のバックアップコードを確認してください。 + */ + "checkBackupCodesBeforeCloseThisWizard": string; + /** + * バックアップコード + */ + "backupCodes": string; + /** + * 認証アプリが使用できなくなった場合、以下のバックアップコードを使ってアカウントにアクセスできます。これらのコードは必ず安全な場所に保管してください。各コードは一回だけ使用できます。 + */ + "backupCodesDescription": string; + /** + * バックアップコードが使用されました。認証アプリが使えなくなっている場合、なるべく早く認証アプリを再設定してください。 + */ + "backupCodeUsedWarning": string; + /** + * バックアップコードが全て使用されました。認証アプリを利用できない場合、これ以上アカウントにアクセスできなくなります。認証アプリを再登録してください。 + */ + "backupCodesExhaustedWarning": string; + /** + * 詳細なガイドはこちら + */ + "moreDetailedGuideHere": string; + }; + "_permissions": { + /** + * アカウントの情報を見る + */ + "read:account": string; + /** + * アカウントの情報を変更する + */ + "write:account": string; + /** + * ブロックを見る + */ + "read:blocks": string; + /** + * ブロックを操作する + */ + "write:blocks": string; + /** + * ドライブを見る + */ + "read:drive": string; + /** + * ドライブを操作する + */ + "write:drive": string; + /** + * お気に入りを見る + */ + "read:favorites": string; + /** + * お気に入りを操作する + */ + "write:favorites": string; + /** + * フォローの情報を見る + */ + "read:following": string; + /** + * フォロー・フォロー解除する + */ + "write:following": string; + /** + * ダイレクトメッセージを見る + */ + "read:messaging": string; + /** + * ダイレクトメッセージを操作する + */ + "write:messaging": string; + /** + * ミュートを見る + */ + "read:mutes": string; + /** + * ミュートを操作する + */ + "write:mutes": string; + /** + * ノートを作成・削除する + */ + "write:notes": string; + /** + * 通知を見る + */ + "read:notifications": string; + /** + * 通知を操作する + */ + "write:notifications": string; + /** + * リアクションを見る + */ + "read:reactions": string; + /** + * リアクションを操作する + */ + "write:reactions": string; + /** + * 投票する + */ + "write:votes": string; + /** + * ページを見る + */ + "read:pages": string; + /** + * ページを操作する + */ + "write:pages": string; + /** + * ページのいいねを見る + */ + "read:page-likes": string; + /** + * ページのいいねを操作する + */ + "write:page-likes": string; + /** + * ユーザーグループを見る + */ + "read:user-groups": string; + /** + * ユーザーグループを操作する + */ + "write:user-groups": string; + /** + * チャンネルを見る + */ + "read:channels": string; + /** + * チャンネルを操作する + */ + "write:channels": string; + /** + * ギャラリーを見る + */ + "read:gallery": string; + /** + * ギャラリーを操作する + */ + "write:gallery": string; + /** + * ギャラリーのいいねを見る + */ + "read:gallery-likes": string; + /** + * ギャラリーのいいねを操作する + */ + "write:gallery-likes": string; + /** + * Playを見る + */ + "read:flash": string; + /** + * Playを操作する + */ + "write:flash": string; + /** + * Playのいいねを見る + */ + "read:flash-likes": string; + /** + * Playのいいねを操作する + */ + "write:flash-likes": string; + /** + * ユーザーからの通報を見る + */ + "read:admin:abuse-user-reports": string; + /** + * ユーザーアカウントを削除する + */ + "write:admin:delete-account": string; + /** + * ユーザーのすべてのファイルを削除する + */ + "write:admin:delete-all-files-of-a-user": string; + /** + * データベースインデックスに関する情報を見る + */ + "read:admin:index-stats": string; + /** + * データベーステーブルに関する情報を見る + */ + "read:admin:table-stats": string; + /** + * ユーザーのIPアドレスを見る + */ + "read:admin:user-ips": string; + /** + * インスタンスのメタデータを見る + */ + "read:admin:meta": string; + /** + * ユーザーのパスワードをリセットする + */ + "write:admin:reset-password": string; + /** + * ユーザーからの通報を解決する + */ + "write:admin:resolve-abuse-user-report": string; + /** + * メールを送る + */ + "write:admin:send-email": string; + /** + * サーバーの情報を見る + */ + "read:admin:server-info": string; + /** + * モデレーションログを見る + */ + "read:admin:show-moderation-log": string; + /** + * ユーザーのプライベートな情報を見る + */ + "read:admin:show-user": string; + /** + * ユーザーを凍結する + */ + "write:admin:suspend-user": string; + /** + * ユーザーのアバターを削除する + */ + "write:admin:unset-user-avatar": string; + /** + * ユーザーのバーナーを削除する + */ + "write:admin:unset-user-banner": string; + /** + * ユーザーの凍結を解除する + */ + "write:admin:unsuspend-user": string; + /** + * インスタンスのメタデータを操作する + */ + "write:admin:meta": string; + /** + * モデレーションノートを操作する + */ + "write:admin:user-note": string; + /** + * ロールを操作する + */ + "write:admin:roles": string; + /** + * ロールを見る + */ + "read:admin:roles": string; + /** + * リレーを操作する + */ + "write:admin:relays": string; + /** + * リレーを見る + */ + "read:admin:relays": string; + /** + * 招待コードを操作する + */ + "write:admin:invite-codes": string; + /** + * 招待コードを見る + */ + "read:admin:invite-codes": string; + /** + * お知らせを操作する + */ + "write:admin:announcements": string; + /** + * お知らせを見る + */ + "read:admin:announcements": string; + /** + * アバターデコレーションを操作する + */ + "write:admin:avatar-decorations": string; + /** + * アバターデコレーションを見る + */ + "read:admin:avatar-decorations": string; + /** + * 連合に関する情報を操作する + */ + "write:admin:federation": string; + /** + * ユーザーアカウントを操作する + */ + "write:admin:account": string; + /** + * ユーザーに関する情報を見る + */ + "read:admin:account": string; + /** + * 絵文字を操作する + */ + "write:admin:emoji": string; + /** + * 絵文字を見る + */ + "read:admin:emoji": string; + /** + * ジョブキューを操作する + */ + "write:admin:queue": string; + /** + * ジョブキューに関する情報を見る + */ + "read:admin:queue": string; + /** + * プロモーションノートを操作する + */ + "write:admin:promo": string; + /** + * ユーザーのドライブを操作する + */ + "write:admin:drive": string; + /** + * ユーザーのドライブの関する情報を見る + */ + "read:admin:drive": string; + /** + * 管理者用のWebsocket APIを使う + */ + "read:admin:stream": string; + /** + * 広告を操作する + */ + "write:admin:ad": string; + /** + * 広告を見る + */ + "read:admin:ad": string; + /** + * 招待コードを作成する + */ + "write:invite-codes": string; + /** + * 招待コードを取得する + */ + "read:invite-codes": string; + /** + * クリップのいいねを操作する + */ + "write:clip-favorite": string; + /** + * クリップのいいねを見る + */ + "read:clip-favorite": string; + /** + * 連合に関する情報を取得する + */ + "read:federation": string; + /** + * 違反を報告する + */ + "write:report-abuse": string; + /** + * ダイレクトメッセージを操作する + */ + "write:chat": string; + /** + * ダイレクトメッセージを閲覧する + */ + "read:chat": string; + }; + "_auth": { + /** + * アプリへのアクセス許可 + */ + "shareAccessTitle": string; + /** + * 「{name}」がアカウントにアクセスすることを許可しますか? + */ + "shareAccess": ParameterizedString<"name">; + /** + * アカウントへのアクセスを許可しますか? + */ + "shareAccessAsk": string; + /** + * {name}は次の権限を要求しています + */ + "permission": ParameterizedString<"name">; + /** + * このアプリは次の権限を要求しています + */ + "permissionAsk": string; + /** + * アプリケーションに戻ってやっていってください + */ + "pleaseGoBack": string; + /** + * アプリケーションに戻っています + */ + "callback": string; + /** + * アクセスを許可しました + */ + "accepted": string; + /** + * アクセスを拒否しました + */ + "denied": string; + /** + * 以下のユーザーとして操作しています + */ + "scopeUser": string; + /** + * アプリケーションにアクセス許可を与えるには、ログインが必要です。 + */ + "pleaseLogin": string; + /** + * アクセスを許可すると、自動で以下のURLに遷移します + */ + "byClickingYouWillBeRedirectedToThisUrl": string; + /** + * このアプリケーションは既にアクセスが許可されています。 + */ + "alreadyAuthorized": string; + }; + "_antennaSources": { + /** + * 全てのノート + */ + "all": string; + /** + * フォローしているユーザーのノート + */ + "homeTimeline": string; + /** + * 指定した一人または複数のユーザーのノート + */ + "users": string; + /** + * 指定したリストのユーザーのノート + */ + "userList": string; + /** + * 指定した一人または複数のユーザーを除いた全てのノート + */ + "userBlacklist": string; + }; + "_weekday": { + /** + * 日曜日 + */ + "sunday": string; + /** + * 月曜日 + */ + "monday": string; + /** + * 火曜日 + */ + "tuesday": string; + /** + * 水曜日 + */ + "wednesday": string; + /** + * 木曜日 + */ + "thursday": string; + /** + * 金曜日 + */ + "friday": string; + /** + * 土曜日 + */ + "saturday": string; + }; + "_widgets": { + /** + * プロフィール + */ + "profile": string; + /** + * サーバー情報 + */ + "instanceInfo": string; + /** + * 付箋 + */ + "memo": string; + /** + * 通知 + */ + "notifications": string; + /** + * タイムライン + */ + "timeline": string; + /** + * カレンダー + */ + "calendar": string; + /** + * トレンド + */ + "trends": string; + /** + * 時計 + */ + "clock": string; + /** + * RSSリーダー + */ + "rss": string; + /** + * RSSティッカー + */ + "rssTicker": string; + /** + * アクティビティ + */ + "activity": string; + /** + * フォト + */ + "photos": string; + /** + * デジタル時計 + */ + "digitalClock": string; + /** + * UNIX時計 + */ + "unixClock": string; + /** + * 連合 + */ + "federation": string; + /** + * サーバークラウド + */ + "instanceCloud": string; + /** + * 投稿フォーム + */ + "postForm": string; + /** + * スライドショー + */ + "slideshow": string; + /** + * ボタン + */ + "button": string; + /** + * オンラインユーザー + */ + "onlineUsers": string; + /** + * ジョブキュー + */ + "jobQueue": string; + /** + * サーバーメトリクス + */ + "serverMetric": string; + /** + * AiScriptコンソール + */ + "aiscript": string; + /** + * AiScript App + */ + "aiscriptApp": string; + /** + * 藍 + */ + "aichan": string; + /** + * ユーザーリスト + */ + "userList": string; + "_userList": { + /** + * リストを選択 + */ + "chooseList": string; + }; + /** + * クリッカー + */ + "clicker": string; + /** + * 今日誕生日のユーザー + */ + "birthdayFollowings": string; + /** + * ダイレクトメッセージ + */ + "chat": string; + }; + "_cw": { + /** + * 隠す + */ + "hide": string; + /** + * もっと見る + */ + "show": string; + /** + * {count}文字 + */ + "chars": ParameterizedString<"count">; + /** + * {count}ファイル + */ + "files": ParameterizedString<"count">; + }; + "_poll": { + /** + * 選択肢は最低2つ必要です + */ + "noOnlyOneChoice": string; + /** + * 選択肢{n} + */ + "choiceN": ParameterizedString<"n">; + /** + * これ以上追加できません + */ + "noMore": string; + /** + * 複数回答可 + */ + "canMultipleVote": string; + /** + * 期限 + */ + "expiration": string; + /** + * 無期限 + */ + "infinite": string; + /** + * 日時指定 + */ + "at": string; + /** + * 経過指定 + */ + "after": string; + /** + * 期日 + */ + "deadlineDate": string; + /** + * 時間 + */ + "deadlineTime": string; + /** + * 期間 + */ + "duration": string; + /** + * {n}票 + */ + "votesCount": ParameterizedString<"n">; + /** + * 計{n}票 + */ + "totalVotes": ParameterizedString<"n">; + /** + * 投票する + */ + "vote": string; + /** + * 結果を見る + */ + "showResult": string; + /** + * 投票済み + */ + "voted": string; + /** + * 終了済み + */ + "closed": string; + /** + * 終了まであと{d}日{h}時間 + */ + "remainingDays": ParameterizedString<"d" | "h">; + /** + * 終了まであと{h}時間{m}分 + */ + "remainingHours": ParameterizedString<"h" | "m">; + /** + * 終了まであと{m}分{s}秒 + */ + "remainingMinutes": ParameterizedString<"m" | "s">; + /** + * 終了まであと{s}秒 + */ + "remainingSeconds": ParameterizedString<"s">; + }; + "_visibility": { + /** + * パブリック + */ + "public": string; + /** + * 全てのユーザーに公開 + */ + "publicDescription": string; + /** + * ホーム + */ + "home": string; + /** + * ホームタイムラインのみに公開 + */ + "homeDescription": string; + /** + * フォロワー + */ + "followers": string; + /** + * 自分のフォロワーのみに公開 + */ + "followersDescription": string; + /** + * 指名 + */ + "specified": string; + /** + * 指定したユーザーのみに公開 + */ + "specifiedDescription": string; + /** + * 連合なし + */ + "disableFederation": string; + /** + * 他サーバーへの配信を行いません + */ + "disableFederationDescription": string; + }; + "_postForm": { + /** + * アップロードされていないファイルがありますが、破棄してフォームを閉じますか? + */ + "quitInspiteOfThereAreUnuploadedFilesConfirm": string; + /** + * ファイルはまだアップロードされていません。ファイルのメニューから、リネームや画像のクロップ、ウォーターマークの付与、圧縮の有無などを設定できます。ファイルはノート投稿時に自動でアップロードされます。 + */ + "uploaderTip": string; + /** + * このノートに返信... + */ + "replyPlaceholder": string; + /** + * このノートを引用... + */ + "quotePlaceholder": string; + /** + * チャンネルに投稿... + */ + "channelPlaceholder": string; + /** + * フォームの説明を表示 + */ + "showHowToUse": string; + "_howToUse": { + /** + * 本文 + */ + "content_title": string; + /** + * 投稿する内容を入力します。 + */ + "content_description": string; + /** + * ツールバー + */ + "toolbar_title": string; + /** + * ファイルやアンケートの添付、注釈やハッシュタグの設定、絵文字やメンションの挿入などが行えます。 + */ + "toolbar_description": string; + /** + * アカウントメニュー + */ + "account_title": string; + /** + * 投稿するアカウントを切り替えたり、アカウントに保存した下書き・予約投稿を一覧できます。 + */ + "account_description": string; + /** + * 公開範囲 + */ + "visibility_title": string; + /** + * ノートを公開する範囲の設定が行えます。 + */ + "visibility_description": string; + /** + * メニュー + */ + "menu_title": string; + /** + * 下書きへの保存、投稿の予約、リアクションの設定など、その他のアクションが行えます。 + */ + "menu_description": string; + /** + * 投稿ボタン + */ + "submit_title": string; + /** + * ノートを投稿します。Ctrl + Enter / Cmd + Enter でも投稿できます。 + */ + "submit_description": string; + }; + "_placeholders": { + /** + * いまどうしてる? + */ + "a": string; + /** + * 何かありましたか? + */ + "b": string; + /** + * 何をお考えですか? + */ + "c": string; + /** + * 言いたいことは? + */ + "d": string; + /** + * ここに書いてください + */ + "e": string; + /** + * あなたが書くのを待っています... + */ + "f": string; + }; + }; + "_profile": { + /** + * 名前 + */ + "name": string; + /** + * ユーザー名 + */ + "username": string; + /** + * 自己紹介 + */ + "description": string; + /** + * ハッシュタグを含めることができます。 + */ + "youCanIncludeHashtags": string; + /** + * 追加情報 + */ + "metadata": string; + /** + * 追加情報を編集 + */ + "metadataEdit": string; + /** + * プロフィールに表として追加情報を表示することができます。 + */ + "metadataDescription": string; + /** + * ラベル + */ + "metadataLabel": string; + /** + * 内容 + */ + "metadataContent": string; + /** + * アイコン画像を変更 + */ + "changeAvatar": string; + /** + * バナー画像を変更 + */ + "changeBanner": string; + /** + * 内容にURLを設定すると、リンク先のWebサイトに自分のプロフィールへのリンクが含まれている場合に所有者確認済みアイコンを表示させることができます。 + */ + "verifiedLinkDescription": string; + /** + * 最大{max}つまでデコレーションを付けられます。 + */ + "avatarDecorationMax": ParameterizedString<"max">; + /** + * フォローされた時のメッセージ + */ + "followedMessage": string; + /** + * フォローされた時に相手に表示する短いメッセージを設定できます。 + */ + "followedMessageDescription": string; + /** + * フォローを承認制にしている場合、フォローリクエストを許可した時に表示されます。 + */ + "followedMessageDescriptionForLockedAccount": string; + }; + "_exportOrImport": { + /** + * 全てのノート + */ + "allNotes": string; + /** + * お気に入りにしたノート + */ + "favoritedNotes": string; + /** + * クリップ + */ + "clips": string; + /** + * フォロー + */ + "followingList": string; + /** + * ミュート + */ + "muteList": string; + /** + * ブロック + */ + "blockingList": string; + /** + * リスト + */ + "userLists": string; + /** + * ミュートしているユーザーを除外 + */ + "excludeMutingUsers": string; + /** + * 使われていないアカウントを除外 + */ + "excludeInactiveUsers": string; + /** + * 返信をTLに含むかの情報がファイルにない場合に、インポートした人による返信をTLに含むようにする + */ + "withReplies": string; + }; + "_charts": { + /** + * 連合 + */ + "federation": string; + /** + * リクエスト + */ + "apRequest": string; + /** + * ユーザーの増減 + */ + "usersIncDec": string; + /** + * ユーザーの合計 + */ + "usersTotal": string; + /** + * アクティブユーザー数 + */ + "activeUsers": string; + /** + * ノートの増減 + */ + "notesIncDec": string; + /** + * ローカルのノートの増減 + */ + "localNotesIncDec": string; + /** + * リモートのノートの増減 + */ + "remoteNotesIncDec": string; + /** + * ノートの合計 + */ + "notesTotal": string; + /** + * ファイルの増減 + */ + "filesIncDec": string; + /** + * ファイルの合計 + */ + "filesTotal": string; + /** + * ストレージ使用量の増減 + */ + "storageUsageIncDec": string; + /** + * ストレージ使用量の合計 + */ + "storageUsageTotal": string; + }; + "_instanceCharts": { + /** + * リクエスト + */ + "requests": string; + /** + * ユーザーの増減 + */ + "users": string; + /** + * ユーザーの累積 + */ + "usersTotal": string; + /** + * ノートの増減 + */ + "notes": string; + /** + * ノートの累積 + */ + "notesTotal": string; + /** + * フォロー/フォロワーの増減 + */ + "ff": string; + /** + * フォロー/フォロワーの累積 + */ + "ffTotal": string; + /** + * キャッシュサイズの増減 + */ + "cacheSize": string; + /** + * キャッシュサイズの累積 + */ + "cacheSizeTotal": string; + /** + * ファイル数の増減 + */ + "files": string; + /** + * ファイル数の累積 + */ + "filesTotal": string; + }; + "_timelines": { + /** + * ホーム + */ + "home": string; + /** + * ローカル + */ + "local": string; + /** + * ソーシャル + */ + "social": string; + /** + * グローバル + */ + "global": string; + }; + "_play": { + /** + * Playの作成 + */ + "new": string; + /** + * Playの編集 + */ + "edit": string; + /** + * Playを作成しました + */ + "created": string; + /** + * Playを更新しました + */ + "updated": string; + /** + * Playを削除しました + */ + "deleted": string; + /** + * Play設定 + */ + "pageSetting": string; + /** + * このPlayを編集 + */ + "editThisPage": string; + /** + * ソースを表示 + */ + "viewSource": string; + /** + * 自分のPlay + */ + "my": string; + /** + * いいねしたPlay + */ + "liked": string; + /** + * 人気 + */ + "featured": string; + /** + * タイトル + */ + "title": string; + /** + * スクリプト + */ + "script": string; + /** + * 説明 + */ + "summary": string; + /** + * 非公開に設定するとプロフィールに表示されなくなりますが、URLを知っている人は引き続きアクセスできます。 + */ + "visibilityDescription": string; + }; + "_pages": { + /** + * ページの作成 + */ + "newPage": string; + /** + * ページの編集 + */ + "editPage": string; + /** + * ソースを表示中 + */ + "readPage": string; + /** + * ページ設定 + */ + "pageSetting": string; + /** + * 指定されたページURLは既に存在しています + */ + "nameAlreadyExists": string; + /** + * 不正なページURLです + */ + "invalidNameTitle": string; + /** + * 空白でないか確認してください + */ + "invalidNameText": string; + /** + * このページを編集 + */ + "editThisPage": string; + /** + * ソースを表示 + */ + "viewSource": string; + /** + * ページを見る + */ + "viewPage": string; + /** + * いいね + */ + "like": string; + /** + * いいね解除 + */ + "unlike": string; + /** + * 自分のページ + */ + "my": string; + /** + * いいねしたページ + */ + "liked": string; + /** + * 人気 + */ + "featured": string; + /** + * インスペクター + */ + "inspector": string; + /** + * コンテンツ + */ + "contents": string; + /** + * ページブロック + */ + "content": string; + /** + * 変数 + */ + "variables": string; + /** + * タイトル + */ + "title": string; + /** + * ページURL + */ + "url": string; + /** + * ページの要約 + */ + "summary": string; + /** + * 中央寄せ + */ + "alignCenter": string; + /** + * ピン留めされているときにタイトルを非表示 + */ + "hideTitleWhenPinned": string; + /** + * フォント + */ + "font": string; + /** + * セリフ + */ + "fontSerif": string; + /** + * サンセリフ + */ + "fontSansSerif": string; + /** + * アイキャッチ画像を設定 + */ + "eyeCatchingImageSet": string; + /** + * アイキャッチ画像を削除 + */ + "eyeCatchingImageRemove": string; + /** + * ブロックを追加 + */ + "chooseBlock": string; + /** + * セクションタイトルを入力 + */ + "enterSectionTitle": string; + /** + * 種類を選択 + */ + "selectType": string; + /** + * コンテンツ + */ + "contentBlocks": string; + /** + * 入力 + */ + "inputBlocks": string; + /** + * 特殊 + */ + "specialBlocks": string; + "blocks": { + /** + * テキスト + */ + "text": string; + /** + * テキストエリア + */ + "textarea": string; + /** + * セクション + */ + "section": string; + /** + * 画像 + */ + "image": string; + /** + * ボタン + */ + "button": string; + /** + * 動的ブロック + */ + "dynamic": string; + /** + * このブロックは廃止されています。今後は{play}を利用してください。 + */ + "dynamicDescription": ParameterizedString<"play">; + /** + * ノート埋め込み + */ + "note": string; + "_note": { + /** + * ノートID + */ + "id": string; + /** + * ノートURLをペーストして設定することもできます。 + */ + "idDescription": string; + /** + * 詳細な表示 + */ + "detailed": string; + }; + }; + }; + "_relayStatus": { + /** + * 承認待ち + */ + "requesting": string; + /** + * 承認済み + */ + "accepted": string; + /** + * 拒否済み + */ + "rejected": string; + }; + "_notification": { + /** + * ファイルがアップロードされました + */ + "fileUploaded": string; + /** + * {name}からのメンション + */ + "youGotMention": ParameterizedString<"name">; + /** + * {name}からのリプライ + */ + "youGotReply": ParameterizedString<"name">; + /** + * {name}による引用 + */ + "youGotQuote": ParameterizedString<"name">; + /** + * {name}がリノートしました + */ + "youRenoted": ParameterizedString<"name">; + /** + * フォローされました + */ + "youWereFollowed": string; + /** + * フォローリクエストが来ました + */ + "youReceivedFollowRequest": string; + /** + * フォローリクエストが承認されました + */ + "yourFollowRequestAccepted": string; + /** + * アンケートの結果が出ました + */ + "pollEnded": string; + /** + * 予約ノートが投稿されました + */ + "scheduledNotePosted": string; + /** + * 予約ノートの投稿に失敗しました + */ + "scheduledNotePostFailed": string; + /** + * 新しい投稿 + */ + "newNote": string; + /** + * アンテナ {name} + */ + "unreadAntennaNote": ParameterizedString<"name">; + /** + * ロールが付与されました + */ + "roleAssigned": string; + /** + * ダイレクトメッセージのグループへ招待されました + */ + "chatRoomInvitationReceived": string; + /** + * プッシュ通知の更新をしました + */ + "emptyPushNotificationMessage": string; + /** + * 実績を獲得 + */ + "achievementEarned": string; + /** + * 通知テスト + */ + "testNotification": string; + /** + * 通知の表示を確かめる + */ + "checkNotificationBehavior": string; + /** + * テスト通知を送信する + */ + "sendTestNotification": string; + /** + * 通知はこのように表示されます + */ + "notificationWillBeDisplayedLikeThis": string; + /** + * {n}人がリアクションしました + */ + "reactedBySomeUsers": ParameterizedString<"n">; + /** + * {n}人がいいねしました + */ + "likedBySomeUsers": ParameterizedString<"n">; + /** + * {n}人がリノートしました + */ + "renotedBySomeUsers": ParameterizedString<"n">; + /** + * {n}人にフォローされました + */ + "followedBySomeUsers": ParameterizedString<"n">; + /** + * 通知の履歴をリセットする + */ + "flushNotification": string; + /** + * {x}のエクスポートが完了しました + */ + "exportOfXCompleted": ParameterizedString<"x">; + /** + * ログインがありました + */ + "login": string; + /** + * アクセストークンが作成されました + */ + "createToken": string; + /** + * 心当たりがない場合は「{text}」を通じてアクセストークンを削除してください。 + */ + "createTokenDescription": ParameterizedString<"text">; + "_types": { + /** + * すべて + */ + "all": string; + /** + * ユーザーの新規投稿 + */ + "note": string; + /** + * フォロー + */ + "follow": string; + /** + * メンション + */ + "mention": string; + /** + * リプライ + */ + "reply": string; + /** + * リノート + */ + "renote": string; + /** + * 引用 + */ + "quote": string; + /** + * リアクション + */ + "reaction": string; + /** + * アンケートが終了 + */ + "pollEnded": string; + /** + * 予約投稿が成功した + */ + "scheduledNotePosted": string; + /** + * 予約投稿が失敗した + */ + "scheduledNotePostFailed": string; + /** + * フォロー申請を受け取った + */ + "receiveFollowRequest": string; + /** + * フォローが受理された + */ + "followRequestAccepted": string; + /** + * ロールが付与された + */ + "roleAssigned": string; + /** + * ダイレクトメッセージのグループへ招待された + */ + "chatRoomInvitationReceived": string; + /** + * 実績の獲得 + */ + "achievementEarned": string; + /** + * エクスポートが完了した + */ + "exportCompleted": string; + /** + * ログイン + */ + "login": string; + /** + * アクセストークンの作成 + */ + "createToken": string; + /** + * 通知のテスト + */ + "test": string; + /** + * 連携アプリからの通知 + */ + "app": string; + }; + "_actions": { + /** + * フォローバック + */ + "followBack": string; + /** + * 返信 + */ + "reply": string; + /** + * リノート + */ + "renote": string; + }; + }; + "_deck": { + /** + * 常にメインカラムを表示 + */ + "alwaysShowMainColumn": string; + /** + * カラムの寄せ + */ + "columnAlign": string; + /** + * カラム間のマージン + */ + "columnGap": string; + /** + * デッキメニューの位置 + */ + "deckMenuPosition": string; + /** + * ナビゲーションバーの位置 + */ + "navbarPosition": string; + /** + * カラムを追加 + */ + "addColumn": string; + /** + * 新着ノート通知の設定 + */ + "newNoteNotificationSettings": string; + /** + * カラムの設定 + */ + "configureColumn": string; + /** + * 左に移動 + */ + "swapLeft": string; + /** + * 右に移動 + */ + "swapRight": string; + /** + * 上に移動 + */ + "swapUp": string; + /** + * 下に移動 + */ + "swapDown": string; + /** + * 左にスタック + */ + "stackLeft": string; + /** + * 右に出す + */ + "popRight": string; + /** + * プロファイル + */ + "profile": string; + /** + * 新規プロファイル + */ + "newProfile": string; + /** + * プロファイルを削除 + */ + "deleteProfile": string; + /** + * カラムを組み合わせて自分だけのインターフェイスを作りましょう! + */ + "introduction": string; + /** + * カラムを追加するには、画面の + をクリックします。 + */ + "introduction2": string; + /** + * カラムのメニューから、「ウィジェットの編集」を選択してウィジェットを追加してください + */ + "widgetsIntroduction": string; + /** + * 非ルートページは簡易UIで表示 + */ + "useSimpleUiForNonRootPages": string; + /** + * 「幅を自動調整」が有効の場合、これが幅の最小値となります + */ + "usedAsMinWidthWhenFlexible": string; + /** + * 幅を自動調整 + */ + "flexible": string; + /** + * プロファイル情報のデバイス間同期を有効にする + */ + "enableSyncBetweenDevicesForProfiles": string; + "_columns": { + /** + * メイン + */ + "main": string; + /** + * ウィジェット + */ + "widgets": string; + /** + * 通知 + */ + "notifications": string; + /** + * タイムライン + */ + "tl": string; + /** + * アンテナ + */ + "antenna": string; + /** + * リスト + */ + "list": string; + /** + * チャンネル + */ + "channel": string; + /** + * メンション + */ + "mentions": string; + /** + * 指名 + */ + "direct": string; + /** + * ロールタイムライン + */ + "roleTimeline": string; + /** + * ダイレクトメッセージ + */ + "chat": string; + }; + }; + "_dialog": { + /** + * 最大文字数を超えています! 現在 {current} / 制限 {max} + */ + "charactersExceeded": ParameterizedString<"current" | "max">; + /** + * 最小文字数を下回っています! 現在 {current} / 制限 {min} + */ + "charactersBelow": ParameterizedString<"current" | "min">; + }; + "_disabledTimeline": { + /** + * 無効化されたタイムライン + */ + "title": string; + /** + * 現在のロールでは、このタイムラインを使用することはできません。 + */ + "description": string; + }; + "_drivecleaner": { + /** + * サイズが大きい順 + */ + "orderBySizeDesc": string; + /** + * 追加日が古い順 + */ + "orderByCreatedAtAsc": string; + }; + "_webhookSettings": { + /** + * Webhookを作成 + */ + "createWebhook": string; + /** + * Webhookを編集 + */ + "modifyWebhook": string; + /** + * 名前 + */ + "name": string; + /** + * シークレット + */ + "secret": string; + /** + * トリガー + */ + "trigger": string; + /** + * 有効 + */ + "active": string; + "_events": { + /** + * フォローしたとき + */ + "follow": string; + /** + * フォローされたとき + */ + "followed": string; + /** + * ノートを投稿したとき + */ + "note": string; + /** + * 返信されたとき + */ + "reply": string; + /** + * Renoteされたとき + */ + "renote": string; + /** + * リアクションがあったとき + */ + "reaction": string; + /** + * メンションされたとき + */ + "mention": string; + }; + "_systemEvents": { + /** + * ユーザーから通報があったとき + */ + "abuseReport": string; + /** + * ユーザーからの通報を処理したとき + */ + "abuseReportResolved": string; + /** + * ユーザーが作成されたとき + */ + "userCreated": string; + /** + * モデレーターが一定期間非アクティブになったとき + */ + "inactiveModeratorsWarning": string; + /** + * モデレーターが一定期間非アクティブだったため、システムにより招待制へと変更されたとき + */ + "inactiveModeratorsInvitationOnlyChanged": string; + }; + /** + * Webhookを削除しますか? + */ + "deleteConfirm": string; + /** + * スイッチの右にあるボタンをクリックするとダミーのデータを使用したテスト用Webhookを送信できます。 + */ + "testRemarks": string; + }; + "_abuseReport": { + "_notificationRecipient": { + /** + * 通報の通知先を追加 + */ + "createRecipient": string; + /** + * 通報の通知先を編集 + */ + "modifyRecipient": string; + /** + * 通知先の種類 + */ + "recipientType": string; + "_recipientType": { + /** + * メール + */ + "mail": string; + /** + * Webhook + */ + "webhook": string; + "_captions": { + /** + * モデレーター権限を持つユーザーのメールアドレスに通知を送ります(通報を受けた時のみ) + */ + "mail": string; + /** + * 指定したSystemWebhookに通知を送ります(通報を受けた時と通報を解決した時にそれぞれ発信) + */ + "webhook": string; + }; + }; + /** + * キーワード + */ + "keywords": string; + /** + * 通知先ユーザー + */ + "notifiedUser": string; + /** + * 使用するWebhook + */ + "notifiedWebhook": string; + /** + * 通知先を削除しますか? + */ + "deleteConfirm": string; + }; + }; + "_moderationLogTypes": { + /** + * ジョブキューをクリア + */ + "clearQueue": string; + /** + * キューのジョブを再試行 + */ + "promoteQueue": string; + /** + * ロールを作成 + */ + "createRole": string; + /** + * ロールを削除 + */ + "deleteRole": string; + /** + * ロールを更新 + */ + "updateRole": string; + /** + * ロールへアサイン + */ + "assignRole": string; + /** + * ロールのアサイン解除 + */ + "unassignRole": string; + /** + * 凍結 + */ + "suspend": string; + /** + * 凍結解除 + */ + "unsuspend": string; + /** + * カスタム絵文字追加 + */ + "addCustomEmoji": string; + /** + * カスタム絵文字更新 + */ + "updateCustomEmoji": string; + /** + * カスタム絵文字削除 + */ + "deleteCustomEmoji": string; + /** + * サーバー設定更新 + */ + "updateServerSettings": string; + /** + * ユーザーのモデレーションノート更新 + */ + "updateUserNote": string; + /** + * ファイルを削除 + */ + "deleteDriveFile": string; + /** + * ノートを削除 + */ + "deleteNote": string; + /** + * 全体のお知らせを作成 + */ + "createGlobalAnnouncement": string; + /** + * ユーザーへお知らせを作成 + */ + "createUserAnnouncement": string; + /** + * 全体のお知らせを更新 + */ + "updateGlobalAnnouncement": string; + /** + * ユーザーのお知らせを更新 + */ + "updateUserAnnouncement": string; + /** + * 全体のお知らせを削除 + */ + "deleteGlobalAnnouncement": string; + /** + * ユーザーのお知らせを削除 + */ + "deleteUserAnnouncement": string; + /** + * パスワードをリセット + */ + "resetPassword": string; + /** + * リモートサーバーを停止 + */ + "suspendRemoteInstance": string; + /** + * リモートサーバーを再開 + */ + "unsuspendRemoteInstance": string; + /** + * リモートサーバーのモデレーションノート更新 + */ + "updateRemoteInstanceNote": string; + /** + * ファイルをセンシティブ付与 + */ + "markSensitiveDriveFile": string; + /** + * ファイルをセンシティブ解除 + */ + "unmarkSensitiveDriveFile": string; + /** + * 通報を解決 + */ + "resolveAbuseReport": string; + /** + * 通報を転送 + */ + "forwardAbuseReport": string; + /** + * 通報のモデレーションノート更新 + */ + "updateAbuseReportNote": string; + /** + * 招待コードを作成 + */ + "createInvitation": string; + /** + * 広告を作成 + */ + "createAd": string; + /** + * 広告を削除 + */ + "deleteAd": string; + /** + * 広告を更新 + */ + "updateAd": string; + /** + * アイコンデコレーションを作成 + */ + "createAvatarDecoration": string; + /** + * アイコンデコレーションを更新 + */ + "updateAvatarDecoration": string; + /** + * アイコンデコレーションを削除 + */ + "deleteAvatarDecoration": string; + /** + * ユーザーのアイコンを解除 + */ + "unsetUserAvatar": string; + /** + * ユーザーのバナーを解除 + */ + "unsetUserBanner": string; + /** + * SystemWebhookを作成 + */ + "createSystemWebhook": string; + /** + * SystemWebhookを更新 + */ + "updateSystemWebhook": string; + /** + * SystemWebhookを削除 + */ + "deleteSystemWebhook": string; + /** + * 通報の通知先を作成 + */ + "createAbuseReportNotificationRecipient": string; + /** + * 通報の通知先を更新 + */ + "updateAbuseReportNotificationRecipient": string; + /** + * 通報の通知先を削除 + */ + "deleteAbuseReportNotificationRecipient": string; + /** + * アカウントを削除 + */ + "deleteAccount": string; + /** + * ページを削除 + */ + "deletePage": string; + /** + * Playを削除 + */ + "deleteFlash": string; + /** + * ギャラリーの投稿を削除 + */ + "deleteGalleryPost": string; + /** + * ダイレクトメッセージのグループを削除 + */ + "deleteChatRoom": string; + /** + * プロキシアカウントの説明を更新 + */ + "updateProxyAccountDescription": string; + }; + "_fileViewer": { + /** + * ファイルの詳細 + */ + "title": string; + /** + * ファイルタイプ + */ + "type": string; + /** + * ファイルサイズ + */ + "size": string; + /** + * URL + */ + "url": string; + /** + * 追加日 + */ + "uploadedAt": string; + /** + * 添付されているノート + */ + "attachedNotes": string; + /** + * 利用 + */ + "usage": string; + /** + * このページは、このファイルをアップロードしたユーザーしか閲覧できません。 + */ + "thisPageCanBeSeenFromTheAuthor": string; + }; + "_externalResourceInstaller": { + /** + * 外部サイトからインストール + */ + "title": string; + /** + * 配布元が信頼できるかを確認した上でインストールしてください。 + */ + "checkVendorBeforeInstall": string; + "_plugin": { + /** + * このプラグインをインストールしますか? + */ + "title": string; + }; + "_theme": { + /** + * このテーマをインストールしますか? + */ + "title": string; + }; + "_meta": { + /** + * 基本のカラースキーム + */ + "base": string; + }; + "_vendorInfo": { + /** + * 配布元情報 + */ + "title": string; + /** + * 参照したエンドポイント + */ + "endpoint": string; + /** + * ファイル整合性の確認 + */ + "hashVerify": string; + }; + "_errors": { + "_invalidParams": { + /** + * パラメータが不足しています + */ + "title": string; + /** + * 外部サイトからデータを取得するために必要な情報が不足しています。URLをお確かめください。 + */ + "description": string; + }; + "_resourceTypeNotSupported": { + /** + * この外部リソースには対応していません + */ + "title": string; + /** + * この外部サイトから取得したリソースの種別には対応していません。サイト管理者にお問い合わせください。 + */ + "description": string; + }; + "_failedToFetch": { + /** + * データの取得に失敗しました + */ + "title": string; + /** + * 外部サイトとの通信に失敗しました。もう一度試しても改善しない場合、サイト管理者にお問い合わせください。 + */ + "fetchErrorDescription": string; + /** + * 外部サイトから取得したデータが読み取れませんでした。サイト管理者にお問い合わせください。 + */ + "parseErrorDescription": string; + }; + "_hashUnmatched": { + /** + * 正しいデータが取得できませんでした + */ + "title": string; + /** + * 提供されたデータの整合性の確認に失敗しました。セキュリティ上、インストールは続行できません。サイト管理者にお問い合わせください。 + */ + "description": string; + }; + "_pluginParseFailed": { + /** + * AiScript エラー + */ + "title": string; + /** + * データは取得できたものの、AiScriptの解析時にエラーがあったため読み込めませんでした。プラグインの作者にお問い合わせください。エラーの詳細はJavascriptコンソールをご確認ください。 + */ + "description": string; + }; + "_pluginInstallFailed": { + /** + * プラグインのインストールに失敗しました + */ + "title": string; + /** + * プラグインのインストール中に問題が発生しました。もう一度お試しください。エラーの詳細はJavascriptコンソールをご覧ください。 + */ + "description": string; + }; + "_themeParseFailed": { + /** + * テーマ解析エラー + */ + "title": string; + /** + * データは取得できたものの、テーマファイルの解析時にエラーがあったため読み込めませんでした。テーマの作者にお問い合わせください。エラーの詳細はJavascriptコンソールをご確認ください。 + */ + "description": string; + }; + "_themeInstallFailed": { + /** + * テーマのインストールに失敗しました + */ + "title": string; + /** + * テーマのインストール中に問題が発生しました。もう一度お試しください。エラーの詳細はJavascriptコンソールをご覧ください。 + */ + "description": string; + }; + }; + }; + "_dataSaver": { + "_media": { + /** + * メディアの読み込みを無効化 + */ + "title": string; + /** + * 画像・動画が自動で読み込まれるのを防止します。隠れている画像・動画はタップすると読み込まれます。 + */ + "description": string; + }; + "_avatar": { + /** + * アイコン画像のアニメーションを無効化 + */ + "title": string; + /** + * アイコン画像のアニメーションが停止します。アニメーション画像は通常の画像よりファイルサイズが大きいことがあるので、データ通信量をさらに削減できます。 + */ + "description": string; + }; + "_urlPreviewThumbnail": { + /** + * URLプレビューのサムネイルを非表示 + */ + "title": string; + /** + * URLプレビューのサムネイル画像が読み込まれなくなります。 + */ + "description": string; + }; + "_disableUrlPreview": { + /** + * URLプレビューを無効化 + */ + "title": string; + /** + * URLプレビュー機能を無効化します。サムネイル画像だけと違い、リンク先の情報の読み込み自体を削減できます。 + */ + "description": string; + }; + "_code": { + /** + * コードハイライトを非表示 + */ + "title": string; + /** + * MFMなどでコードハイライト記法が使われている場合、タップするまで読み込まれなくなります。コードハイライトではハイライトする言語ごとにその定義ファイルを読み込む必要がありますが、それらが自動で読み込まれなくなるため、通信量の削減が見込めます。 + */ + "description": string; + }; + }; + "_hemisphere": { + /** + * 北半球 + */ + "N": string; + /** + * 南半球 + */ + "S": string; + /** + * 一部のクライアント設定で、季節を判定するために使用します。 + */ + "caption": string; + }; + "_reversi": { + /** + * リバーシ + */ + "reversi": string; + /** + * 対局の設定 + */ + "gameSettings": string; + /** + * ボードを選択 + */ + "chooseBoard": string; + /** + * 先行/後攻 + */ + "blackOrWhite": string; + /** + * {name}が黒(先行) + */ + "blackIs": ParameterizedString<"name">; + /** + * ルール + */ + "rules": string; + /** + * 対局はまもなく開始されます + */ + "thisGameIsStartedSoon": string; + /** + * 相手の準備が完了するのを待っています + */ + "waitingForOther": string; + /** + * あなたの準備が完了するのを待っています + */ + "waitingForMe": string; + /** + * 準備してください + */ + "waitingBoth": string; + /** + * 準備完了 + */ + "ready": string; + /** + * 準備を再開 + */ + "cancelReady": string; + /** + * 相手のターンです + */ + "opponentTurn": string; + /** + * あなたのターンです + */ + "myTurn": string; + /** + * {name}のターンです + */ + "turnOf": ParameterizedString<"name">; + /** + * {name}のターン + */ + "pastTurnOf": ParameterizedString<"name">; + /** + * 投了 + */ + "surrender": string; + /** + * 投了により + */ + "surrendered": string; + /** + * 時間切れ + */ + "timeout": string; + /** + * 引き分け + */ + "drawn": string; + /** + * {name}の勝ち + */ + "won": ParameterizedString<"name">; + /** + * 黒 + */ + "black": string; + /** + * 白 + */ + "white": string; + /** + * 合計 + */ + "total": string; + /** + * {count}ターン目 + */ + "turnCount": ParameterizedString<"count">; + /** + * 自分の対局 + */ + "myGames": string; + /** + * みんなの対局 + */ + "allGames": string; + /** + * 終了 + */ + "ended": string; + /** + * 対局中 + */ + "playing": string; + /** + * 石の少ない方が勝ち(ロセオ) + */ + "isLlotheo": string; + /** + * ループマップ + */ + "loopedMap": string; + /** + * どこでも置けるモード + */ + "canPutEverywhere": string; + /** + * 1ターンの時間制限 + */ + "timeLimitForEachTurn": string; + /** + * フリーマッチ + */ + "freeMatch": string; + /** + * 対戦相手を探しています + */ + "lookingForPlayer": string; + /** + * 対局がキャンセルされました + */ + "gameCanceled": string; + /** + * 開始時に対局をタイムラインに投稿 + */ + "shareToTlTheGameWhenStart": string; + /** + * 対局を開始しました! #MisskeyReversi + */ + "iStartedAGame": string; + /** + * 相手が設定を変更しました + */ + "opponentHasSettingsChanged": string; + /** + * 変則許可 (完全フリー) + */ + "allowIrregularRules": string; + /** + * 変則なし + */ + "disallowIrregularRules": string; + /** + * 盤面に行・列番号を表示 + */ + "showBoardLabels": string; + /** + * 石をアイコンにする + */ + "useAvatarAsStone": string; + }; + "_offlineScreen": { + /** + * オフライン - サーバーに接続できません + */ + "title": string; + /** + * サーバーに接続できません + */ + "header": string; + }; + "_urlPreviewSetting": { + /** + * URLプレビューの設定 + */ + "title": string; + /** + * URLプレビューを有効にする + */ + "enable": string; + /** + * プレビュー先のリダイレクトを許可 + */ + "allowRedirect": string; + /** + * 入力されたURLがリダイレクトされる場合に、そのリダイレクト先をたどってプレビューを表示するかどうかを設定します。無効にするとサーバーリソースの節約になりますが、リダイレクト先の内容は表示されなくなります。 + */ + "allowRedirectDescription": string; + /** + * プレビュー取得時のタイムアウト(ms) + */ + "timeout": string; + /** + * プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されません。 + */ + "timeoutDescription": string; + /** + * Content-Lengthの最大値(byte) + */ + "maximumContentLength": string; + /** + * Content-Lengthがこの値を超えた場合、プレビューは生成されません。 + */ + "maximumContentLengthDescription": string; + /** + * Content-Lengthが取得できた場合のみプレビューを生成 + */ + "requireContentLength": string; + /** + * 相手サーバがContent-Lengthを返さない場合、プレビューは生成されません。 + */ + "requireContentLengthDescription": string; + /** + * User-Agent + */ + "userAgent": string; + /** + * プレビュー取得時に使用されるUser-Agentを設定します。空欄の場合、デフォルトのUser-Agentが使用されます。 + */ + "userAgentDescription": string; + /** + * プレビューを生成するプロキシのエンドポイント + */ + "summaryProxy": string; + /** + * Misskey本体ではなく、サマリープロキシを使用してプレビューを生成します。 + */ + "summaryProxyDescription": string; + /** + * プロキシには下記パラメータがクエリ文字列として連携されます。プロキシ側がこれらをサポートしない場合、設定値は無視されます。 + */ + "summaryProxyDescription2": string; + }; + "_mediaControls": { + /** + * ピクチャインピクチャ + */ + "pip": string; + /** + * 再生速度 + */ + "playbackRate": string; + /** + * ループ再生 + */ + "loop": string; + }; + "_contextMenu": { + /** + * コンテキストメニュー + */ + "title": string; + /** + * アプリケーション + */ + "app": string; + /** + * Shiftキーでアプリケーション + */ + "appWithShift": string; + /** + * ブラウザのUI + */ + "native": string; + }; + "_gridComponent": { + "_error": { + /** + * この値は必須項目です + */ + "requiredValue": string; + /** + * 正規表現によるバリデーションはtype:textのカラムのみサポートします。 + */ + "columnTypeNotSupport": string; + /** + * この値は{pattern}のパターンに一致しません + */ + "patternNotMatch": ParameterizedString<"pattern">; + /** + * この値は一意である必要があります + */ + "notUnique": string; + }; + }; + "_roleSelectDialog": { + /** + * 選択されていません + */ + "notSelected": string; + }; + "_customEmojisManager": { + "_gridCommon": { + /** + * 選択行をコピー + */ + "copySelectionRows": string; + /** + * 選択範囲をコピー + */ + "copySelectionRanges": string; + /** + * 選択行を削除 + */ + "deleteSelectionRows": string; + /** + * 選択範囲の値をクリア + */ + "deleteSelectionRanges": string; + /** + * 検索設定 + */ + "searchSettings": string; + /** + * 検索条件を詳細に設定します。 + */ + "searchSettingCaption": string; + /** + * 表示件数 + */ + "searchLimit": string; + /** + * 並び順 + */ + "sortOrder": string; + /** + * 登録ログ + */ + "registrationLogs": string; + /** + * 絵文字更新・削除時のログが表示されます。更新・削除操作を行ったり、ページを遷移・リロードすると消えます。 + */ + "registrationLogsCaption": string; + /** + * 絵文字の更新・削除に失敗しました。詳細は登録ログをご確認ください。 + */ + "alertEmojisRegisterFailedDescription": string; + }; + "_logs": { + /** + * 成功ログを表示 + */ + "showSuccessLogSwitch": string; + /** + * 失敗ログはありません。 + */ + "failureLogNothing": string; + /** + * ログはありません。 + */ + "logNothing": string; + }; + "_remote": { + /** + * 選択行の詳細 + */ + "selectionRowDetail": string; + /** + * 選択行をインポート + */ + "importSelectionRows": string; + /** + * 選択範囲の行をインポート + */ + "importSelectionRangesRows": string; + /** + * チェックされた絵文字をインポート + */ + "importEmojisButton": string; + /** + * 絵文字のインポート + */ + "confirmImportEmojisTitle": string; + /** + * リモートから受信した{count}個の絵文字のインポートを行います。絵文字のライセンスに十分な注意を払ってください。実行しますか? + */ + "confirmImportEmojisDescription": ParameterizedString<"count">; + }; + "_local": { + /** + * 登録済み絵文字一覧 + */ + "tabTitleList": string; + /** + * 絵文字の登録 + */ + "tabTitleRegister": string; + "_list": { + /** + * 登録された絵文字はありません。 + */ + "emojisNothing": string; + /** + * 選択行を削除対象にする + */ + "markAsDeleteTargetRows": string; + /** + * 選択範囲の行を削除対象にする + */ + "markAsDeleteTargetRanges": string; + /** + * 変更された絵文字はありません。 + */ + "alertUpdateEmojisNothingDescription": string; + /** + * 削除対象の絵文字はありません。 + */ + "alertDeleteEmojisNothingDescription": string; + /** + * ページを移動しますか? + */ + "confirmMovePage": string; + /** + * 表示を変更しますか? + */ + "confirmChangeView": string; + /** + * {count}個の絵文字を更新します。実行しますか? + */ + "confirmUpdateEmojisDescription": ParameterizedString<"count">; + /** + * チェックがつけられた{count}個の絵文字を削除します。実行しますか? + */ + "confirmDeleteEmojisDescription": ParameterizedString<"count">; + /** + * 今までに加えた変更がすべてリセットされます。 + */ + "confirmResetDescription": string; + /** + * このページの絵文字に変更が加えられています。 + * 保存せずにこのままページを移動すると、このページで加えた変更はすべて破棄されます。 + */ + "confirmMovePageDesciption": string; + /** + * 絵文字に設定されたロールで検索 + */ + "dialogSelectRoleTitle": string; + }; + "_register": { + /** + * アップロード設定 + */ + "uploadSettingTitle": string; + /** + * この画面で絵文字アップロードを行う際の動作を設定できます。 + */ + "uploadSettingDescription": string; + /** + * ディレクトリ名を"category"に入力する + */ + "directoryToCategoryLabel": string; + /** + * ディレクトリをドラッグ・ドロップした時に、ディレクトリ名を"category"に入力します。 + */ + "directoryToCategoryCaption": string; + /** + * リストに表示されている絵文字を新たなカスタム絵文字として登録します。よろしいですか?(負荷を避けるため、一度の操作で登録可能な絵文字は{count}件までです) + */ + "confirmRegisterEmojisDescription": ParameterizedString<"count">; + /** + * 編集内容を破棄し、リストに表示されている絵文字をクリアします。よろしいですか? + */ + "confirmClearEmojisDescription": string; + /** + * ドラッグ&ドロップされた{count}個のファイルをドライブにアップロードします。実行しますか? + */ + "confirmUploadEmojisDescription": ParameterizedString<"count">; + }; + }; + }; + "_embedCodeGen": { + /** + * 埋め込みコードをカスタマイズ + */ + "title": string; + /** + * ヘッダーを表示 + */ + "header": string; + /** + * 自動で続きを読み込む(非推奨) + */ + "autoload": string; + /** + * 高さの最大値 + */ + "maxHeight": string; + /** + * 0で最大値の設定が無効になります。ウィジェットが縦に伸び続けるのを防ぐために、何らかの値に指定してください。 + */ + "maxHeightDescription": string; + /** + * 高さの最大値制限が無効(0)になっています。これが意図した変更ではない場合は、高さの最大値を何らかの値に設定してください。 + */ + "maxHeightWarn": string; + /** + * プレビュー画面で表示可能な範囲を超えたため、実際に埋め込んだ際とは表示が異なります。 + */ + "previewIsNotActual": string; + /** + * 角丸にする + */ + "rounded": string; + /** + * 外枠に枠線をつける + */ + "border": string; + /** + * プレビューに反映 + */ + "applyToPreview": string; + /** + * 埋め込みコードを作成 + */ + "generateCode": string; + /** + * コードが生成されました + */ + "codeGenerated": string; + /** + * 生成されたコードをウェブサイトに貼り付けてご利用ください。 + */ + "codeGeneratedDescription": string; + }; + "_selfXssPrevention": { + /** + * 警告 + */ + "warning": string; + /** + * 「この画面に何か貼り付けろ」はすべて詐欺です。 + */ + "title": string; + /** + * ここに何かを貼り付けると、悪意のあるユーザーにアカウントを乗っ取られたり、個人情報を盗まれたりする可能性があります。 + */ + "description1": string; + /** + * 貼り付けようとしているものが何なのかを正確に理解していない場合は、%c今すぐ作業を中止してこのウィンドウを閉じてください。 + */ + "description2": string; + /** + * 詳しくはこちらをご確認ください。 {link} + */ + "description3": ParameterizedString<"link">; + }; + "_followRequest": { + /** + * 受け取った申請 + */ + "recieved": string; + /** + * 送った申請 + */ + "sent": string; + }; + "_remoteLookupErrors": { + "_federationNotAllowed": { + /** + * このサーバーとは通信できません + */ + "title": string; + /** + * このサーバーとの通信が無効化されているか、このサーバーをブロックしている・ブロックされている可能性があります。 + * サーバー管理者にお問い合わせください。 + */ + "description": string; + }; + "_uriInvalid": { + /** + * URIが不正です + */ + "title": string; + /** + * 入力されたURIに問題があります。URIに使用できない文字を入力していないか確認してください。 + */ + "description": string; + }; + "_requestFailed": { + /** + * リクエストに失敗しました + */ + "title": string; + /** + * このサーバーとの通信に失敗しました。相手サーバーがダウンしている可能性があります。また、不正なURIや存在しないURIを入力していないか確認してください。 + */ + "description": string; + }; + "_responseInvalid": { + /** + * レスポンスが不正です + */ + "title": string; + /** + * このサーバーと通信することはできましたが、得られたデータが不正なものでした。第三者のサーバーを介してリモートのコンテンツを照会している場合は、発信元のサーバーで取得できるURIを使用して照会し直してください。 + */ + "description": string; + }; + "_noSuchObject": { + /** + * 見つかりません + */ + "title": string; + /** + * 要求されたリソースは見つかりませんでした。URIをもう一度お確かめください。 + */ + "description": string; + }; + }; + "_captcha": { + /** + * CAPTCHAを通過してください + */ + "verify": string; + /** + * サイトキーとシークレットキーにテスト用の値を入力することでプレビューを確認できます。 + * 詳細は下記ページをご確認ください。 + */ + "testSiteKeyMessage": string; + "_error": { + "_requestFailed": { + /** + * CAPTCHAのリクエストに失敗しました + */ + "title": string; + /** + * しばらく後に実行するか、設定をもう一度ご確認ください。 + */ + "text": string; + }; + "_verificationFailed": { + /** + * CAPTCHAの検証に失敗しました + */ + "title": string; + /** + * 設定が正しいかどうかもう一度確認ください。 + */ + "text": string; + }; + "_unknown": { + /** + * CAPTCHAエラー + */ + "title": string; + /** + * 想定外のエラーが発生しました。 + */ + "text": string; + }; + }; + }; + "_bootErrors": { + /** + * 読み込みに失敗しました + */ + "title": string; + /** + * 少し待ってからリロードしてもまだ問題が解決されない場合、以下のError IDを添えてサーバー管理者に連絡してください。 + */ + "serverError": string; + /** + * 以下を行うと解決する可能性があります。 + */ + "solution": string; + /** + * ブラウザおよびOSを最新バージョンに更新する + */ + "solution1": string; + /** + * アドブロッカーを無効にする + */ + "solution2": string; + /** + * ブラウザのキャッシュをクリアする + */ + "solution3": string; + /** + * (Tor Browser) dom.webaudio.enabledをtrueに設定する + */ + "solution4": string; + /** + * その他のオプション + */ + "otherOption": string; + /** + * クライアント設定とキャッシュを削除 + */ + "otherOption1": string; + /** + * 簡易クライアントを起動 + */ + "otherOption2": string; + /** + * 修復ツールを起動 + */ + "otherOption3": string; + /** + * Misskeyをセーフモードで起動 + */ + "otherOption4": string; + }; + "_search": { + /** + * 全て + */ + "searchScopeAll": string; + /** + * ローカル + */ + "searchScopeLocal": string; + /** + * サーバー指定 + */ + "searchScopeServer": string; + /** + * ユーザー指定 + */ + "searchScopeUser": string; + /** + * サーバーのホストを入力してください + */ + "pleaseEnterServerHost": string; + /** + * ユーザーを選択してください + */ + "pleaseSelectUser": string; + /** + * 例: misskey.example.com + */ + "serverHostPlaceholder": string; + }; + "_serverSetupWizard": { + /** + * Misskeyのインストールが完了しました! + */ + "installCompleted": string; + /** + * まずは、管理者アカウントを作成しましょう。 + */ + "firstCreateAccount": string; + /** + * 管理者アカウントが作成されました! + */ + "accountCreated": string; + /** + * サーバーの設定 + */ + "serverSetting": string; + /** + * このウィザードで簡単に最適なサーバーの設定が行えます。 + */ + "youCanEasilyConfigureOptimalServerSettingsWithThisWizard": string; + /** + * ここでの設定は、あとからでも変更できます。 + */ + "settingsYouMakeHereCanBeChangedLater": string; + /** + * Misskeyをどのように使いますか? + */ + "howWillYouUseMisskey": string; + "_use": { + /** + * お一人様サーバー + */ + "single": string; + /** + * 自分専用のサーバーとして、一人で使う + */ + "single_description": string; + /** + * お一人様サーバーとして運用する場合でも、アカウントは必要に応じて複数作成可能です。 + */ + "single_youCanCreateMultipleAccounts": string; + /** + * グループサーバー + */ + "group": string; + /** + * 信頼できる他の利用者を招待して、複数人で使う + */ + "group_description": string; + /** + * オープンサーバー + */ + "open": string; + /** + * 不特定多数の利用者を受け入れる運営を行う + */ + "open_description": string; + }; + /** + * 不特定多数の利用者を受け入れることはリスクが伴います。トラブルに対処できるよう、確実なモデレーション体制で運営することを推奨します。 + */ + "openServerAdvice": string; + /** + * 自サーバーがスパムの踏み台にならないように、reCAPTCHAといったアンチボット機能を有効にするなど、セキュリティについても細心の注意が必要です。 + */ + "openServerAntiSpamAdvice": string; + /** + * どれくらいの人数を想定していますか? + */ + "howManyUsersDoYouExpect": string; + "_scale": { + /** + * 100人以下 (小規模) + */ + "small": string; + /** + * 100人以上1000人以下 (中規模) + */ + "medium": string; + /** + * 1000人以上 (大規模) + */ + "large": string; + }; + /** + * 大規模なサーバーでは、ロードバランシングやデータベースのレプリケーションなど、高度なインフラストラクチャーの知識が必要になる場合があります。 + */ + "largeScaleServerAdvice": string; + /** + * Fediverseと接続しますか? + */ + "doYouConnectToFediverse": string; + /** + * 分散型サーバーで構成されるネットワーク(Fediverse)に接続すると、他のサーバーと相互にコンテンツのやり取りが可能です。 + */ + "doYouConnectToFediverse_description1": string; + /** + * Fediverseと接続することは「連合」とも呼ばれます。 + */ + "doYouConnectToFediverse_description2": string; + /** + * 連合可能なサーバーの指定など、高度な設定も後ほど可能です。 + */ + "youCanConfigureMoreFederationSettingsLater": string; + /** + * リモートコンテンツの自動クリーニング + */ + "remoteContentsCleaning": string; + /** + * 連合を行うと、継続して多くのコンテンツを受信します。自動クリーニングを有効にすると、一定期間経過したリモートコンテンツを自動でサーバーから削除し、ストレージを節約できます。 + */ + "remoteContentsCleaning_description": string; + /** + * 管理者情報 + */ + "adminInfo": string; + /** + * 問い合わせを受け付けるために使用される管理者情報を設定します。 + */ + "adminInfo_description": string; + /** + * オープンサーバー、または連合がオンの場合は必ず入力が必要です。 + */ + "adminInfo_mustBeFilled": string; + /** + * 以下の設定が推奨されます + */ + "followingSettingsAreRecommended": string; + /** + * この設定を適用 + */ + "applyTheseSettings": string; + /** + * 設定をスキップ + */ + "skipSettings": string; + /** + * 設定が完了しました! + */ + "settingsCompleted": string; + /** + * お疲れ様でした。準備が整ったので、さっそくサーバーの使用を開始できます。 + */ + "settingsCompleted_description": string; + /** + * 詳細なサーバー設定は、「コントロールパネル」から行えます。 + */ + "settingsCompleted_description2": string; + /** + * 寄付のお願い + */ + "donationRequest": string; + "_donationRequest": { + /** + * Misskeyは有志によって開発されている無料のソフトウェアです。 + */ + "text1": string; + /** + * 今後も開発を続けられるように、よろしければぜひカンパをお願いいたします。 + */ + "text2": string; + /** + * 支援者向け特典もあります! + */ + "text3": string; + }; + }; + "_uploader": { + /** + * 画像の編集 + */ + "editImage": string; + /** + * {x}に圧縮 + */ + "compressedToX": ParameterizedString<"x">; + /** + * {x}%節約 + */ + "savedXPercent": ParameterizedString<"x">; + /** + * アップロードされていないファイルがありますが、中止しますか? + */ + "abortConfirm": string; + /** + * アップロードされていないファイルがありますが、完了しますか? + */ + "doneConfirm": string; + /** + * アップロード可能な最大ファイルサイズは{x}です。 + */ + "maxFileSizeIsX": ParameterizedString<"x">; + /** + * アップロード可能なファイル種別 + */ + "allowedTypes": string; + /** + * ファイルはまだアップロードされていません。このダイアログで、アップロード前の確認・リネーム・圧縮・クロッピングなどが行えます。準備が出来たら、「アップロード」ボタンを押してアップロードを開始できます。 + */ + "tip": string; + }; + "_clientPerformanceIssueTip": { + /** + * バッテリー消費が多いと感じたら + */ + "title": string; + /** + * アドブロッカーを無効にしてください + */ + "makeSureDisabledAdBlocker": string; + /** + * アドブロッカーはパフォーマンスに影響を及ぼすことがあります。OSの機能やブラウザの機能・アドオンなどでアドブロッカーが有効になっていないか確認してください。 + */ + "makeSureDisabledAdBlocker_description": string; + /** + * カスタムCSSを無効にしてください + */ + "makeSureDisabledCustomCss": string; + /** + * スタイルを上書きするとパフォーマンスに影響を及ぼすことがあります。カスタムCSSや、スタイルを上書きする拡張機能が有効になっていないか確認してください。 + */ + "makeSureDisabledCustomCss_description": string; + /** + * 拡張機能を無効にしてください + */ + "makeSureDisabledAddons": string; + /** + * 一部の拡張機能はクライアントの動作に干渉しパフォーマンスに影響を及ぼすことがあります。ブラウザの拡張機能を無効にして改善するか確認してください。 + */ + "makeSureDisabledAddons_description": string; + }; + "_clip": { + /** + * クリップは、ノートをまとめることができる機能です。 + */ + "tip": string; + }; + "_userLists": { + /** + * 任意のユーザーが含まれるリストを作成できます。作成したリストはタイムラインとして表示可能です。 + */ + "tip": string; + }; + /** + * ウォーターマーク + */ + "watermark": string; + /** + * デフォルトのプリセット + */ + "defaultPreset": string; + "_watermarkEditor": { + /** + * 画像にクレジット情報などのウォーターマークを追加できます。 + */ + "tip": string; + /** + * 保存せずに終了しますか? + */ + "quitWithoutSaveConfirm": string; + /** + * このファイルは対応していません + */ + "driveFileTypeWarn": string; + /** + * 画像ファイルを選択してください + */ + "driveFileTypeWarnDescription": string; + /** + * ウォーターマークの編集 + */ + "title": string; + /** + * 全体に被せる + */ + "cover": string; + /** + * 敷き詰める + */ + "repeat": string; + /** + * 回転時はみ出ないように調整する + */ + "preserveBoundingRect": string; + /** + * 不透明度 + */ + "opacity": string; + /** + * サイズ + */ + "scale": string; + /** + * テキスト + */ + "text": string; + /** + * 二次元コード + */ + "qr": string; + /** + * 位置 + */ + "position": string; + /** + * マージン + */ + "margin": string; + /** + * タイプ + */ + "type": string; + /** + * 画像 + */ + "image": string; + /** + * 高度 + */ + "advanced": string; + /** + * 角度 + */ + "angle": string; + /** + * ストライプ + */ + "stripe": string; + /** + * ラインの幅 + */ + "stripeWidth": string; + /** + * ラインの数 + */ + "stripeFrequency": string; + /** + * ポルカドット + */ + "polkadot": string; + /** + * チェッカー + */ + "checker": string; + /** + * メインドットの不透明度 + */ + "polkadotMainDotOpacity": string; + /** + * メインドットの大きさ + */ + "polkadotMainDotRadius": string; + /** + * サブドットの不透明度 + */ + "polkadotSubDotOpacity": string; + /** + * サブドットの大きさ + */ + "polkadotSubDotRadius": string; + /** + * サブドットの数 + */ + "polkadotSubDotDivisions": string; + /** + * 空欄にするとアカウントのURLになります + */ + "leaveBlankToAccountUrl": string; + /** + * 画像の読み込みに失敗しました + */ + "failedToLoadImage": string; + }; + "_imageEffector": { + /** + * エフェクト + */ + "title": string; + /** + * エフェクトを追加 + */ + "addEffect": string; + /** + * 変更を破棄して終了しますか? + */ + "discardChangesConfirm": string; + /** + * 設定項目はありません + */ + "nothingToConfigure": string; + /** + * 画像の読み込みに失敗しました + */ + "failedToLoadImage": string; + "_fxs": { + /** + * 色収差 + */ + "chromaticAberration": string; + /** + * グリッチ + */ + "glitch": string; + /** + * ミラー + */ + "mirror": string; + /** + * 色の反転 + */ + "invert": string; + /** + * 白黒 + */ + "grayscale": string; + /** + * ぼかし + */ + "blur": string; + /** + * モザイク + */ + "pixelate": string; + /** + * 色調補正 + */ + "colorAdjust": string; + /** + * 色の圧縮 + */ + "colorClamp": string; + /** + * 色の圧縮(高度) + */ + "colorClampAdvanced": string; + /** + * 歪み + */ + "distort": string; + /** + * 二値化 + */ + "threshold": string; + /** + * 集中線 + */ + "zoomLines": string; + /** + * ストライプ + */ + "stripe": string; + /** + * ポルカドット + */ + "polkadot": string; + /** + * チェッカー + */ + "checker": string; + /** + * ブロックノイズ + */ + "blockNoise": string; + /** + * ティアリング + */ + "tearing": string; + /** + * 塗りつぶし + */ + "fill": string; + }; + "_fxProps": { + /** + * 角度 + */ + "angle": string; + /** + * サイズ + */ + "scale": string; + /** + * サイズ + */ + "size": string; + /** + * 半径 + */ + "radius": string; + /** + * サンプル数 + */ + "samples": string; + /** + * 位置 + */ + "offset": string; + /** + * 色 + */ + "color": string; + /** + * 不透明度 + */ + "opacity": string; + /** + * 正規化 + */ + "normalize": string; + /** + * 量 + */ + "amount": string; + /** + * 明るさ + */ + "lightness": string; + /** + * コントラスト + */ + "contrast": string; + /** + * 色相 + */ + "hue": string; + /** + * 輝度 + */ + "brightness": string; + /** + * 彩度 + */ + "saturation": string; + /** + * 最大値 + */ + "max": string; + /** + * 最小値 + */ + "min": string; + /** + * 方向 + */ + "direction": string; + /** + * 位相 + */ + "phase": string; + /** + * 頻度 + */ + "frequency": string; + /** + * 強さ + */ + "strength": string; + /** + * ズレ + */ + "glitchChannelShift": string; + /** + * シード値 + */ + "seed": string; + /** + * 赤色成分 + */ + "redComponent": string; + /** + * 緑色成分 + */ + "greenComponent": string; + /** + * 青色成分 + */ + "blueComponent": string; + /** + * しきい値 + */ + "threshold": string; + /** + * 中心X + */ + "centerX": string; + /** + * 中心Y + */ + "centerY": string; + /** + * スムージング + */ + "zoomLinesSmoothing": string; + /** + * スムージングと集中線の幅の設定は併用できません。 + */ + "zoomLinesSmoothingDescription": string; + /** + * 集中線の幅 + */ + "zoomLinesThreshold": string; + /** + * 中心径 + */ + "zoomLinesMaskSize": string; + /** + * 黒色にする + */ + "zoomLinesBlack": string; + /** + * 円形 + */ + "circle": string; + }; + }; + /** + * 下書き + */ + "drafts": string; + "_drafts": { + /** + * 下書きを選択 + */ + "select": string; + /** + * 下書きの作成可能数を超えています。 + */ + "cannotCreateDraftAnymore": string; + /** + * この内容では下書きを作成できません。 + */ + "cannotCreateDraft": string; + /** + * 下書きを削除 + */ + "delete": string; + /** + * 下書きを削除しますか? + */ + "deleteAreYouSure": string; + /** + * 下書きはありません + */ + "noDrafts": string; + /** + * {user}への返信 + */ + "replyTo": ParameterizedString<"user">; + /** + * {user}のノートへの引用 + */ + "quoteOf": ParameterizedString<"user">; + /** + * {channel}への投稿 + */ + "postTo": ParameterizedString<"channel">; + /** + * 下書きへ保存 + */ + "saveToDraft": string; + /** + * 下書きから復元 + */ + "restoreFromDraft": string; + /** + * 復元 + */ + "restore": string; + /** + * 下書き一覧 + */ + "listDrafts": string; + /** + * 投稿予約 + */ + "schedule": string; + /** + * 予約投稿一覧 + */ + "listScheduledNotes": string; + /** + * 予約解除 + */ + "cancelSchedule": string; + }; + /** + * 二次元コード + */ + "qr": string; + "_qr": { + /** + * 表示 + */ + "showTabTitle": string; + /** + * 読み取る + */ + "readTabTitle": string; + /** + * {name} {acct} + */ + "shareTitle": ParameterizedString<"name" | "acct">; + /** + * Fediverseで私をフォローしてください! + */ + "shareText": string; + /** + * カメラを選択 + */ + "chooseCamera": string; + /** + * ライト選択不可 + */ + "cannotToggleFlash": string; + /** + * ライトをオンにする + */ + "turnOnFlash": string; + /** + * ライトをオフにする + */ + "turnOffFlash": string; + /** + * コードリーダーを再開 + */ + "startQr": string; + /** + * コードリーダーを停止 + */ + "stopQr": string; + /** + * QRコードが見つかりません + */ + "noQrCodeFound": string; + /** + * 端末の画像をスキャン + */ + "scanFile": string; + /** + * テキスト + */ + "raw": string; + /** + * MFM + */ + "mfm": string; + }; +} diff --git a/packages/i18n/src/index.ts b/packages/i18n/src/index.ts new file mode 100644 index 0000000000..e428267748 --- /dev/null +++ b/packages/i18n/src/index.ts @@ -0,0 +1,166 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +/** + * Languages Loader + */ + +import * as fs from 'node:fs'; +import * as yaml from 'js-yaml'; +import type { Locale } from './autogen/locale.js'; +import type { ILocale, ParameterizedString } from './types.js'; + +const languages = [ + 'ar-SA', + 'ca-ES', + 'cs-CZ', + 'da-DK', + 'de-DE', + 'en-US', + 'es-ES', + 'fr-FR', + 'id-ID', + 'it-IT', + 'ja-JP', + 'ja-KS', + 'kab-KAB', + 'kn-IN', + 'ko-KR', + 'nl-NL', + 'no-NO', + 'pl-PL', + 'pt-PT', + 'ru-RU', + 'sk-SK', + 'th-TH', + 'tr-TR', + 'ug-CN', + 'uk-UA', + 'vi-VN', + 'zh-CN', + 'zh-TW', +] as const; + +type Language = typeof languages[number]; + +const primaries = { + 'en': 'US', + 'ja': 'JP', + 'zh': 'CN', +} as const satisfies Record; + +type PrimaryLang = keyof typeof primaries; + +type Locales = Record; + +/** + * オブジェクトを再帰的にマージする + */ +function merge(...args: (T | ILocale | undefined)[]): T { + return args.reduce((a, c) => ({ + ...a, + ...c, + ...Object.entries(a) + .filter(([k]) => c && typeof c[k] === 'object') + .reduce>((acc, [k, v]) => { + acc[k] = merge(v as ILocale, (c as ILocale)[k] as ILocale); + return acc; + }, {}), + }), {} as ILocale) as T; +} + +/** + * 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く + */ +function clean (text: string) { + return text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), ''); +} + +/** + * 空文字列が入ることがあり、フォールバックが動作しなくなるのでプロパティごと消す + */ +function removeEmpty(obj: T): T { + for (const [k, v] of Object.entries(obj)) { + if (v === '') { + delete obj[k]; + } else if (typeof v === 'object') { + removeEmpty(v as ILocale); + } + } + return obj; +} + +function build(): Record { + // vitestの挙動を調整するため、一度ローカル変数化する必要がある + // https://github.com/vitest-dev/vitest/issues/3988#issuecomment-1686599577 + // https://github.com/misskey-dev/misskey/pull/14057#issuecomment-2192833785 + const metaUrl = import.meta.url; + const locales = languages.reduce((a, lang) => { + a[lang] = (yaml.load(clean(fs.readFileSync(new URL(`./locales/${lang}.yml`, metaUrl), 'utf-8'))) ?? {}) as ILocale; + return a; + }, {} as Locales); + + removeEmpty(locales); + + return Object.entries(locales).reduce>((a, [k, v]) => { + const lang = k.split('-')[0]; + const key = k as Language; + + switch (key) { + case 'ja-JP': + a[key] = v as Locale; + break; + case 'ja-KS': + case 'en-US': + a[key] = merge(locales['ja-JP'] as Locale, v); + break; + default: { + const primaryLang = lang as PrimaryLang; + const primaryKey = (lang in primaries ? `${lang}-${primaries[primaryLang]}` : undefined) as Language | undefined; + a[key] = merge( + locales['ja-JP'] as Locale, + locales['en-US'], + primaryKey ? locales[primaryKey] : {}, + v, + ); + break; + } + } + + return a; + }, {} as Record); +} + +const locales = build() as { + [lang: string]: Locale; +}; + +/** + * フロントエンド用の locale JSON を書き出す + * Service Worker が HTTP 経由で取得するために必要 + * @param destDir 出力先ディレクトリ(例: built/_frontend_dist_/locales) + * @param version バージョン文字列(ファイル名とJSON内に埋め込まれる) + */ +async function writeFrontendLocalesJson(destDir: string, version: string): Promise { + const { mkdir, writeFile } = await import('node:fs/promises'); + const { resolve } = await import('node:path'); + + await mkdir(destDir, { recursive: true }); + + const builtLocales = build(); + const v = { '_version_': version }; + + for (const [lang, locale] of Object.entries(builtLocales)) { + await writeFile( + resolve(destDir, `${lang}.${version}.json`), + JSON.stringify({ ...locale, ...v }), + 'utf-8', + ); + } +} + +export { locales, build, writeFrontendLocalesJson }; +export type { Language, Locale, ILocale, ParameterizedString }; +export default locales; diff --git a/packages/i18n/src/types.ts b/packages/i18n/src/types.ts new file mode 100644 index 0000000000..cf9568e792 --- /dev/null +++ b/packages/i18n/src/types.ts @@ -0,0 +1,14 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +declare const kParameters: unique symbol; + +export type ParameterizedString = string & { + [kParameters]: T; +}; + +export interface ILocale { + [_: string]: string | ParameterizedString | ILocale; +} diff --git a/packages/i18n/tsconfig.eslint.json b/packages/i18n/tsconfig.eslint.json new file mode 100644 index 0000000000..5aea206cd1 --- /dev/null +++ b/packages/i18n/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": [ + "src/**/*.ts", + "scripts/**/*.ts", + "build.ts" + ] +} \ No newline at end of file diff --git a/packages/i18n/tsconfig.json b/packages/i18n/tsconfig.json new file mode 100644 index 0000000000..31cd39b8ba --- /dev/null +++ b/packages/i18n/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file -- cgit v1.2.3-freya