Merge branch 'develop' into fetch-outbox
This commit is contained in:
commit
a926e84b14
459 changed files with 2815 additions and 2743 deletions
9
.github/reviewer-lottery.yml
vendored
9
.github/reviewer-lottery.yml
vendored
|
@ -1,9 +0,0 @@
|
||||||
groups:
|
|
||||||
- name: devs
|
|
||||||
reviewers: 2
|
|
||||||
internal_reviewers: 1
|
|
||||||
usernames:
|
|
||||||
- syuilo
|
|
||||||
- acid-chicken
|
|
||||||
- EbiseLutica
|
|
||||||
- tamaina
|
|
8
.github/workflows/docker-develop.yml
vendored
8
.github/workflows/docker-develop.yml
vendored
|
@ -16,21 +16,21 @@ jobs:
|
||||||
uses: actions/checkout@v4.0.0
|
uses: actions/checkout@v4.0.0
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v2.10.0
|
uses: docker/setup-buildx-action@v3.0.0
|
||||||
with:
|
with:
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: misskey/misskey
|
images: misskey/misskey
|
||||||
- name: Log in to Docker Hub
|
- name: Log in to Docker Hub
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
- name: Build and Push to Docker Hub
|
- name: Build and Push to Docker Hub
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
context: .
|
context: .
|
||||||
|
|
8
.github/workflows/docker.yml
vendored
8
.github/workflows/docker.yml
vendored
|
@ -15,12 +15,12 @@ jobs:
|
||||||
uses: actions/checkout@v4.0.0
|
uses: actions/checkout@v4.0.0
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v2.10.0
|
uses: docker/setup-buildx-action@v3.0.0
|
||||||
with:
|
with:
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: misskey/misskey
|
images: misskey/misskey
|
||||||
tags: |
|
tags: |
|
||||||
|
@ -31,12 +31,12 @@ jobs:
|
||||||
type=semver,pattern={{major}}.{{minor}}
|
type=semver,pattern={{major}}.{{minor}}
|
||||||
type=semver,pattern={{major}}
|
type=semver,pattern={{major}}
|
||||||
- name: Log in to Docker Hub
|
- name: Log in to Docker Hub
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
- name: Build and Push to Docker Hub
|
- name: Build and Push to Docker Hub
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
context: .
|
context: .
|
||||||
|
|
2
.github/workflows/ok-to-test.yml
vendored
2
.github/workflows/ok-to-test.yml
vendored
|
@ -17,7 +17,7 @@ jobs:
|
||||||
# See app.yml for an example app manifest
|
# See app.yml for an example app manifest
|
||||||
- name: Generate token
|
- name: Generate token
|
||||||
id: generate_token
|
id: generate_token
|
||||||
uses: tibdex/github-app-token@v1
|
uses: tibdex/github-app-token@v2
|
||||||
with:
|
with:
|
||||||
app_id: ${{ secrets.DEPLOYBOT_APP_ID }}
|
app_id: ${{ secrets.DEPLOYBOT_APP_ID }}
|
||||||
private_key: ${{ secrets.DEPLOYBOT_PRIVATE_KEY }}
|
private_key: ${{ secrets.DEPLOYBOT_PRIVATE_KEY }}
|
||||||
|
|
|
@ -25,6 +25,9 @@
|
||||||
- センシティブチャンネルのノートはユーザープロフィールに表示されません
|
- センシティブチャンネルのノートはユーザープロフィールに表示されません
|
||||||
- 二要素認証のバックアップコードが生成されるようになりました ref. https://github.com/MisskeyIO/misskey/pull/121
|
- 二要素認証のバックアップコードが生成されるようになりました ref. https://github.com/MisskeyIO/misskey/pull/121
|
||||||
- 二要素認証でパスキーをサポートするようになりました
|
- 二要素認証でパスキーをサポートするようになりました
|
||||||
|
- 通知をテストできるようになりました
|
||||||
|
- PWAのアイコンが設定できるようになりました
|
||||||
|
- manifest.jsonをオーバーライド可能に
|
||||||
|
|
||||||
### Client
|
### Client
|
||||||
- プロフィールにその人が作ったPlayの一覧出せるように
|
- プロフィールにその人が作ったPlayの一覧出せるように
|
||||||
|
@ -33,7 +36,6 @@
|
||||||
- 投稿フォームのプレビューの表示状態を記憶するように
|
- 投稿フォームのプレビューの表示状態を記憶するように
|
||||||
- AiScriptからMisskeyサーバーAPIを呼び出す際の制限を撤廃
|
- AiScriptからMisskeyサーバーAPIを呼び出す際の制限を撤廃
|
||||||
- Playで直接投稿フォームを埋め込めるように(`Ui:C:postForm`)
|
- Playで直接投稿フォームを埋め込めるように(`Ui:C:postForm`)
|
||||||
- 通知をテストできるように
|
|
||||||
- Enhance: ユーザーメニューでスイッチでユーザーリストに追加・削除できるように
|
- Enhance: ユーザーメニューでスイッチでユーザーリストに追加・削除できるように
|
||||||
- Enhance: 自分が押したリアクションのデザインを改善
|
- Enhance: 自分が押したリアクションのデザインを改善
|
||||||
- Enhance: ノート検索にローカルのみ検索可能なオプションの追加
|
- Enhance: ノート検索にローカルのみ検索可能なオプションの追加
|
||||||
|
@ -46,6 +48,8 @@
|
||||||
- リアクションの表示サイズをより大きくできるように
|
- リアクションの表示サイズをより大きくできるように
|
||||||
- ノート詳細ページ読み込み時のパフォーマンスを改善
|
- ノート詳細ページ読み込み時のパフォーマンスを改善
|
||||||
- タイムラインでリスト/アンテナ選択時のパフォーマンスを改善
|
- タイムラインでリスト/アンテナ選択時のパフォーマンスを改善
|
||||||
|
- 「Moderation note」、「Add moderation note」をローカライズできるように
|
||||||
|
- 新しい実績を追加
|
||||||
- Fix: サーバー情報画面(`/instance-info/{domain}`)でブロックができないのを修正
|
- Fix: サーバー情報画面(`/instance-info/{domain}`)でブロックができないのを修正
|
||||||
- Fix: 未読のお知らせの「わかった」をクリック・タップしてもその場で「わかった」が消えない問題を修正
|
- Fix: 未読のお知らせの「わかった」をクリック・タップしてもその場で「わかった」が消えない問題を修正
|
||||||
- Fix: iOSで画面を回転させるとテキストサイズが変わる問題を修正
|
- Fix: iOSで画面を回転させるとテキストサイズが変わる問題を修正
|
||||||
|
@ -62,6 +66,7 @@
|
||||||
- 使われていないアンテナの自動停止を設定可能に
|
- 使われていないアンテナの自動停止を設定可能に
|
||||||
- nodeinfo 2.1対応
|
- nodeinfo 2.1対応
|
||||||
- 自分へのメンション一覧を取得する際のパフォーマンスを向上
|
- 自分へのメンション一覧を取得する際のパフォーマンスを向上
|
||||||
|
- Docker環境でjemallocを使用することでメモリ使用量を削減
|
||||||
- Fix: ノート検索 `notes/search` にてhostを指定した際に検索結果に反映されるように
|
- Fix: ノート検索 `notes/search` にてhostを指定した際に検索結果に反映されるように
|
||||||
- Fix: 一部のfeatured noteを照会できない問題を修正
|
- Fix: 一部のfeatured noteを照会できない問題を修正
|
||||||
- Fix: muteがapiからのuser list timeline取得で機能しない問題を修正
|
- Fix: muteがapiからのuser list timeline取得で機能しない問題を修正
|
||||||
|
|
|
@ -436,3 +436,6 @@ marginはそのコンポーネントを使う側が設定する
|
||||||
## その他
|
## その他
|
||||||
### HTMLのクラス名で follow という単語は使わない
|
### HTMLのクラス名で follow という単語は使わない
|
||||||
広告ブロッカーで誤ってブロックされる
|
広告ブロッカーで誤ってブロックされる
|
||||||
|
|
||||||
|
### indexというファイル名を使うな
|
||||||
|
ESMではディレクトリインポートは廃止されているのと、ディレクトリインポートせずともファイル名が index だと何故か一部のライブラリ?でディレクトリインポートだと見做されてエラーになる
|
||||||
|
|
|
@ -62,7 +62,7 @@ ARG GID="991"
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
ffmpeg tini curl \
|
ffmpeg tini curl libjemalloc-dev libjemalloc2 \
|
||||||
&& corepack enable \
|
&& corepack enable \
|
||||||
&& groupadd -g "${GID}" misskey \
|
&& groupadd -g "${GID}" misskey \
|
||||||
&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \
|
&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \
|
||||||
|
@ -81,6 +81,7 @@ COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/bui
|
||||||
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
|
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
|
||||||
COPY --chown=misskey:misskey . ./
|
COPY --chown=misskey:misskey . ./
|
||||||
|
|
||||||
|
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
HEALTHCHECK --interval=5s --retries=20 CMD ["/bin/bash", "/misskey/healthcheck.sh"]
|
HEALTHCHECK --interval=5s --retries=20 CMD ["/bin/bash", "/misskey/healthcheck.sh"]
|
||||||
ENTRYPOINT ["/usr/bin/tini", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "--"]
|
||||||
|
|
|
@ -50,7 +50,7 @@ services:
|
||||||
|
|
||||||
# meilisearch:
|
# meilisearch:
|
||||||
# restart: always
|
# restart: always
|
||||||
# image: getmeili/meilisearch:v1.1.1
|
# image: getmeili/meilisearch:v1.3.4
|
||||||
# environment:
|
# environment:
|
||||||
# - MEILI_NO_ANALYTICS=true
|
# - MEILI_NO_ANALYTICS=true
|
||||||
# - MEILI_ENV=production
|
# - MEILI_ENV=production
|
||||||
|
|
|
@ -1019,7 +1019,6 @@ retryAllQueuesConfirmText: "Tohle dočasně zvýší zatěž na server."
|
||||||
enableChartsForRemoteUser: "Vygenerovat grafy dat vzdálených uživatelů"
|
enableChartsForRemoteUser: "Vygenerovat grafy dat vzdálených uživatelů"
|
||||||
enableChartsForFederatedInstances: "Vygenerovat grafy dat vzdálených instancí"
|
enableChartsForFederatedInstances: "Vygenerovat grafy dat vzdálených instancí"
|
||||||
showClipButtonInNoteFooter: "Přidat \"Připnout\" do akčního menu poznámky"
|
showClipButtonInNoteFooter: "Přidat \"Připnout\" do akčního menu poznámky"
|
||||||
largeNoteReactions: "Zvětšit zobrazované reakce"
|
|
||||||
noteIdOrUrl: "ID nebo URL poznámky"
|
noteIdOrUrl: "ID nebo URL poznámky"
|
||||||
video: "Video"
|
video: "Video"
|
||||||
videos: "Videa"
|
videos: "Videa"
|
||||||
|
@ -1687,7 +1686,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "Váš prohlížeč nepodporuje bezpečnostní klíče."
|
securityKeyNotSupported: "Váš prohlížeč nepodporuje bezpečnostní klíče."
|
||||||
registerTOTPBeforeKey: "Nastavte aplikaci autentizátoru pro registraci bezpečnostního nebo přístupového klíče."
|
registerTOTPBeforeKey: "Nastavte aplikaci autentizátoru pro registraci bezpečnostního nebo přístupového klíče."
|
||||||
securityKeyInfo: "Kromě ověřování otiskem prstu nebo PIN můžete nastavit také ověřování pomocí hardwarových bezpečnostních klíčů, které podporují FIDO2, a svůj účet tak dále zabezpečit."
|
securityKeyInfo: "Kromě ověřování otiskem prstu nebo PIN můžete nastavit také ověřování pomocí hardwarových bezpečnostních klíčů, které podporují FIDO2, a svůj účet tak dále zabezpečit."
|
||||||
chromePasskeyNotSupported: "Chrome passkeys nejsou v současné době podporovány."
|
|
||||||
registerSecurityKey: "Registrace bezpečnostního nebo přístupového klíče"
|
registerSecurityKey: "Registrace bezpečnostního nebo přístupového klíče"
|
||||||
securityKeyName: "Zadejte název klíče"
|
securityKeyName: "Zadejte název klíče"
|
||||||
tapSecurityKey: "Při registraci bezpečnostního nebo přístupového klíče postupujte podle svého prohlížeče."
|
tapSecurityKey: "Při registraci bezpečnostního nebo přístupového klíče postupujte podle svého prohlížeče."
|
||||||
|
|
|
@ -321,7 +321,7 @@ copyUrl: "URL kopieren"
|
||||||
rename: "Umbenennen"
|
rename: "Umbenennen"
|
||||||
avatar: "Profilbild"
|
avatar: "Profilbild"
|
||||||
banner: "Banner"
|
banner: "Banner"
|
||||||
displayOfSensitiveMedia: "Anzeige von sensiblen Medien"
|
displayOfSensitiveMedia: "Darstellung sensibler Medien"
|
||||||
whenServerDisconnected: "Bei Verbindungsverlust zum Server"
|
whenServerDisconnected: "Bei Verbindungsverlust zum Server"
|
||||||
disconnectedFromServer: "Die Verbindung zum Server wurde getrennt"
|
disconnectedFromServer: "Die Verbindung zum Server wurde getrennt"
|
||||||
reload: "Aktualisieren"
|
reload: "Aktualisieren"
|
||||||
|
@ -417,9 +417,11 @@ totp: "Authentifizierungs-App"
|
||||||
totpDescription: "Logge dich via Authentifizierungs-App mit Einmalpasswort ein"
|
totpDescription: "Logge dich via Authentifizierungs-App mit Einmalpasswort ein"
|
||||||
moderator: "Moderator"
|
moderator: "Moderator"
|
||||||
moderation: "Moderation"
|
moderation: "Moderation"
|
||||||
|
moderationNote: "Moderationsnotiz"
|
||||||
|
addModerationNote: "Moderationsnotiz hinzufügen"
|
||||||
nUsersMentioned: "Von {n} Benutzern erwähnt"
|
nUsersMentioned: "Von {n} Benutzern erwähnt"
|
||||||
securityKeyAndPasskey: "Security-Tokens und Passkeys"
|
securityKeyAndPasskey: "Hardware-Sicherheitsschlüssel und Passkeys"
|
||||||
securityKey: "Sicherheitsschlüssel"
|
securityKey: "Hardware-Sicherheitsschlüssel"
|
||||||
lastUsed: "Zuletzt benutzt"
|
lastUsed: "Zuletzt benutzt"
|
||||||
lastUsedAt: "Zuletzt verwendet: {t}"
|
lastUsedAt: "Zuletzt verwendet: {t}"
|
||||||
unregister: "Deaktivieren"
|
unregister: "Deaktivieren"
|
||||||
|
@ -634,7 +636,7 @@ regexpErrorDescription: "Im regulären Ausdruck deiner {tab}en Wortstummschaltun
|
||||||
instanceMute: "Instanzstummschaltungen"
|
instanceMute: "Instanzstummschaltungen"
|
||||||
userSaysSomething: "{name} hat etwas gesagt"
|
userSaysSomething: "{name} hat etwas gesagt"
|
||||||
makeActive: "Aktivieren"
|
makeActive: "Aktivieren"
|
||||||
display: "Anzeigen"
|
display: "Anzeigeart"
|
||||||
copy: "Kopieren"
|
copy: "Kopieren"
|
||||||
metrics: "Metriken"
|
metrics: "Metriken"
|
||||||
overview: "Übersicht"
|
overview: "Übersicht"
|
||||||
|
@ -1023,7 +1025,7 @@ retryAllQueuesConfirmText: "Dies wird zu einer temporären Erhöhung der Serverl
|
||||||
enableChartsForRemoteUser: "Diagramme für Nutzer fremder Instanzen erstellen"
|
enableChartsForRemoteUser: "Diagramme für Nutzer fremder Instanzen erstellen"
|
||||||
enableChartsForFederatedInstances: "Diagramme für fremde Instanzen erstellen"
|
enableChartsForFederatedInstances: "Diagramme für fremde Instanzen erstellen"
|
||||||
showClipButtonInNoteFooter: "\"Clip\" zum Notizmenu hinzufügen"
|
showClipButtonInNoteFooter: "\"Clip\" zum Notizmenu hinzufügen"
|
||||||
largeNoteReactions: "Reaktionen vergrößert anzeigen"
|
reactionsDisplaySize: "Reaktionsanzeigegröße"
|
||||||
noteIdOrUrl: "Notiz-ID oder URL"
|
noteIdOrUrl: "Notiz-ID oder URL"
|
||||||
video: "Video"
|
video: "Video"
|
||||||
videos: "Videos"
|
videos: "Videos"
|
||||||
|
@ -1057,7 +1059,7 @@ archive: "Archivieren"
|
||||||
channelArchiveConfirmTitle: "{name} wirklich archivieren?"
|
channelArchiveConfirmTitle: "{name} wirklich archivieren?"
|
||||||
channelArchiveConfirmDescription: "Ein archivierter Kanal taucht nicht mehr in der Kanalliste oder in Suchergebnissen auf. Zudem können ihm keine Beiträge mehr hinzugefügt werden."
|
channelArchiveConfirmDescription: "Ein archivierter Kanal taucht nicht mehr in der Kanalliste oder in Suchergebnissen auf. Zudem können ihm keine Beiträge mehr hinzugefügt werden."
|
||||||
thisChannelArchived: "Dieser Kanal wurde archiviert."
|
thisChannelArchived: "Dieser Kanal wurde archiviert."
|
||||||
displayOfNote: "Anzeige von Notizen"
|
displayOfNote: "Darstellung von Notizen"
|
||||||
initialAccountSetting: "Kontoeinrichtung"
|
initialAccountSetting: "Kontoeinrichtung"
|
||||||
youFollowing: "Gefolgt"
|
youFollowing: "Gefolgt"
|
||||||
preventAiLearning: "Verwendung in machinellem Lernen (Generative bzw. Prediktive AI/KI) ablehnen"
|
preventAiLearning: "Verwendung in machinellem Lernen (Generative bzw. Prediktive AI/KI) ablehnen"
|
||||||
|
@ -1105,6 +1107,7 @@ forYou: "Für dich"
|
||||||
currentAnnouncements: "Aktuelle Ankündigungen"
|
currentAnnouncements: "Aktuelle Ankündigungen"
|
||||||
pastAnnouncements: "Alte Ankündigungen"
|
pastAnnouncements: "Alte Ankündigungen"
|
||||||
youHaveUnreadAnnouncements: "Es gibt neue Ankündigungen."
|
youHaveUnreadAnnouncements: "Es gibt neue Ankündigungen."
|
||||||
|
useSecurityKey: "Folge bitten den Anweisungen deines Browsers bzw. Gerätes und verwende deinen Hardware-Sicherheitsschlüssel oder Passkey."
|
||||||
_announcement:
|
_announcement:
|
||||||
forExistingUsers: "Nur für existierende Nutzer"
|
forExistingUsers: "Nur für existierende Nutzer"
|
||||||
forExistingUsersDescription: "Ist diese Option aktiviert, wird diese Ankündigung nur Nutzern angezeigt, die zum Zeitpunkt der Ankündigung bereits registriert sind. Ist sie deaktiviert, wird sie auch Nutzern, die sich nach dessen Veröffentlichung registrieren, angezeigt."
|
forExistingUsersDescription: "Ist diese Option aktiviert, wird diese Ankündigung nur Nutzern angezeigt, die zum Zeitpunkt der Ankündigung bereits registriert sind. Ist sie deaktiviert, wird sie auch Nutzern, die sich nach dessen Veröffentlichung registrieren, angezeigt."
|
||||||
|
@ -1385,6 +1388,9 @@ _achievements:
|
||||||
title: "Brain Diver"
|
title: "Brain Diver"
|
||||||
description: "Sende den Link zu Brain Diver"
|
description: "Sende den Link zu Brain Diver"
|
||||||
flavor: "Misskey-Misskey La-Tu-Ma"
|
flavor: "Misskey-Misskey La-Tu-Ma"
|
||||||
|
_smashTestNotificationButton:
|
||||||
|
title: "Testüberfluss"
|
||||||
|
description: "Betätige den Benachrichtigungstest mehrfach innerhalb einer extrem kurzen Zeitspanne"
|
||||||
_role:
|
_role:
|
||||||
new: "Rolle erstellen"
|
new: "Rolle erstellen"
|
||||||
edit: "Rolle bearbeiten"
|
edit: "Rolle bearbeiten"
|
||||||
|
@ -1704,11 +1710,10 @@ _2fa:
|
||||||
step3: "Gib zum Abschluss den Token ein, der von deiner App angezeigt wird."
|
step3: "Gib zum Abschluss den Token ein, der von deiner App angezeigt wird."
|
||||||
setupCompleted: "Einrichtung abgeschlossen"
|
setupCompleted: "Einrichtung abgeschlossen"
|
||||||
step4: "Alle folgenden Anmeldeversuche werden ab sofort die Eingabe eines solchen Tokens benötigen."
|
step4: "Alle folgenden Anmeldeversuche werden ab sofort die Eingabe eines solchen Tokens benötigen."
|
||||||
securityKeyNotSupported: "Dein Browser unterstützt keine Security-Tokens."
|
securityKeyNotSupported: "Dein Browser unterstützt keine Hardware-Sicherheitsschlüssel."
|
||||||
registerTOTPBeforeKey: "Um einen Security-Token oder einen Passkey zu registrieren, musst du zuerst eine Authentifizierungs-App registrieren."
|
registerTOTPBeforeKey: "Um einen Security-Token oder einen Passkey zu registrieren, musst du zuerst eine Authentifizierungs-App registrieren."
|
||||||
securityKeyInfo: "Du kannst neben Fingerabdruck- oder PIN-Authentifizierung auf deinem Gerät auch Anmeldung mit Hilfe eines FIDO2-kompatiblen Hardware-Sicherheitsschlüssels einrichten."
|
securityKeyInfo: "Du kannst neben Fingerabdruck- oder PIN-Authentifizierung auf deinem Gerät auch Anmeldung mit Hilfe eines FIDO2-kompatiblen Hardware-Sicherheitsschlüssels einrichten."
|
||||||
chromePasskeyNotSupported: "Chrome-Passkeys werden zur Zeit nicht unterstützt."
|
registerSecurityKey: "Hardware-Sicherheitsschlüssel oder Passkey registrieren"
|
||||||
registerSecurityKey: "Security-Token oder Passkey registrieren"
|
|
||||||
securityKeyName: "Schlüsselname eingeben"
|
securityKeyName: "Schlüsselname eingeben"
|
||||||
tapSecurityKey: "Bitten folge den Anweisungen deines Browsers zur Registrierung"
|
tapSecurityKey: "Bitten folge den Anweisungen deines Browsers zur Registrierung"
|
||||||
removeKey: "Sicherheitsschlüssel entfernen"
|
removeKey: "Sicherheitsschlüssel entfernen"
|
||||||
|
@ -1995,6 +2000,10 @@ _notification:
|
||||||
unreadAntennaNote: "Antenne {name}"
|
unreadAntennaNote: "Antenne {name}"
|
||||||
emptyPushNotificationMessage: "Push-Benachrichtigungen wurden aktualisiert"
|
emptyPushNotificationMessage: "Push-Benachrichtigungen wurden aktualisiert"
|
||||||
achievementEarned: "Errungenschaft freigeschaltet"
|
achievementEarned: "Errungenschaft freigeschaltet"
|
||||||
|
testNotification: "Testbenachrichtigung"
|
||||||
|
checkNotificationBehavior: "Aussehen von Benachrichtigungen überprüfen"
|
||||||
|
sendTestNotification: "Testbenachrichtigung senden"
|
||||||
|
notificationWillBeDisplayedLikeThis: "Benachrichtigungen sehen so aus"
|
||||||
_types:
|
_types:
|
||||||
all: "Alle"
|
all: "Alle"
|
||||||
follow: "Neue Follower"
|
follow: "Neue Follower"
|
||||||
|
|
|
@ -417,6 +417,8 @@ totp: "Authenticator App"
|
||||||
totpDescription: "Use an authenticator app to enter one-time passwords"
|
totpDescription: "Use an authenticator app to enter one-time passwords"
|
||||||
moderator: "Moderator"
|
moderator: "Moderator"
|
||||||
moderation: "Moderation"
|
moderation: "Moderation"
|
||||||
|
moderationNote: "Moderation note"
|
||||||
|
addModerationNote: "Add moderation note"
|
||||||
nUsersMentioned: "Mentioned by {n} users"
|
nUsersMentioned: "Mentioned by {n} users"
|
||||||
securityKeyAndPasskey: "Security- and passkeys"
|
securityKeyAndPasskey: "Security- and passkeys"
|
||||||
securityKey: "Security key"
|
securityKey: "Security key"
|
||||||
|
@ -582,7 +584,7 @@ serviceworkerInfo: "Must be enabled for push notifications."
|
||||||
deletedNote: "Deleted note"
|
deletedNote: "Deleted note"
|
||||||
invisibleNote: "Invisible note"
|
invisibleNote: "Invisible note"
|
||||||
enableInfiniteScroll: "Automatically load more"
|
enableInfiniteScroll: "Automatically load more"
|
||||||
visibility: "Visiblility"
|
visibility: "Visibility"
|
||||||
poll: "Poll"
|
poll: "Poll"
|
||||||
useCw: "Hide content"
|
useCw: "Hide content"
|
||||||
enablePlayer: "Open video player"
|
enablePlayer: "Open video player"
|
||||||
|
@ -1023,7 +1025,7 @@ retryAllQueuesConfirmText: "This will temporarily increase the server load."
|
||||||
enableChartsForRemoteUser: "Generate remote user data charts"
|
enableChartsForRemoteUser: "Generate remote user data charts"
|
||||||
enableChartsForFederatedInstances: "Generate remote instance data charts"
|
enableChartsForFederatedInstances: "Generate remote instance data charts"
|
||||||
showClipButtonInNoteFooter: "Add \"Clip\" to note action menu"
|
showClipButtonInNoteFooter: "Add \"Clip\" to note action menu"
|
||||||
largeNoteReactions: "Enlargen displayed reactions"
|
reactionsDisplaySize: "Reaction display size"
|
||||||
noteIdOrUrl: "Note ID or URL"
|
noteIdOrUrl: "Note ID or URL"
|
||||||
video: "Video"
|
video: "Video"
|
||||||
videos: "Videos"
|
videos: "Videos"
|
||||||
|
@ -1105,6 +1107,7 @@ forYou: "For you"
|
||||||
currentAnnouncements: "Current announcements"
|
currentAnnouncements: "Current announcements"
|
||||||
pastAnnouncements: "Past announcements"
|
pastAnnouncements: "Past announcements"
|
||||||
youHaveUnreadAnnouncements: "There are unread announcements."
|
youHaveUnreadAnnouncements: "There are unread announcements."
|
||||||
|
useSecurityKey: "Please follow your browser's or device's instructions to use your security- or passkey."
|
||||||
_announcement:
|
_announcement:
|
||||||
forExistingUsers: "Existing users only"
|
forExistingUsers: "Existing users only"
|
||||||
forExistingUsersDescription: "This announcement will only be shown to users existing at the point of publishment if enabled. If disabled, those newly signing up after it has been posted will also see it."
|
forExistingUsersDescription: "This announcement will only be shown to users existing at the point of publishment if enabled. If disabled, those newly signing up after it has been posted will also see it."
|
||||||
|
@ -1385,6 +1388,9 @@ _achievements:
|
||||||
title: "Brain Diver"
|
title: "Brain Diver"
|
||||||
description: "Post the link to Brain Diver"
|
description: "Post the link to Brain Diver"
|
||||||
flavor: "Misskey-Misskey La-Tu-Ma"
|
flavor: "Misskey-Misskey La-Tu-Ma"
|
||||||
|
_smashTestNotificationButton:
|
||||||
|
title: "Test overflow"
|
||||||
|
description: "Trigger the notification test repeatedly within an extremely short time"
|
||||||
_role:
|
_role:
|
||||||
new: "New role"
|
new: "New role"
|
||||||
edit: "Edit role"
|
edit: "Edit role"
|
||||||
|
@ -1707,7 +1713,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "Your browser does not support security keys."
|
securityKeyNotSupported: "Your browser does not support security keys."
|
||||||
registerTOTPBeforeKey: "Please set up an authenticator app to register a security or pass key."
|
registerTOTPBeforeKey: "Please set up an authenticator app to register a security or pass key."
|
||||||
securityKeyInfo: "Besides fingerprint or PIN authentication, you can also setup authentication via hardware security keys that support FIDO2 to further secure your account."
|
securityKeyInfo: "Besides fingerprint or PIN authentication, you can also setup authentication via hardware security keys that support FIDO2 to further secure your account."
|
||||||
chromePasskeyNotSupported: "Chrome passkeys are currently not supported."
|
|
||||||
registerSecurityKey: "Register a security or pass key"
|
registerSecurityKey: "Register a security or pass key"
|
||||||
securityKeyName: "Enter a key name"
|
securityKeyName: "Enter a key name"
|
||||||
tapSecurityKey: "Please follow your browser to register the security or pass key"
|
tapSecurityKey: "Please follow your browser to register the security or pass key"
|
||||||
|
@ -1995,6 +2000,10 @@ _notification:
|
||||||
unreadAntennaNote: "Antenna {name}"
|
unreadAntennaNote: "Antenna {name}"
|
||||||
emptyPushNotificationMessage: "Push notifications have been updated"
|
emptyPushNotificationMessage: "Push notifications have been updated"
|
||||||
achievementEarned: "Achievement unlocked"
|
achievementEarned: "Achievement unlocked"
|
||||||
|
testNotification: "Test notification"
|
||||||
|
checkNotificationBehavior: "Check notification appearance"
|
||||||
|
sendTestNotification: "Send test notification"
|
||||||
|
notificationWillBeDisplayedLikeThis: "Notifications look like this"
|
||||||
_types:
|
_types:
|
||||||
all: "All"
|
all: "All"
|
||||||
follow: "New followers"
|
follow: "New followers"
|
||||||
|
|
|
@ -1023,7 +1023,7 @@ retryAllQueuesConfirmText: "La carga del servidor está incrementándose tempora
|
||||||
enableChartsForRemoteUser: "Generar gráficas de usuarios remotos."
|
enableChartsForRemoteUser: "Generar gráficas de usuarios remotos."
|
||||||
enableChartsForFederatedInstances: "Generar gráficos de servidores remotos"
|
enableChartsForFederatedInstances: "Generar gráficos de servidores remotos"
|
||||||
showClipButtonInNoteFooter: "Añadir \"Clip\" al menú de notas"
|
showClipButtonInNoteFooter: "Añadir \"Clip\" al menú de notas"
|
||||||
largeNoteReactions: "Agrandar las reacciones de las notas"
|
reactionsDisplaySize: "Tamaño de las reacciones"
|
||||||
noteIdOrUrl: "ID o URL de la nota"
|
noteIdOrUrl: "ID o URL de la nota"
|
||||||
video: "Video"
|
video: "Video"
|
||||||
videos: "Video"
|
videos: "Video"
|
||||||
|
@ -1105,6 +1105,7 @@ forYou: "Para ti"
|
||||||
currentAnnouncements: "Anuncios actuales"
|
currentAnnouncements: "Anuncios actuales"
|
||||||
pastAnnouncements: "Anuncios anteriores"
|
pastAnnouncements: "Anuncios anteriores"
|
||||||
youHaveUnreadAnnouncements: "Hay anuncios sin leer"
|
youHaveUnreadAnnouncements: "Hay anuncios sin leer"
|
||||||
|
useSecurityKey: "Por favor, sigue las instrucciones de tu dispositivo o navegador para usar tu clave de seguridad o tu clave de paso."
|
||||||
_announcement:
|
_announcement:
|
||||||
forExistingUsers: "Solo para usuarios registrados"
|
forExistingUsers: "Solo para usuarios registrados"
|
||||||
forExistingUsersDescription: "Este anuncio solo se mostrará a aquellos usuarios registrados en el momento de su publicación. Si se deshabilita esta opción, aquellos usuarios que se registren tras su publicación también lo verán."
|
forExistingUsersDescription: "Este anuncio solo se mostrará a aquellos usuarios registrados en el momento de su publicación. Si se deshabilita esta opción, aquellos usuarios que se registren tras su publicación también lo verán."
|
||||||
|
@ -1707,7 +1708,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "Tu navegador no soporta claves de autenticación."
|
securityKeyNotSupported: "Tu navegador no soporta claves de autenticación."
|
||||||
registerTOTPBeforeKey: "Please set up an authenticator app to register a security or pass key.\npor favor. configura una aplicación de autenticación para registrar una llave de seguridad."
|
registerTOTPBeforeKey: "Please set up an authenticator app to register a security or pass key.\npor favor. configura una aplicación de autenticación para registrar una llave de seguridad."
|
||||||
securityKeyInfo: "Se puede configurar el inicio de sesión usando una clave de seguridad de hardware que soporte FIDO2 o con un certificado de huella digital o con un PIN"
|
securityKeyInfo: "Se puede configurar el inicio de sesión usando una clave de seguridad de hardware que soporte FIDO2 o con un certificado de huella digital o con un PIN"
|
||||||
chromePasskeyNotSupported: "Las llaves de seguridad de Chrome no son soportadas por el momento."
|
|
||||||
registerSecurityKey: "Registrar una llave de seguridad"
|
registerSecurityKey: "Registrar una llave de seguridad"
|
||||||
securityKeyName: "Ingresa un nombre para la clave"
|
securityKeyName: "Ingresa un nombre para la clave"
|
||||||
tapSecurityKey: "Por favor, sigue tu navegador para registrar una llave de seguridad"
|
tapSecurityKey: "Por favor, sigue tu navegador para registrar una llave de seguridad"
|
||||||
|
|
|
@ -411,6 +411,8 @@ totp: "Application d'authentification"
|
||||||
totpDescription: "Entrez un mot de passe à usage unique à l'aide d'une application d'authentification"
|
totpDescription: "Entrez un mot de passe à usage unique à l'aide d'une application d'authentification"
|
||||||
moderator: "Modérateur·rice·s"
|
moderator: "Modérateur·rice·s"
|
||||||
moderation: "Modérations"
|
moderation: "Modérations"
|
||||||
|
moderationNote: "Note de modération"
|
||||||
|
addModerationNote: "Ajouter une note de modération"
|
||||||
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
|
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
|
||||||
securityKey: "Clé de sécurité"
|
securityKey: "Clé de sécurité"
|
||||||
lastUsed: "Dernier utilisé"
|
lastUsed: "Dernier utilisé"
|
||||||
|
@ -821,6 +823,7 @@ translatedFrom: "Traduit depuis {x}"
|
||||||
accountDeletionInProgress: "La suppression de votre compte est en cours"
|
accountDeletionInProgress: "La suppression de votre compte est en cours"
|
||||||
usernameInfo: "C'est un nom qui identifie votre compte sur l'instance de manière unique. Vous pouvez utiliser des lettres de l'alphabet (minuscules et majuscules), des chiffres (de 0 à 9), ou bien le tiret « _ ». Vous ne pourrez pas modifier votre nom d'utilisateur·rice par la suite."
|
usernameInfo: "C'est un nom qui identifie votre compte sur l'instance de manière unique. Vous pouvez utiliser des lettres de l'alphabet (minuscules et majuscules), des chiffres (de 0 à 9), ou bien le tiret « _ ». Vous ne pourrez pas modifier votre nom d'utilisateur·rice par la suite."
|
||||||
aiChanMode: "Mode Ai"
|
aiChanMode: "Mode Ai"
|
||||||
|
devMode: "Mode développement"
|
||||||
keepCw: "Garder le CW"
|
keepCw: "Garder le CW"
|
||||||
pubSub: "Comptes Pub/Sub"
|
pubSub: "Comptes Pub/Sub"
|
||||||
lastCommunication: "Dernière communication"
|
lastCommunication: "Dernière communication"
|
||||||
|
@ -940,6 +943,7 @@ roles: "Rôles"
|
||||||
role: "Rôles"
|
role: "Rôles"
|
||||||
noRole: "Aucun rôle"
|
noRole: "Aucun rôle"
|
||||||
normalUser: "Simple utilisateur·rice"
|
normalUser: "Simple utilisateur·rice"
|
||||||
|
undefined: "Non défini"
|
||||||
assign: "Attribuer"
|
assign: "Attribuer"
|
||||||
color: "Couleur"
|
color: "Couleur"
|
||||||
manageCustomEmojis: "Gestion des émojis personnalisés"
|
manageCustomEmojis: "Gestion des émojis personnalisés"
|
||||||
|
@ -947,9 +951,12 @@ preset: "Préréglage"
|
||||||
selectFromPresets: "Sélectionner à partir des préréglages"
|
selectFromPresets: "Sélectionner à partir des préréglages"
|
||||||
achievements: "Accomplissements"
|
achievements: "Accomplissements"
|
||||||
thisPostMayBeAnnoying: "Cette note peut gêner d'autres personnes."
|
thisPostMayBeAnnoying: "Cette note peut gêner d'autres personnes."
|
||||||
|
thisPostMayBeAnnoyingHome: "Publier vers le fil principal"
|
||||||
thisPostMayBeAnnoyingCancel: "Annuler"
|
thisPostMayBeAnnoyingCancel: "Annuler"
|
||||||
thisPostMayBeAnnoyingIgnore: "Publier quand-même"
|
thisPostMayBeAnnoyingIgnore: "Publier quand-même"
|
||||||
internalServerError: "Erreur interne du serveur"
|
internalServerError: "Erreur interne du serveur"
|
||||||
|
copyErrorInfo: "Copier les détails de l’erreur"
|
||||||
|
exploreOtherServers: "Trouver une autre instance"
|
||||||
disableFederationOk: "Désactiver"
|
disableFederationOk: "Désactiver"
|
||||||
license: "Licence"
|
license: "Licence"
|
||||||
video: "Vidéo"
|
video: "Vidéo"
|
||||||
|
@ -957,7 +964,10 @@ videos: "Vidéos"
|
||||||
dataSaver: "Économiseur de données"
|
dataSaver: "Économiseur de données"
|
||||||
accountMigration: "Migration de compte"
|
accountMigration: "Migration de compte"
|
||||||
accountMoved: "Cet·te utilisateur·rice a migré son compte vers :"
|
accountMoved: "Cet·te utilisateur·rice a migré son compte vers :"
|
||||||
|
accountMovedShort: "Ce compte a migré"
|
||||||
|
operationForbidden: "Opération non autorisée"
|
||||||
addMemo: "Ajouter un mémo"
|
addMemo: "Ajouter un mémo"
|
||||||
|
reactionsList: "Réactions"
|
||||||
notificationDisplay: "Style des notifications"
|
notificationDisplay: "Style des notifications"
|
||||||
leftTop: "En haut à gauche"
|
leftTop: "En haut à gauche"
|
||||||
rightTop: "En haut à droite"
|
rightTop: "En haut à droite"
|
||||||
|
@ -966,6 +976,7 @@ rightBottom: "En bas à droite"
|
||||||
vertical: "Vertical"
|
vertical: "Vertical"
|
||||||
horizontal: "Latéral"
|
horizontal: "Latéral"
|
||||||
serverRules: "Règles du serveur"
|
serverRules: "Règles du serveur"
|
||||||
|
archive: "Archive"
|
||||||
youFollowing: "Abonné·e"
|
youFollowing: "Abonné·e"
|
||||||
later: "Plus tard"
|
later: "Plus tard"
|
||||||
goToMisskey: "Retour vers Misskey"
|
goToMisskey: "Retour vers Misskey"
|
||||||
|
|
|
@ -1019,7 +1019,6 @@ retryAllQueuesConfirmText: "Hal ini akan meningkatkan beban sementara ke peladen
|
||||||
enableChartsForRemoteUser: "Buat bagan data pengguna instansi luar"
|
enableChartsForRemoteUser: "Buat bagan data pengguna instansi luar"
|
||||||
enableChartsForFederatedInstances: "Buat bagan data peladen instansi luar"
|
enableChartsForFederatedInstances: "Buat bagan data peladen instansi luar"
|
||||||
showClipButtonInNoteFooter: "Tambahkan \"Klip\" ke menu aksi catatan"
|
showClipButtonInNoteFooter: "Tambahkan \"Klip\" ke menu aksi catatan"
|
||||||
largeNoteReactions: "Besarkan reaksi yang ditampilkan"
|
|
||||||
noteIdOrUrl: "ID catatan atau URL"
|
noteIdOrUrl: "ID catatan atau URL"
|
||||||
video: "Video"
|
video: "Video"
|
||||||
videos: "Video"
|
videos: "Video"
|
||||||
|
@ -1691,7 +1690,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "Peramban kamu tidak mendukung security key."
|
securityKeyNotSupported: "Peramban kamu tidak mendukung security key."
|
||||||
registerTOTPBeforeKey: "Mohon atur aplikasi autentikator untuk mendaftarkan security key atau passkey."
|
registerTOTPBeforeKey: "Mohon atur aplikasi autentikator untuk mendaftarkan security key atau passkey."
|
||||||
securityKeyInfo: "Kamu dapat memasang otentikasi WebAuthN untuk mengamankan proses login lebih lanjut dengan tidak hanya perangkat keras kunci keamanan yang mendukung FIDO2, namun juga sidik jari atau otentikasi PIN pada perangkatmu."
|
securityKeyInfo: "Kamu dapat memasang otentikasi WebAuthN untuk mengamankan proses login lebih lanjut dengan tidak hanya perangkat keras kunci keamanan yang mendukung FIDO2, namun juga sidik jari atau otentikasi PIN pada perangkatmu."
|
||||||
chromePasskeyNotSupported: "Passkey Chrome saat ini tidak didukung."
|
|
||||||
registerSecurityKey: "Daftarkan security key atau passkey."
|
registerSecurityKey: "Daftarkan security key atau passkey."
|
||||||
securityKeyName: "Masukkan nama key."
|
securityKeyName: "Masukkan nama key."
|
||||||
tapSecurityKey: "Mohon ikuti peramban kamu untuk mendaftarkan security key atau passkey"
|
tapSecurityKey: "Mohon ikuti peramban kamu untuk mendaftarkan security key atau passkey"
|
||||||
|
|
15
locales/index.d.ts
vendored
15
locales/index.d.ts
vendored
|
@ -359,7 +359,6 @@ export interface Locale {
|
||||||
"driveCapacityPerLocalAccount": string;
|
"driveCapacityPerLocalAccount": string;
|
||||||
"driveCapacityPerRemoteAccount": string;
|
"driveCapacityPerRemoteAccount": string;
|
||||||
"inMb": string;
|
"inMb": string;
|
||||||
"iconUrl": string;
|
|
||||||
"bannerUrl": string;
|
"bannerUrl": string;
|
||||||
"backgroundImageUrl": string;
|
"backgroundImageUrl": string;
|
||||||
"basicInfo": string;
|
"basicInfo": string;
|
||||||
|
@ -420,6 +419,8 @@ export interface Locale {
|
||||||
"totpDescription": string;
|
"totpDescription": string;
|
||||||
"moderator": string;
|
"moderator": string;
|
||||||
"moderation": string;
|
"moderation": string;
|
||||||
|
"moderationNote": string;
|
||||||
|
"addModerationNote": string;
|
||||||
"nUsersMentioned": string;
|
"nUsersMentioned": string;
|
||||||
"securityKeyAndPasskey": string;
|
"securityKeyAndPasskey": string;
|
||||||
"securityKey": string;
|
"securityKey": string;
|
||||||
|
@ -1138,6 +1139,14 @@ export interface Locale {
|
||||||
"_serverRules": {
|
"_serverRules": {
|
||||||
"description": string;
|
"description": string;
|
||||||
};
|
};
|
||||||
|
"_serverSettings": {
|
||||||
|
"iconUrl": string;
|
||||||
|
"appIconDescription": string;
|
||||||
|
"appIconUsageExample": string;
|
||||||
|
"appIconStyleRecommendation": string;
|
||||||
|
"appIconResolutionMustBe": string;
|
||||||
|
"manifestJsonOverride": string;
|
||||||
|
};
|
||||||
"_accountMigration": {
|
"_accountMigration": {
|
||||||
"moveFrom": string;
|
"moveFrom": string;
|
||||||
"moveFromSub": string;
|
"moveFromSub": string;
|
||||||
|
@ -1467,6 +1476,10 @@ export interface Locale {
|
||||||
"description": string;
|
"description": string;
|
||||||
"flavor": string;
|
"flavor": string;
|
||||||
};
|
};
|
||||||
|
"_smashTestNotificationButton": {
|
||||||
|
"title": string;
|
||||||
|
"description": string;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"_role": {
|
"_role": {
|
||||||
|
|
|
@ -417,6 +417,8 @@ totp: "App di autenticazione"
|
||||||
totpDescription: "Inserisci un codice OTP tramite un'app di autenticazione"
|
totpDescription: "Inserisci un codice OTP tramite un'app di autenticazione"
|
||||||
moderator: "Moderatore"
|
moderator: "Moderatore"
|
||||||
moderation: "moderazione"
|
moderation: "moderazione"
|
||||||
|
moderationNote: "Promemoria di moderazione"
|
||||||
|
addModerationNote: "Aggiungi promemoria di moderazione"
|
||||||
nUsersMentioned: "{n} profili menzionati"
|
nUsersMentioned: "{n} profili menzionati"
|
||||||
securityKeyAndPasskey: "Chiave di sicurezza e accesso"
|
securityKeyAndPasskey: "Chiave di sicurezza e accesso"
|
||||||
securityKey: "Chiave di sicurezza"
|
securityKey: "Chiave di sicurezza"
|
||||||
|
@ -1023,7 +1025,7 @@ retryAllQueuesConfirmText: "Potrebbe sovraccaricare il server temporaneamente."
|
||||||
enableChartsForRemoteUser: "Abilita i grafici per i profili remoti"
|
enableChartsForRemoteUser: "Abilita i grafici per i profili remoti"
|
||||||
enableChartsForFederatedInstances: "Abilita i grafici per le istanze federate"
|
enableChartsForFederatedInstances: "Abilita i grafici per le istanze federate"
|
||||||
showClipButtonInNoteFooter: "Aggiungi il bottone Clip tra le azioni delle Note"
|
showClipButtonInNoteFooter: "Aggiungi il bottone Clip tra le azioni delle Note"
|
||||||
largeNoteReactions: "Ingrandisci le reazioni"
|
reactionsDisplaySize: "Grandezza delle reazioni"
|
||||||
noteIdOrUrl: "ID della Nota o URL"
|
noteIdOrUrl: "ID della Nota o URL"
|
||||||
video: "Video"
|
video: "Video"
|
||||||
videos: "Video"
|
videos: "Video"
|
||||||
|
@ -1105,6 +1107,7 @@ forYou: "Per te"
|
||||||
currentAnnouncements: "Annunci attuali"
|
currentAnnouncements: "Annunci attuali"
|
||||||
pastAnnouncements: "Annunci precedenti"
|
pastAnnouncements: "Annunci precedenti"
|
||||||
youHaveUnreadAnnouncements: "Ci sono Annunci non letti"
|
youHaveUnreadAnnouncements: "Ci sono Annunci non letti"
|
||||||
|
useSecurityKey: "Per utilizzare la chiave di sicurezza o la passkey, segui le indicazioni del dispositivo"
|
||||||
_announcement:
|
_announcement:
|
||||||
forExistingUsers: "Solo ai profili attuali"
|
forExistingUsers: "Solo ai profili attuali"
|
||||||
forExistingUsersDescription: "L'annuncio sarà visibile solo ai profili esistenti in questo momento. Se disabilitato, sarà visibile anche ai profili che verranno creati dopo la pubblicazione di questo annuncio."
|
forExistingUsersDescription: "L'annuncio sarà visibile solo ai profili esistenti in questo momento. Se disabilitato, sarà visibile anche ai profili che verranno creati dopo la pubblicazione di questo annuncio."
|
||||||
|
@ -1385,6 +1388,9 @@ _achievements:
|
||||||
title: "Brain Diver"
|
title: "Brain Diver"
|
||||||
description: "Pubblica un link a Brain Diver"
|
description: "Pubblica un link a Brain Diver"
|
||||||
flavor: "Sulle note di Brain Diver"
|
flavor: "Sulle note di Brain Diver"
|
||||||
|
_smashTestNotificationButton:
|
||||||
|
title: "Prove eccessive"
|
||||||
|
description: "Hai provato le notifiche consecutivamente in un periodo di tempo molto breve"
|
||||||
_role:
|
_role:
|
||||||
new: "Nuovo ruolo"
|
new: "Nuovo ruolo"
|
||||||
edit: "Modifica ruolo"
|
edit: "Modifica ruolo"
|
||||||
|
@ -1707,7 +1713,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "Il tuo browser non supporta le chiavi di sicurezza."
|
securityKeyNotSupported: "Il tuo browser non supporta le chiavi di sicurezza."
|
||||||
registerTOTPBeforeKey: "Ti occorre un'app di autenticazione con OTP, prima di registrare la chiave di sicurezza."
|
registerTOTPBeforeKey: "Ti occorre un'app di autenticazione con OTP, prima di registrare la chiave di sicurezza."
|
||||||
securityKeyInfo: "È possibile impostare il dispositivo per accedere utilizzando una chiave di sicurezza hardware che supporta FIDO2 o un'impronta digitale o un PIN sul dispositivo."
|
securityKeyInfo: "È possibile impostare il dispositivo per accedere utilizzando una chiave di sicurezza hardware che supporta FIDO2 o un'impronta digitale o un PIN sul dispositivo."
|
||||||
chromePasskeyNotSupported: "Le passkey di Chrome non sono attualmente supportate."
|
|
||||||
registerSecurityKey: "Registra la chiave di sicurezza"
|
registerSecurityKey: "Registra la chiave di sicurezza"
|
||||||
securityKeyName: "Inserisci il nome della chiave"
|
securityKeyName: "Inserisci il nome della chiave"
|
||||||
tapSecurityKey: "Segui le istruzioni del browser e registra la chiave di sicurezza."
|
tapSecurityKey: "Segui le istruzioni del browser e registra la chiave di sicurezza."
|
||||||
|
@ -1995,6 +2000,10 @@ _notification:
|
||||||
unreadAntennaNote: "Antenna {name}"
|
unreadAntennaNote: "Antenna {name}"
|
||||||
emptyPushNotificationMessage: "Le notifiche push sono state aggiornate."
|
emptyPushNotificationMessage: "Le notifiche push sono state aggiornate."
|
||||||
achievementEarned: "Obiettivo raggiunto"
|
achievementEarned: "Obiettivo raggiunto"
|
||||||
|
testNotification: "Prova la notifica"
|
||||||
|
checkNotificationBehavior: "Prova il comportamento della notifica"
|
||||||
|
sendTestNotification: "Spedisci una notifica di prova"
|
||||||
|
notificationWillBeDisplayedLikeThis: "La notifica apparirà così"
|
||||||
_types:
|
_types:
|
||||||
all: "Tutto"
|
all: "Tutto"
|
||||||
follow: "Novità follower"
|
follow: "Novità follower"
|
||||||
|
|
|
@ -356,7 +356,6 @@ invite: "招待"
|
||||||
driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量"
|
driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量"
|
||||||
driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのドライブ容量"
|
driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのドライブ容量"
|
||||||
inMb: "メガバイト単位"
|
inMb: "メガバイト単位"
|
||||||
iconUrl: "アイコン画像のURL (faviconなど)"
|
|
||||||
bannerUrl: "バナー画像のURL"
|
bannerUrl: "バナー画像のURL"
|
||||||
backgroundImageUrl: "背景画像のURL"
|
backgroundImageUrl: "背景画像のURL"
|
||||||
basicInfo: "基本情報"
|
basicInfo: "基本情報"
|
||||||
|
@ -417,6 +416,8 @@ totp: "認証アプリ"
|
||||||
totpDescription: "認証アプリを使ってワンタイムパスワードを入力"
|
totpDescription: "認証アプリを使ってワンタイムパスワードを入力"
|
||||||
moderator: "モデレーター"
|
moderator: "モデレーター"
|
||||||
moderation: "モデレーション"
|
moderation: "モデレーション"
|
||||||
|
moderationNote: "モデレーションノート"
|
||||||
|
addModerationNote: "モデレーションノートを追加する"
|
||||||
nUsersMentioned: "{n}人が投稿"
|
nUsersMentioned: "{n}人が投稿"
|
||||||
securityKeyAndPasskey: "セキュリティキー・パスキー"
|
securityKeyAndPasskey: "セキュリティキー・パスキー"
|
||||||
securityKey: "セキュリティキー"
|
securityKey: "セキュリティキー"
|
||||||
|
@ -1136,6 +1137,14 @@ _initialAccountSetting:
|
||||||
_serverRules:
|
_serverRules:
|
||||||
description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。"
|
description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。"
|
||||||
|
|
||||||
|
_serverSettings:
|
||||||
|
iconUrl: "アイコン画像のURL"
|
||||||
|
appIconDescription: "{host}がアプリとして表示される際のアイコンを指定します。"
|
||||||
|
appIconUsageExample: "例: PWAや、スマートフォンのホーム画面にブックマークとして追加された時など"
|
||||||
|
appIconStyleRecommendation: "画像は透過部分が無く、塗りつぶされた余白がある背景を持つことが推奨されます。"
|
||||||
|
appIconResolutionMustBe: "解像度は必ず{resolution}である必要があります。"
|
||||||
|
manifestJsonOverride: "manifest.jsonのオーバーライド"
|
||||||
|
|
||||||
_accountMigration:
|
_accountMigration:
|
||||||
moveFrom: "別のアカウントからこのアカウントに移行"
|
moveFrom: "別のアカウントからこのアカウントに移行"
|
||||||
moveFromSub: "別のアカウントへエイリアスを作成"
|
moveFromSub: "別のアカウントへエイリアスを作成"
|
||||||
|
@ -1391,6 +1400,9 @@ _achievements:
|
||||||
title: "Brain Diver"
|
title: "Brain Diver"
|
||||||
description: "Brain Diverへのリンクを投稿した"
|
description: "Brain Diverへのリンクを投稿した"
|
||||||
flavor: "Misskey-Misskey La-Tu-Ma"
|
flavor: "Misskey-Misskey La-Tu-Ma"
|
||||||
|
_smashTestNotificationButton:
|
||||||
|
title: "テスト過剰"
|
||||||
|
description: "通知のテストをごく短時間のうちに連続して行った"
|
||||||
|
|
||||||
_role:
|
_role:
|
||||||
new: "ロールの作成"
|
new: "ロールの作成"
|
||||||
|
|
|
@ -415,6 +415,8 @@ totp: "認証アプリ"
|
||||||
totpDescription: "認証アプリ使うてワンタイムパスワードを入れる"
|
totpDescription: "認証アプリ使うてワンタイムパスワードを入れる"
|
||||||
moderator: "モデレーター"
|
moderator: "モデレーター"
|
||||||
moderation: "モデレーション"
|
moderation: "モデレーション"
|
||||||
|
moderationNote: "モデレーションノート"
|
||||||
|
addModerationNote: "モデレーションノートを追加するで"
|
||||||
nUsersMentioned: "{n}人が投稿"
|
nUsersMentioned: "{n}人が投稿"
|
||||||
securityKeyAndPasskey: "セキュリティキー・パスキー"
|
securityKeyAndPasskey: "セキュリティキー・パスキー"
|
||||||
securityKey: "セキュリティキー"
|
securityKey: "セキュリティキー"
|
||||||
|
@ -1020,7 +1022,6 @@ retryAllQueuesConfirmText: "一時的にサーバー重なるかもしれへん
|
||||||
enableChartsForRemoteUser: "リモートユーザーのチャートを作る"
|
enableChartsForRemoteUser: "リモートユーザーのチャートを作る"
|
||||||
enableChartsForFederatedInstances: "リモートサーバーのチャートを作る"
|
enableChartsForFederatedInstances: "リモートサーバーのチャートを作る"
|
||||||
showClipButtonInNoteFooter: "ノートのアクションにクリップを追加"
|
showClipButtonInNoteFooter: "ノートのアクションにクリップを追加"
|
||||||
largeNoteReactions: "ノートのツッコミを大きする"
|
|
||||||
noteIdOrUrl: "ノートIDかURL"
|
noteIdOrUrl: "ノートIDかURL"
|
||||||
video: "動画"
|
video: "動画"
|
||||||
videos: "動画"
|
videos: "動画"
|
||||||
|
@ -1702,7 +1703,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "今使とるブラウザはセキュリティキーに対応してへんのやってさ。"
|
securityKeyNotSupported: "今使とるブラウザはセキュリティキーに対応してへんのやってさ。"
|
||||||
registerTOTPBeforeKey: "セキュリティキー・パスキーを登録するんやったら、まず認証アプリを設定してーな。"
|
registerTOTPBeforeKey: "セキュリティキー・パスキーを登録するんやったら、まず認証アプリを設定してーな。"
|
||||||
securityKeyInfo: "FIDO2をサポートするハードウェアセキュリティキーか端末の指紋認証やPINを使ってログインするように設定できるで。"
|
securityKeyInfo: "FIDO2をサポートするハードウェアセキュリティキーか端末の指紋認証やPINを使ってログインするように設定できるで。"
|
||||||
chromePasskeyNotSupported: "Chromeのパスキーは今んとこ対応してないねん。"
|
|
||||||
registerSecurityKey: "セキュリティキー・パスキーを登録するわ"
|
registerSecurityKey: "セキュリティキー・パスキーを登録するわ"
|
||||||
securityKeyName: "キーの名前を入れてーや"
|
securityKeyName: "キーの名前を入れてーや"
|
||||||
tapSecurityKey: "ブラウザが言うこと聞いて、セキュリティキーとかパスキー登録しといでや"
|
tapSecurityKey: "ブラウザが言うこと聞いて、セキュリティキーとかパスキー登録しといでや"
|
||||||
|
|
|
@ -45,6 +45,7 @@ pin: "프로필에 고정"
|
||||||
unpin: "프로필에서 고정 해제"
|
unpin: "프로필에서 고정 해제"
|
||||||
copyContent: "내용 복사"
|
copyContent: "내용 복사"
|
||||||
copyLink: "링크 복사"
|
copyLink: "링크 복사"
|
||||||
|
copyLinkRenote: "Renote 링크 복사"
|
||||||
delete: "삭제"
|
delete: "삭제"
|
||||||
deleteAndEdit: "삭제 후 편집"
|
deleteAndEdit: "삭제 후 편집"
|
||||||
deleteAndEditConfirm: "이 노트를 삭제한 뒤 다시 편집하시겠습니까? 이 노트에 대한 리액션, 리노트, 답글 또한 모두 삭제됩니다."
|
deleteAndEditConfirm: "이 노트를 삭제한 뒤 다시 편집하시겠습니까? 이 노트에 대한 리액션, 리노트, 답글 또한 모두 삭제됩니다."
|
||||||
|
@ -655,6 +656,7 @@ behavior: "동작"
|
||||||
sample: "예시"
|
sample: "예시"
|
||||||
abuseReports: "신고"
|
abuseReports: "신고"
|
||||||
reportAbuse: "신고"
|
reportAbuse: "신고"
|
||||||
|
reportAbuseRenote: "Renote를 신고"
|
||||||
reportAbuseOf: "{name}을 신고하기"
|
reportAbuseOf: "{name}을 신고하기"
|
||||||
fillAbuseReportDescription: "신고하려는 이유를 자세히 알려주세요. 특정 게시물을 신고할 때에는 게시물의 URL도 포함해 주세요."
|
fillAbuseReportDescription: "신고하려는 이유를 자세히 알려주세요. 특정 게시물을 신고할 때에는 게시물의 URL도 포함해 주세요."
|
||||||
abuseReported: "신고를 보냈습니다. 신고해 주셔서 감사합니다."
|
abuseReported: "신고를 보냈습니다. 신고해 주셔서 감사합니다."
|
||||||
|
@ -1021,7 +1023,7 @@ retryAllQueuesConfirmText: "일시적으로 서버의 부하가 증가할 수
|
||||||
enableChartsForRemoteUser: "리모트 유저의 차트를 생성"
|
enableChartsForRemoteUser: "리모트 유저의 차트를 생성"
|
||||||
enableChartsForFederatedInstances: "리모트 서버의 차트를 생성"
|
enableChartsForFederatedInstances: "리모트 서버의 차트를 생성"
|
||||||
showClipButtonInNoteFooter: "노트 동작에 클립을 추가"
|
showClipButtonInNoteFooter: "노트 동작에 클립을 추가"
|
||||||
largeNoteReactions: "노트의 리액션을 크게 표시"
|
reactionsDisplaySize: "리액션 표시 크기"
|
||||||
noteIdOrUrl: "노트 ID 및 URL"
|
noteIdOrUrl: "노트 ID 및 URL"
|
||||||
video: "동영상"
|
video: "동영상"
|
||||||
videos: "동영상"
|
videos: "동영상"
|
||||||
|
@ -1103,6 +1105,7 @@ forYou: "당신에게"
|
||||||
currentAnnouncements: "현재 공지사항"
|
currentAnnouncements: "현재 공지사항"
|
||||||
pastAnnouncements: "과거 공지사항"
|
pastAnnouncements: "과거 공지사항"
|
||||||
youHaveUnreadAnnouncements: "읽지 않은 공지사항이 있습니다."
|
youHaveUnreadAnnouncements: "읽지 않은 공지사항이 있습니다."
|
||||||
|
useSecurityKey: "브라우저 또는 기기의 안내에 따라 보안 키 또는 패스키를 사용해 주십시오."
|
||||||
_announcement:
|
_announcement:
|
||||||
forExistingUsers: "기존 유저에게만 알림"
|
forExistingUsers: "기존 유저에게만 알림"
|
||||||
forExistingUsersDescription: "활성화하면 이 공지사항을 게시한 시점에서 이미 가입한 유저에게만 표시합니다. 비활성화하면 게시 후에 가입한 유저에게도 표시합니다."
|
forExistingUsersDescription: "활성화하면 이 공지사항을 게시한 시점에서 이미 가입한 유저에게만 표시합니다. 비활성화하면 게시 후에 가입한 유저에게도 표시합니다."
|
||||||
|
@ -1705,7 +1708,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "이 브라우저는 보안 키를 지원하지 않습니다."
|
securityKeyNotSupported: "이 브라우저는 보안 키를 지원하지 않습니다."
|
||||||
registerTOTPBeforeKey: "보안 키 또는 패스키를 등록하려면 인증 앱을 등록하십시오."
|
registerTOTPBeforeKey: "보안 키 또는 패스키를 등록하려면 인증 앱을 등록하십시오."
|
||||||
securityKeyInfo: "FIDO2를 지원하는 하드웨어 보안 키 혹은 디바이스의 지문인식이나 화면잠금 PIN을 이용해서 로그인하도록 설정할 수 있습니다."
|
securityKeyInfo: "FIDO2를 지원하는 하드웨어 보안 키 혹은 디바이스의 지문인식이나 화면잠금 PIN을 이용해서 로그인하도록 설정할 수 있습니다."
|
||||||
chromePasskeyNotSupported: "현재 Chrome의 패스키는 지원되지 않습니다."
|
|
||||||
registerSecurityKey: "보안 키 또는 패스키 등록"
|
registerSecurityKey: "보안 키 또는 패스키 등록"
|
||||||
securityKeyName: "키 이름 입력"
|
securityKeyName: "키 이름 입력"
|
||||||
tapSecurityKey: "브라우저의 지시에 따라 보안 키 또는 패스키를 등록하여 주십시오"
|
tapSecurityKey: "브라우저의 지시에 따라 보안 키 또는 패스키를 등록하여 주십시오"
|
||||||
|
@ -1993,6 +1995,10 @@ _notification:
|
||||||
unreadAntennaNote: "안테나 {name}"
|
unreadAntennaNote: "안테나 {name}"
|
||||||
emptyPushNotificationMessage: "푸시 알림이 갱신되었습니다"
|
emptyPushNotificationMessage: "푸시 알림이 갱신되었습니다"
|
||||||
achievementEarned: "도전 과제를 달성했습니다"
|
achievementEarned: "도전 과제를 달성했습니다"
|
||||||
|
testNotification: "알림 테스트"
|
||||||
|
checkNotificationBehavior: "알림 표시를 체크하기"
|
||||||
|
sendTestNotification: "테스트 알림 보내기"
|
||||||
|
notificationWillBeDisplayedLikeThis: "알림이 이렇게 표시됩니다"
|
||||||
_types:
|
_types:
|
||||||
all: "전부"
|
all: "전부"
|
||||||
follow: "팔로잉"
|
follow: "팔로잉"
|
||||||
|
@ -2028,6 +2034,8 @@ _deck:
|
||||||
introduction2: "나중에라도 화면 우측의 + 버튼을 눌러 새 칼럼을 추가할 수 있습니다."
|
introduction2: "나중에라도 화면 우측의 + 버튼을 눌러 새 칼럼을 추가할 수 있습니다."
|
||||||
widgetsIntroduction: "칼럼 메뉴의 \"위젯 편집\"에서 위젯을 추가해 주세요"
|
widgetsIntroduction: "칼럼 메뉴의 \"위젯 편집\"에서 위젯을 추가해 주세요"
|
||||||
useSimpleUiForNonRootPages: "루트 이외의 페이지로 접속한 경우 UI 간략화하기"
|
useSimpleUiForNonRootPages: "루트 이외의 페이지로 접속한 경우 UI 간략화하기"
|
||||||
|
usedAsMinWidthWhenFlexible: "'폭 자동 조정'이 활성화된 경우 최소 폭으로 사용됩니다"
|
||||||
|
flexible: "폭 자동 조정"
|
||||||
_columns:
|
_columns:
|
||||||
main: "메인"
|
main: "메인"
|
||||||
widgets: "위젯"
|
widgets: "위젯"
|
||||||
|
|
|
@ -984,6 +984,7 @@ rolesAssignedToMe: "Cargos atribuídos a mim"
|
||||||
unfavoriteConfirm: "Deseja realmente remover dos favoritos?"
|
unfavoriteConfirm: "Deseja realmente remover dos favoritos?"
|
||||||
drivecleaner: "Limpeza do drive"
|
drivecleaner: "Limpeza do drive"
|
||||||
retryAllQueuesConfirmTitle: "Gostaria de tentar novamente agora?"
|
retryAllQueuesConfirmTitle: "Gostaria de tentar novamente agora?"
|
||||||
|
reactionsDisplaySize: "Tamanho de exibição das reações"
|
||||||
reactionsList: "Reações"
|
reactionsList: "Reações"
|
||||||
renotesList: "Repostagens"
|
renotesList: "Repostagens"
|
||||||
leftTop: "Superior esquerdo"
|
leftTop: "Superior esquerdo"
|
||||||
|
|
|
@ -1017,7 +1017,6 @@ retryAllQueuesConfirmTitle: "Хотите попробовать ещё раз?"
|
||||||
retryAllQueuesConfirmText: "Нагрузка на сервер может увеличиться"
|
retryAllQueuesConfirmText: "Нагрузка на сервер может увеличиться"
|
||||||
enableChartsForRemoteUser: "Создание диаграмм для удалённых пользователей"
|
enableChartsForRemoteUser: "Создание диаграмм для удалённых пользователей"
|
||||||
enableChartsForFederatedInstances: "Создание диаграмм для удалённых серверов"
|
enableChartsForFederatedInstances: "Создание диаграмм для удалённых серверов"
|
||||||
largeNoteReactions: "Показывать большие реакции на заметки"
|
|
||||||
noteIdOrUrl: "ID или ссылка на заметку"
|
noteIdOrUrl: "ID или ссылка на заметку"
|
||||||
video: "Видео"
|
video: "Видео"
|
||||||
videos: "Видео"
|
videos: "Видео"
|
||||||
|
@ -1616,7 +1615,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "Ваш браузер не поддерживает ключи безопасности."
|
securityKeyNotSupported: "Ваш браузер не поддерживает ключи безопасности."
|
||||||
registerTOTPBeforeKey: "Чтобы зарегистрировать ключ безопасности и пароль, сначала настройте приложение аутентификации."
|
registerTOTPBeforeKey: "Чтобы зарегистрировать ключ безопасности и пароль, сначала настройте приложение аутентификации."
|
||||||
securityKeyInfo: "Вы можете настроить вход с помощью аппаратного ключа безопасности, поддерживающего FIDO2, или отпечатка пальца или PIN-кода на устройстве."
|
securityKeyInfo: "Вы можете настроить вход с помощью аппаратного ключа безопасности, поддерживающего FIDO2, или отпечатка пальца или PIN-кода на устройстве."
|
||||||
chromePasskeyNotSupported: "В настоящее время Chrome не поддерживает пароль-ключи."
|
|
||||||
registerSecurityKey: "Зарегистрируйте ключ безопасности ・Passkey"
|
registerSecurityKey: "Зарегистрируйте ключ безопасности ・Passkey"
|
||||||
securityKeyName: "Введите имя для ключа"
|
securityKeyName: "Введите имя для ключа"
|
||||||
tapSecurityKey: "Пожалуйста, следуйте инструкциям в вашем браузере, чтобы зарегистрировать свой ключ безопасности или пароль"
|
tapSecurityKey: "Пожалуйста, следуйте инструкциям в вашем браузере, чтобы зарегистрировать свой ключ безопасности или пароль"
|
||||||
|
|
|
@ -45,6 +45,7 @@ pin: "ปักหมุดไปยังโปรไฟล์"
|
||||||
unpin: "เลิกปักหมุดจากโปรไฟล์"
|
unpin: "เลิกปักหมุดจากโปรไฟล์"
|
||||||
copyContent: "คัดลอกเนื้อหา"
|
copyContent: "คัดลอกเนื้อหา"
|
||||||
copyLink: "คัดลอกลิงก์"
|
copyLink: "คัดลอกลิงก์"
|
||||||
|
copyLinkRenote: "คัดลอกลิงก์รีโน้ต"
|
||||||
delete: "ลบ"
|
delete: "ลบ"
|
||||||
deleteAndEdit: "ลบและแก้ไข"
|
deleteAndEdit: "ลบและแก้ไข"
|
||||||
deleteAndEditConfirm: "นายแน่ใจแล้วเหรอ? ว่าต้องการลบโน้ตนี้และแก้ไข คุณอาจจะสูญเสียการโต้ตอบ, โน้ต, และการตอบกลับทั้งหมดได้นะ"
|
deleteAndEditConfirm: "นายแน่ใจแล้วเหรอ? ว่าต้องการลบโน้ตนี้และแก้ไข คุณอาจจะสูญเสียการโต้ตอบ, โน้ต, และการตอบกลับทั้งหมดได้นะ"
|
||||||
|
@ -411,6 +412,7 @@ aboutMisskey: "เกี่ยวกับ Misskey"
|
||||||
administrator: "ผู้ดูแลระบบ"
|
administrator: "ผู้ดูแลระบบ"
|
||||||
token: "โทเค็น"
|
token: "โทเค็น"
|
||||||
2fa: "การยืนยันตัวตนแบบสองชั้น"
|
2fa: "การยืนยันตัวตนแบบสองชั้น"
|
||||||
|
setupOf2fa: "ตั้งค่าการยืนยันตัวตนแบบสองชั้น"
|
||||||
totp: "แอป Authenticator"
|
totp: "แอป Authenticator"
|
||||||
totpDescription: "ใช้แอปยืนยันตัวตนเพื่อป้อนรหัสผ่านแบบใช้ครั้งเดียว"
|
totpDescription: "ใช้แอปยืนยันตัวตนเพื่อป้อนรหัสผ่านแบบใช้ครั้งเดียว"
|
||||||
moderator: "ผู้ควบคุม"
|
moderator: "ผู้ควบคุม"
|
||||||
|
@ -654,6 +656,7 @@ behavior: "พฤติกรรม"
|
||||||
sample: "ตัวอย่าง"
|
sample: "ตัวอย่าง"
|
||||||
abuseReports: "รายงาน"
|
abuseReports: "รายงาน"
|
||||||
reportAbuse: "รายงาน"
|
reportAbuse: "รายงาน"
|
||||||
|
reportAbuseRenote: "รายงานรีโน้ต"
|
||||||
reportAbuseOf: "รายงาน {ชื่อ}"
|
reportAbuseOf: "รายงาน {ชื่อ}"
|
||||||
fillAbuseReportDescription: "กรุณากรอกรายละเอียดเกี่ยวกับรายงานนี้ หากเป็นเรื่องเกี่ยวกับโน้ตโดยเฉพาะ ได้โปรดระบุ URL"
|
fillAbuseReportDescription: "กรุณากรอกรายละเอียดเกี่ยวกับรายงานนี้ หากเป็นเรื่องเกี่ยวกับโน้ตโดยเฉพาะ ได้โปรดระบุ URL"
|
||||||
abuseReported: "เราได้ส่งรายงานของคุณไปแล้ว ขอบคุณมากๆนะ"
|
abuseReported: "เราได้ส่งรายงานของคุณไปแล้ว ขอบคุณมากๆนะ"
|
||||||
|
@ -1020,7 +1023,6 @@ retryAllQueuesConfirmText: "สิ่งนี้จะเพิ่มการ
|
||||||
enableChartsForRemoteUser: "สร้างแผนภูมิข้อมูลผู้ใช้ระยะไกล"
|
enableChartsForRemoteUser: "สร้างแผนภูมิข้อมูลผู้ใช้ระยะไกล"
|
||||||
enableChartsForFederatedInstances: "สร้างแผนภูมิข้อมูลอินสแตนซ์ระยะไกล"
|
enableChartsForFederatedInstances: "สร้างแผนภูมิข้อมูลอินสแตนซ์ระยะไกล"
|
||||||
showClipButtonInNoteFooter: "เพิ่ม \"คลิป\" เพื่อบันทึกเมนูการทำงาน"
|
showClipButtonInNoteFooter: "เพิ่ม \"คลิป\" เพื่อบันทึกเมนูการทำงาน"
|
||||||
largeNoteReactions: "ขยายรีแอคชั่นการแสดงผล"
|
|
||||||
noteIdOrUrl: "โน้ต ID หรือ URL"
|
noteIdOrUrl: "โน้ต ID หรือ URL"
|
||||||
video: "วีดีโอ"
|
video: "วีดีโอ"
|
||||||
videos: "วีดีโอ"
|
videos: "วีดีโอ"
|
||||||
|
@ -1693,11 +1695,11 @@ _2fa:
|
||||||
step2Click: "การคลิกที่รหัส QR นี้จะช่วยให้คุณนั้นสามารถลงทะเบียน 2FA กับคีย์ความปลอดภัยหรือแอปตรวจสอบความถูกต้องของโทรศัพท์ได้"
|
step2Click: "การคลิกที่รหัส QR นี้จะช่วยให้คุณนั้นสามารถลงทะเบียน 2FA กับคีย์ความปลอดภัยหรือแอปตรวจสอบความถูกต้องของโทรศัพท์ได้"
|
||||||
step3Title: "ป้อนรหัสยืนยัน"
|
step3Title: "ป้อนรหัสยืนยัน"
|
||||||
step3: "ป้อนโทเค็นที่แอปของคุณให้มาเพื่อเสร็จสิ้นการตั้งค่า"
|
step3: "ป้อนโทเค็นที่แอปของคุณให้มาเพื่อเสร็จสิ้นการตั้งค่า"
|
||||||
|
setupCompleted: "ตั้งค่าสำเร็จแล้ว"
|
||||||
step4: "นับจากนี้เป็นต้นไปการพยายามเข้าสู่ระบบในอนาคตนั้น อาจจะต้องขอโทเค็นในการเข้าสู่ระบบดังกล่าว"
|
step4: "นับจากนี้เป็นต้นไปการพยายามเข้าสู่ระบบในอนาคตนั้น อาจจะต้องขอโทเค็นในการเข้าสู่ระบบดังกล่าว"
|
||||||
securityKeyNotSupported: "เบราว์เซอร์ของคุณไม่รองรับคีย์ความปลอดภัยนะ"
|
securityKeyNotSupported: "เบราว์เซอร์ของคุณไม่รองรับคีย์ความปลอดภัยนะ"
|
||||||
registerTOTPBeforeKey: "กรุณาตั้งค่าแอปยืนยันตัวตนเพื่อลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
registerTOTPBeforeKey: "กรุณาตั้งค่าแอปยืนยันตัวตนเพื่อลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
||||||
securityKeyInfo: "นอกจากนี้การตรวจสอบความถูกต้องด้วยลายนิ้วมือหรือ PIN แล้ว คุณยังสามารถตั้งค่าการตรวจสอบสิทธิ์ผ่านคีย์ความปลอดภัยของฮาร์ดแวร์ที่รองรับ FIDO2 เพื่อเพิ่มความปลอดภัยให้กับบัญชีของคุณ"
|
securityKeyInfo: "นอกจากนี้การตรวจสอบความถูกต้องด้วยลายนิ้วมือหรือ PIN แล้ว คุณยังสามารถตั้งค่าการตรวจสอบสิทธิ์ผ่านคีย์ความปลอดภัยของฮาร์ดแวร์ที่รองรับ FIDO2 เพื่อเพิ่มความปลอดภัยให้กับบัญชีของคุณ"
|
||||||
chromePasskeyNotSupported: "ขณะนี้ยังไม่รองรับรหัสผ่านของ Chrome"
|
|
||||||
registerSecurityKey: "ลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
registerSecurityKey: "ลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
||||||
securityKeyName: "ป้อนชื่อคีย์"
|
securityKeyName: "ป้อนชื่อคีย์"
|
||||||
tapSecurityKey: "กรุณาทำตามเบราว์เซอร์ของคุณเพื่อลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
tapSecurityKey: "กรุณาทำตามเบราว์เซอร์ของคุณเพื่อลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
||||||
|
@ -1708,6 +1710,7 @@ _2fa:
|
||||||
renewTOTPConfirm: "วิธีการแบบนี้จะทําให้รหัสยืนยันจากแอพก่อนหน้าของคุณหยุดทํางานเลยนะ"
|
renewTOTPConfirm: "วิธีการแบบนี้จะทําให้รหัสยืนยันจากแอพก่อนหน้าของคุณหยุดทํางานเลยนะ"
|
||||||
renewTOTPOk: "ตั้งค่าคอนฟิกใหม่"
|
renewTOTPOk: "ตั้งค่าคอนฟิกใหม่"
|
||||||
renewTOTPCancel: "ไม่เป็นไร"
|
renewTOTPCancel: "ไม่เป็นไร"
|
||||||
|
backupCodes: "รหัสสำรองข้อมูล"
|
||||||
_permissions:
|
_permissions:
|
||||||
"read:account": "ดูข้อมูลบัญชีของคุณ"
|
"read:account": "ดูข้อมูลบัญชีของคุณ"
|
||||||
"write:account": "แก้ไขข้อมูลบัญชีของคุณ"
|
"write:account": "แก้ไขข้อมูลบัญชีของคุณ"
|
||||||
|
@ -1741,6 +1744,10 @@ _permissions:
|
||||||
"write:gallery": "แก้ไขแกลเลอรี่ของคุณ"
|
"write:gallery": "แก้ไขแกลเลอรี่ของคุณ"
|
||||||
"read:gallery-likes": "ดูรายการโพสต์ในแกลเลอรีที่ชอบของคุณ"
|
"read:gallery-likes": "ดูรายการโพสต์ในแกลเลอรีที่ชอบของคุณ"
|
||||||
"write:gallery-likes": "แก้ไขรายการโพสต์ในแกลเลอรีที่ชอบของคุณ"
|
"write:gallery-likes": "แก้ไขรายการโพสต์ในแกลเลอรีที่ชอบของคุณ"
|
||||||
|
"read:flash": "วิว เพลย์"
|
||||||
|
"write:flash": "แก้ไขเพลย์"
|
||||||
|
"read:flash-likes": "ดูรายชื่อของไลค์ เพลย์"
|
||||||
|
"write:flash-likes": "แก้ไขรายชื่อของไลค์ เพลย์"
|
||||||
_auth:
|
_auth:
|
||||||
shareAccessTitle: "การให้สิทธิ์แอปพลิเคชัน"
|
shareAccessTitle: "การให้สิทธิ์แอปพลิเคชัน"
|
||||||
shareAccess: "คุณต้องการอนุญาตให้ \"{name}\" เข้าถึงบัญชีนี้เลยมั้ย?"
|
shareAccess: "คุณต้องการอนุญาตให้ \"{name}\" เข้าถึงบัญชีนี้เลยมั้ย?"
|
||||||
|
@ -2011,6 +2018,8 @@ _deck:
|
||||||
introduction2: "คลิกที่เครื่องหมาย + ทางขวาของหน้าจอเพื่อเพิ่มคอลัมน์ใหม่ทุกครั้งที่คุณต้องการ"
|
introduction2: "คลิกที่เครื่องหมาย + ทางขวาของหน้าจอเพื่อเพิ่มคอลัมน์ใหม่ทุกครั้งที่คุณต้องการ"
|
||||||
widgetsIntroduction: "กรุณาเลือก \"แก้ไขวิดเจ็ต\" ในเมนูคอลัมน์และเพิ่มวิดเจ็ต"
|
widgetsIntroduction: "กรุณาเลือก \"แก้ไขวิดเจ็ต\" ในเมนูคอลัมน์และเพิ่มวิดเจ็ต"
|
||||||
useSimpleUiForNonRootPages: "แสดง UI ของ Root Page อย่างง่าย "
|
useSimpleUiForNonRootPages: "แสดง UI ของ Root Page อย่างง่าย "
|
||||||
|
usedAsMinWidthWhenFlexible: "ความกว้างขั้นต่ำนั้นจะถูกใช้งานสำหรับสิ่งนี้เมื่อเปิดใช้งานตัวเลือก \"ปรับความกว้างอัตโนมัติ\" หากเลือกเปิดใช้งานแล้ว"
|
||||||
|
flexible: "ปรับความกว้างอัตโนมัติ"
|
||||||
_columns:
|
_columns:
|
||||||
main: "หลัก"
|
main: "หลัก"
|
||||||
widgets: "วิดเจ็ต"
|
widgets: "วิดเจ็ต"
|
||||||
|
|
|
@ -1410,7 +1410,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "Trình duyệt của bạn không hỗ trợ khóa bảo mật"
|
securityKeyNotSupported: "Trình duyệt của bạn không hỗ trợ khóa bảo mật"
|
||||||
registerTOTPBeforeKey: "Vui lòng thiết lập một ứng dụng xác thực để đăng ký khóa bảo mật hoặc mật khẩu."
|
registerTOTPBeforeKey: "Vui lòng thiết lập một ứng dụng xác thực để đăng ký khóa bảo mật hoặc mật khẩu."
|
||||||
securityKeyInfo: "Bên cạnh xác minh bằng vân tay hoặc mã PIN, bạn cũng có thể thiết lập xác minh thông qua khóa bảo mật phần cứng hỗ trợ FIDO2 để bảo mật hơn nữa cho tài khoản của mình."
|
securityKeyInfo: "Bên cạnh xác minh bằng vân tay hoặc mã PIN, bạn cũng có thể thiết lập xác minh thông qua khóa bảo mật phần cứng hỗ trợ FIDO2 để bảo mật hơn nữa cho tài khoản của mình."
|
||||||
chromePasskeyNotSupported: "Mật khẩu Chrome hiện không được hỗ trợ."
|
|
||||||
registerSecurityKey: "Tạo khóa bảo mật hoặc mã bảo mật"
|
registerSecurityKey: "Tạo khóa bảo mật hoặc mã bảo mật"
|
||||||
securityKeyName: "Nhập tên khóa bảo mật"
|
securityKeyName: "Nhập tên khóa bảo mật"
|
||||||
tapSecurityKey: "Vui lòng làm theo hướng dẫn của trình duyệt để đăng ký mã bảo mật hoặc mã khóa"
|
tapSecurityKey: "Vui lòng làm theo hướng dẫn của trình duyệt để đăng ký mã bảo mật hoặc mã khóa"
|
||||||
|
|
|
@ -163,7 +163,7 @@ cacheRemoteSensitiveFilesDescription: "如果禁用这项设定,远程服务
|
||||||
flagAsBot: "这是一个机器人账号"
|
flagAsBot: "这是一个机器人账号"
|
||||||
flagAsBotDescription: "如果此账户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让 Misskey 的内部系统将此账户识别为机器人。"
|
flagAsBotDescription: "如果此账户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让 Misskey 的内部系统将此账户识别为机器人。"
|
||||||
flagAsCat: "喵!!!!!!!!!!!!"
|
flagAsCat: "喵!!!!!!!!!!!!"
|
||||||
flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后,会在您的头像上出现猫耳朵,并将你的帖子中的「na」替换为「nya」,日文同理。"
|
flagAsCatDescription: "喵喵喵??"
|
||||||
flagShowTimelineReplies: "在时间线上显示帖子的回复"
|
flagShowTimelineReplies: "在时间线上显示帖子的回复"
|
||||||
flagShowTimelineRepliesDescription: "启用时,时间线除了显示用户的帖子外,还会显示其他用户对帖子的回复。"
|
flagShowTimelineRepliesDescription: "启用时,时间线除了显示用户的帖子外,还会显示其他用户对帖子的回复。"
|
||||||
autoAcceptFollowed: "自动允许来自我关注的用户对我的关注请求"
|
autoAcceptFollowed: "自动允许来自我关注的用户对我的关注请求"
|
||||||
|
@ -417,6 +417,8 @@ totp: "身份验证应用"
|
||||||
totpDescription: "使用认证应用输入一次性密码。"
|
totpDescription: "使用认证应用输入一次性密码。"
|
||||||
moderator: "监察员"
|
moderator: "监察员"
|
||||||
moderation: "管理"
|
moderation: "管理"
|
||||||
|
moderationNote: "管理笔记"
|
||||||
|
addModerationNote: "添加管理笔记"
|
||||||
nUsersMentioned: "{n} 被提到"
|
nUsersMentioned: "{n} 被提到"
|
||||||
securityKeyAndPasskey: "安全密钥或 Passkey"
|
securityKeyAndPasskey: "安全密钥或 Passkey"
|
||||||
securityKey: "安全密钥"
|
securityKey: "安全密钥"
|
||||||
|
@ -1023,7 +1025,7 @@ retryAllQueuesConfirmText: "可能会使服务器负荷在一定时间内增加"
|
||||||
enableChartsForRemoteUser: "生成远程用户的图表"
|
enableChartsForRemoteUser: "生成远程用户的图表"
|
||||||
enableChartsForFederatedInstances: "生成远程服务器的图表"
|
enableChartsForFederatedInstances: "生成远程服务器的图表"
|
||||||
showClipButtonInNoteFooter: "在贴文下方显示便签按钮"
|
showClipButtonInNoteFooter: "在贴文下方显示便签按钮"
|
||||||
largeNoteReactions: "使用大图标来显示回应"
|
reactionsDisplaySize: "回应显示大小"
|
||||||
noteIdOrUrl: "帖子 ID 或 URL"
|
noteIdOrUrl: "帖子 ID 或 URL"
|
||||||
video: "视频"
|
video: "视频"
|
||||||
videos: "视频"
|
videos: "视频"
|
||||||
|
@ -1105,6 +1107,7 @@ forYou: "您的"
|
||||||
currentAnnouncements: "现在的公告"
|
currentAnnouncements: "现在的公告"
|
||||||
pastAnnouncements: "过去的公告"
|
pastAnnouncements: "过去的公告"
|
||||||
youHaveUnreadAnnouncements: "您有未读的公告"
|
youHaveUnreadAnnouncements: "您有未读的公告"
|
||||||
|
useSecurityKey: "请根据浏览器或设备的提示,使用安全密钥或通行密钥。"
|
||||||
_announcement:
|
_announcement:
|
||||||
forExistingUsers: "仅限现有用户"
|
forExistingUsers: "仅限现有用户"
|
||||||
forExistingUsersDescription: "若启用,该公告将仅对创建此公告时存在的用户可见。 如果禁用,则在创建此公告后注册的用户也可以看到该公告。"
|
forExistingUsersDescription: "若启用,该公告将仅对创建此公告时存在的用户可见。 如果禁用,则在创建此公告后注册的用户也可以看到该公告。"
|
||||||
|
@ -1385,6 +1388,9 @@ _achievements:
|
||||||
title: "Brain Diver"
|
title: "Brain Diver"
|
||||||
description: "发布了包含 Brain Diver 链接的帖子"
|
description: "发布了包含 Brain Diver 链接的帖子"
|
||||||
flavor: "Misskey-Misskey La-Tu-Ma"
|
flavor: "Misskey-Misskey La-Tu-Ma"
|
||||||
|
_smashTestNotificationButton:
|
||||||
|
title: "过度测试"
|
||||||
|
description: "短时间内连续测试通知"
|
||||||
_role:
|
_role:
|
||||||
new: "创建角色"
|
new: "创建角色"
|
||||||
edit: "编辑角色"
|
edit: "编辑角色"
|
||||||
|
@ -1707,7 +1713,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "您的浏览器不支持安全密钥。"
|
securityKeyNotSupported: "您的浏览器不支持安全密钥。"
|
||||||
registerTOTPBeforeKey: "要注册安全密钥或 Passkey,请先设置验证器应用程序。"
|
registerTOTPBeforeKey: "要注册安全密钥或 Passkey,请先设置验证器应用程序。"
|
||||||
securityKeyInfo: "注册兼容 WebAuthn 的密钥,例如支持 FIDO2 的硬件安全密钥、设备上的生物识别功能、PIN 码以及 Passkey 等。"
|
securityKeyInfo: "注册兼容 WebAuthn 的密钥,例如支持 FIDO2 的硬件安全密钥、设备上的生物识别功能、PIN 码以及 Passkey 等。"
|
||||||
chromePasskeyNotSupported: "目前不支持 Chrome 的 Passkey。"
|
|
||||||
registerSecurityKey: "注册安全密钥或 Passkey"
|
registerSecurityKey: "注册安全密钥或 Passkey"
|
||||||
securityKeyName: "输入密钥名称"
|
securityKeyName: "输入密钥名称"
|
||||||
tapSecurityKey: "请按照浏览器说明操作来注册安全密钥或 Passkey。"
|
tapSecurityKey: "请按照浏览器说明操作来注册安全密钥或 Passkey。"
|
||||||
|
@ -1995,6 +2000,10 @@ _notification:
|
||||||
unreadAntennaNote: "天线 {name}"
|
unreadAntennaNote: "天线 {name}"
|
||||||
emptyPushNotificationMessage: "推送通知已更新"
|
emptyPushNotificationMessage: "推送通知已更新"
|
||||||
achievementEarned: "获得成就"
|
achievementEarned: "获得成就"
|
||||||
|
testNotification: "测试通知"
|
||||||
|
checkNotificationBehavior: "检查通知显示"
|
||||||
|
sendTestNotification: "发送测试通知"
|
||||||
|
notificationWillBeDisplayedLikeThis: "通知将会这样表示"
|
||||||
_types:
|
_types:
|
||||||
all: "全部"
|
all: "全部"
|
||||||
follow: "关注中"
|
follow: "关注中"
|
||||||
|
|
|
@ -45,6 +45,7 @@ pin: "置頂"
|
||||||
unpin: "取消置頂"
|
unpin: "取消置頂"
|
||||||
copyContent: "複製內容"
|
copyContent: "複製內容"
|
||||||
copyLink: "複製連結"
|
copyLink: "複製連結"
|
||||||
|
copyLinkRenote: "複製轉貼連結"
|
||||||
delete: "刪除"
|
delete: "刪除"
|
||||||
deleteAndEdit: "刪除並編輯"
|
deleteAndEdit: "刪除並編輯"
|
||||||
deleteAndEditConfirm: "要刪除並再次編輯嗎?此貼文的所有反應、轉發和回覆也將會消失。"
|
deleteAndEditConfirm: "要刪除並再次編輯嗎?此貼文的所有反應、轉發和回覆也將會消失。"
|
||||||
|
@ -416,6 +417,8 @@ totp: "驗證應用程式"
|
||||||
totpDescription: "以驗證應用程式輸入一次性密碼"
|
totpDescription: "以驗證應用程式輸入一次性密碼"
|
||||||
moderator: "審查員"
|
moderator: "審查員"
|
||||||
moderation: "審查"
|
moderation: "審查"
|
||||||
|
moderationNote: "管理筆記"
|
||||||
|
addModerationNote: "新增管理筆記"
|
||||||
nUsersMentioned: "被提及到 {n} 次"
|
nUsersMentioned: "被提及到 {n} 次"
|
||||||
securityKeyAndPasskey: "安全金鑰、Passkey"
|
securityKeyAndPasskey: "安全金鑰、Passkey"
|
||||||
securityKey: "安全金鑰"
|
securityKey: "安全金鑰"
|
||||||
|
@ -655,6 +658,7 @@ behavior: "行為"
|
||||||
sample: "範例"
|
sample: "範例"
|
||||||
abuseReports: "檢舉"
|
abuseReports: "檢舉"
|
||||||
reportAbuse: "檢舉"
|
reportAbuse: "檢舉"
|
||||||
|
reportAbuseRenote: "檢舉轉貼"
|
||||||
reportAbuseOf: "檢舉{name}"
|
reportAbuseOf: "檢舉{name}"
|
||||||
fillAbuseReportDescription: "請填寫檢舉的詳細理由。如有需要,請附上相關 URL。"
|
fillAbuseReportDescription: "請填寫檢舉的詳細理由。如有需要,請附上相關 URL。"
|
||||||
abuseReported: "檢舉完成。感謝您的報告。"
|
abuseReported: "檢舉完成。感謝您的報告。"
|
||||||
|
@ -1021,7 +1025,7 @@ retryAllQueuesConfirmText: "伺服器的負荷可能會暫時增加。"
|
||||||
enableChartsForRemoteUser: "生成遠端使用者的圖表"
|
enableChartsForRemoteUser: "生成遠端使用者的圖表"
|
||||||
enableChartsForFederatedInstances: "生成遠端伺服器的圖表"
|
enableChartsForFederatedInstances: "生成遠端伺服器的圖表"
|
||||||
showClipButtonInNoteFooter: "新增摘錄至貼文"
|
showClipButtonInNoteFooter: "新增摘錄至貼文"
|
||||||
largeNoteReactions: "放大顯示貼文反應"
|
reactionsDisplaySize: "表情回應的顯示尺寸"
|
||||||
noteIdOrUrl: "貼文ID或URL"
|
noteIdOrUrl: "貼文ID或URL"
|
||||||
video: "影片"
|
video: "影片"
|
||||||
videos: "影片"
|
videos: "影片"
|
||||||
|
@ -1103,6 +1107,7 @@ forYou: "給您"
|
||||||
currentAnnouncements: "最新公告"
|
currentAnnouncements: "最新公告"
|
||||||
pastAnnouncements: "歷史公告"
|
pastAnnouncements: "歷史公告"
|
||||||
youHaveUnreadAnnouncements: "有未讀的公告。"
|
youHaveUnreadAnnouncements: "有未讀的公告。"
|
||||||
|
useSecurityKey: "請按照瀏覽器或設備上的說明使用安全金鑰或 Passkey。"
|
||||||
_announcement:
|
_announcement:
|
||||||
forExistingUsers: "僅限既有的使用者"
|
forExistingUsers: "僅限既有的使用者"
|
||||||
forExistingUsersDescription: "啟用代表僅向現存使用者顯示;停用代表張貼後註冊的新使用者也會看到。"
|
forExistingUsersDescription: "啟用代表僅向現存使用者顯示;停用代表張貼後註冊的新使用者也會看到。"
|
||||||
|
@ -1383,6 +1388,9 @@ _achievements:
|
||||||
title: "Brain Driver"
|
title: "Brain Driver"
|
||||||
description: "發佈一篇含歌曲《Brain Driver》連結的貼文"
|
description: "發佈一篇含歌曲《Brain Driver》連結的貼文"
|
||||||
flavor: "Misskey-Misskey La-Tu-Ma"
|
flavor: "Misskey-Misskey La-Tu-Ma"
|
||||||
|
_smashTestNotificationButton:
|
||||||
|
title: "過度測試"
|
||||||
|
description: "極短時間內連續測試通知"
|
||||||
_role:
|
_role:
|
||||||
new: "建立角色"
|
new: "建立角色"
|
||||||
edit: "編輯角色"
|
edit: "編輯角色"
|
||||||
|
@ -1705,7 +1713,6 @@ _2fa:
|
||||||
securityKeyNotSupported: "您的瀏覽器不支援安全金鑰。"
|
securityKeyNotSupported: "您的瀏覽器不支援安全金鑰。"
|
||||||
registerTOTPBeforeKey: "如要註冊安全金鑰或 Passkey,請先設定驗證應用程式。"
|
registerTOTPBeforeKey: "如要註冊安全金鑰或 Passkey,請先設定驗證應用程式。"
|
||||||
securityKeyInfo: "您可以設定使用支援 FIDO2 的硬體安全鎖、終端設備的指紋認證,或者 PIN 碼來登入。"
|
securityKeyInfo: "您可以設定使用支援 FIDO2 的硬體安全鎖、終端設備的指紋認證,或者 PIN 碼來登入。"
|
||||||
chromePasskeyNotSupported: "目前不支援 Chrome 的 Passkey。"
|
|
||||||
registerSecurityKey: "註冊安全金鑰或 Passkey"
|
registerSecurityKey: "註冊安全金鑰或 Passkey"
|
||||||
securityKeyName: "輸入金鑰名稱"
|
securityKeyName: "輸入金鑰名稱"
|
||||||
tapSecurityKey: "按照瀏覽器的說明註冊安全金鑰或 Passkey。"
|
tapSecurityKey: "按照瀏覽器的說明註冊安全金鑰或 Passkey。"
|
||||||
|
@ -1993,6 +2000,10 @@ _notification:
|
||||||
unreadAntennaNote: "天線 {name}"
|
unreadAntennaNote: "天線 {name}"
|
||||||
emptyPushNotificationMessage: "推送通知已更新"
|
emptyPushNotificationMessage: "推送通知已更新"
|
||||||
achievementEarned: "獲得成就"
|
achievementEarned: "獲得成就"
|
||||||
|
testNotification: "通知測試"
|
||||||
|
checkNotificationBehavior: "確認通知的顯示行為"
|
||||||
|
sendTestNotification: "發送測試通知"
|
||||||
|
notificationWillBeDisplayedLikeThis: "通知會以這樣的方式顯示"
|
||||||
_types:
|
_types:
|
||||||
all: "全部 "
|
all: "全部 "
|
||||||
follow: "追隨中"
|
follow: "追隨中"
|
||||||
|
|
20
package.json
20
package.json
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"version": "2023.9.0-beta.5",
|
"version": "2023.9.0-beta.6",
|
||||||
"codename": "nasubi",
|
"codename": "nasubi",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/misskey-dev/misskey.git"
|
"url": "https://github.com/misskey-dev/misskey.git"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@8.7.4",
|
"packageManager": "pnpm@8.7.5",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/frontend",
|
"packages/frontend",
|
||||||
"packages/backend",
|
"packages/backend",
|
||||||
|
@ -18,8 +18,8 @@
|
||||||
"build-assets": "node ./scripts/build-assets.mjs",
|
"build-assets": "node ./scripts/build-assets.mjs",
|
||||||
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
|
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
|
||||||
"build-storybook": "pnpm --filter frontend build-storybook",
|
"build-storybook": "pnpm --filter frontend build-storybook",
|
||||||
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/index.js",
|
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
|
||||||
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/index.js",
|
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
|
||||||
"init": "pnpm migrate",
|
"init": "pnpm migrate",
|
||||||
"migrate": "cd packages/backend && pnpm migrate",
|
"migrate": "cd packages/backend && pnpm migrate",
|
||||||
"check:connect": "cd packages/backend && pnpm check:connect",
|
"check:connect": "cd packages/backend && pnpm check:connect",
|
||||||
|
@ -46,16 +46,16 @@
|
||||||
"execa": "8.0.1",
|
"execa": "8.0.1",
|
||||||
"cssnano": "6.0.1",
|
"cssnano": "6.0.1",
|
||||||
"js-yaml": "4.1.0",
|
"js-yaml": "4.1.0",
|
||||||
"postcss": "8.4.27",
|
"postcss": "8.4.29",
|
||||||
"terser": "5.19.2",
|
"terser": "5.19.4",
|
||||||
"typescript": "5.2.2"
|
"typescript": "5.2.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@typescript-eslint/eslint-plugin": "6.6.0",
|
"@typescript-eslint/eslint-plugin": "6.7.0",
|
||||||
"@typescript-eslint/parser": "6.6.0",
|
"@typescript-eslint/parser": "6.7.0",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"cypress": "13.1.0",
|
"cypress": "13.2.0",
|
||||||
"eslint": "8.48.0",
|
"eslint": "8.49.0",
|
||||||
"start-server-and-test": "2.0.0"
|
"start-server-and-test": "2.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
"decoratorMetadata": true
|
"decoratorMetadata": true
|
||||||
},
|
},
|
||||||
"experimental": {
|
"experimental": {
|
||||||
"keepImportAssertions": true
|
"keepImportAttributes": true
|
||||||
},
|
},
|
||||||
"baseUrl": "src",
|
"baseUrl": "src",
|
||||||
"paths": {
|
"paths": {
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
export class ServerIconsAndManifest1694850832075 {
|
||||||
|
name = 'ServerIconsAndManifest1694850832075'
|
||||||
|
|
||||||
|
async up(queryRunner) {
|
||||||
|
await queryRunner.query(`ALTER TABLE "meta" ADD "app192IconUrl" character varying(1024)`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "meta" ADD "app512IconUrl" character varying(1024)`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "meta" ADD "manifestJsonOverride" character varying(8192) NOT NULL DEFAULT '{}'`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async down(queryRunner) {
|
||||||
|
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "manifestJsonOverride"`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "app512IconUrl"`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "app192IconUrl"`);
|
||||||
|
}
|
||||||
|
}
|
|
@ -56,12 +56,12 @@
|
||||||
"utf-8-validate": "^6.0.3"
|
"utf-8-validate": "^6.0.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "3.400.0",
|
"@aws-sdk/client-s3": "3.412.0",
|
||||||
"@aws-sdk/lib-storage": "3.400.0",
|
"@aws-sdk/lib-storage": "3.412.0",
|
||||||
"@aws-sdk/node-http-handler": "3.374.0",
|
"@smithy/node-http-handler": "2.1.3",
|
||||||
"@bull-board/api": "5.8.1",
|
"@bull-board/api": "5.8.3",
|
||||||
"@bull-board/fastify": "5.8.1",
|
"@bull-board/fastify": "5.8.3",
|
||||||
"@bull-board/ui": "5.8.1",
|
"@bull-board/ui": "5.8.3",
|
||||||
"@discordapp/twemoji": "14.1.2",
|
"@discordapp/twemoji": "14.1.2",
|
||||||
"@fastify/accepts": "4.2.0",
|
"@fastify/accepts": "4.2.0",
|
||||||
"@fastify/cookie": "9.0.4",
|
"@fastify/cookie": "9.0.4",
|
||||||
|
@ -69,16 +69,16 @@
|
||||||
"@fastify/express": "2.3.0",
|
"@fastify/express": "2.3.0",
|
||||||
"@fastify/http-proxy": "9.2.1",
|
"@fastify/http-proxy": "9.2.1",
|
||||||
"@fastify/multipart": "7.7.3",
|
"@fastify/multipart": "7.7.3",
|
||||||
"@fastify/static": "6.11.0",
|
"@fastify/static": "6.11.1",
|
||||||
"@fastify/view": "8.0.0",
|
"@fastify/view": "8.1.0",
|
||||||
"@nestjs/common": "10.2.4",
|
"@nestjs/common": "10.2.5",
|
||||||
"@nestjs/core": "10.2.4",
|
"@nestjs/core": "10.2.5",
|
||||||
"@nestjs/testing": "10.2.4",
|
"@nestjs/testing": "10.2.5",
|
||||||
"@peertube/http-signature": "1.7.0",
|
"@peertube/http-signature": "1.7.0",
|
||||||
"@simplewebauthn/server": "8.1.1",
|
"@simplewebauthn/server": "8.1.1",
|
||||||
"@sinonjs/fake-timers": "11.1.0",
|
"@sinonjs/fake-timers": "11.1.0",
|
||||||
"@swc/cli": "0.1.62",
|
"@swc/cli": "0.1.62",
|
||||||
"@swc/core": "1.3.82",
|
"@swc/core": "1.3.84",
|
||||||
"accepts": "1.3.8",
|
"accepts": "1.3.8",
|
||||||
"ajv": "8.12.0",
|
"ajv": "8.12.0",
|
||||||
"archiver": "6.0.1",
|
"archiver": "6.0.1",
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"blurhash": "2.0.5",
|
"blurhash": "2.0.5",
|
||||||
"body-parser": "1.20.2",
|
"body-parser": "1.20.2",
|
||||||
"bullmq": "4.8.0",
|
"bullmq": "4.10.0",
|
||||||
"cacheable-lookup": "7.0.0",
|
"cacheable-lookup": "7.0.0",
|
||||||
"cbor": "9.0.1",
|
"cbor": "9.0.1",
|
||||||
"chalk": "5.3.0",
|
"chalk": "5.3.0",
|
||||||
|
@ -97,7 +97,7 @@
|
||||||
"content-disposition": "0.5.4",
|
"content-disposition": "0.5.4",
|
||||||
"date-fns": "2.30.0",
|
"date-fns": "2.30.0",
|
||||||
"deep-email-validator": "0.1.21",
|
"deep-email-validator": "0.1.21",
|
||||||
"fastify": "4.22.2",
|
"fastify": "4.23.2",
|
||||||
"feed": "4.2.2",
|
"feed": "4.2.2",
|
||||||
"file-type": "18.5.0",
|
"file-type": "18.5.0",
|
||||||
"fluent-ffmpeg": "2.1.2",
|
"fluent-ffmpeg": "2.1.2",
|
||||||
|
@ -113,18 +113,18 @@
|
||||||
"js-yaml": "4.1.0",
|
"js-yaml": "4.1.0",
|
||||||
"jsdom": "22.1.0",
|
"jsdom": "22.1.0",
|
||||||
"json5": "2.2.3",
|
"json5": "2.2.3",
|
||||||
"jsonld": "8.2.1",
|
"jsonld": "8.3.1",
|
||||||
"jsrsasign": "10.8.6",
|
"jsrsasign": "10.8.6",
|
||||||
"meilisearch": "0.34.1",
|
"meilisearch": "0.34.2",
|
||||||
"mfm-js": "0.23.3",
|
"mfm-js": "0.23.3",
|
||||||
"microformats-parser": "1.4.1",
|
"microformats-parser": "1.5.2",
|
||||||
"mime-types": "2.1.35",
|
"mime-types": "2.1.35",
|
||||||
"misskey-js": "workspace:*",
|
"misskey-js": "workspace:*",
|
||||||
"ms": "3.0.0-canary.1",
|
"ms": "3.0.0-canary.1",
|
||||||
"nanoid": "4.0.2",
|
"nanoid": "5.0.1",
|
||||||
"nested-property": "4.0.0",
|
"nested-property": "4.0.0",
|
||||||
"node-fetch": "3.3.2",
|
"node-fetch": "3.3.2",
|
||||||
"nodemailer": "6.9.4",
|
"nodemailer": "6.9.5",
|
||||||
"nsfwjs": "2.4.2",
|
"nsfwjs": "2.4.2",
|
||||||
"oauth": "0.10.0",
|
"oauth": "0.10.0",
|
||||||
"oauth2orize": "1.11.1",
|
"oauth2orize": "1.11.1",
|
||||||
|
@ -155,7 +155,7 @@
|
||||||
"strict-event-emitter-types": "2.0.0",
|
"strict-event-emitter-types": "2.0.0",
|
||||||
"stringz": "2.1.0",
|
"stringz": "2.1.0",
|
||||||
"summaly": "github:misskey-dev/summaly",
|
"summaly": "github:misskey-dev/summaly",
|
||||||
"systeminformation": "5.21.4",
|
"systeminformation": "5.21.5",
|
||||||
"tinycolor2": "1.6.0",
|
"tinycolor2": "1.6.0",
|
||||||
"tmp": "0.2.1",
|
"tmp": "0.2.1",
|
||||||
"tsc-alias": "1.8.7",
|
"tsc-alias": "1.8.7",
|
||||||
|
@ -165,12 +165,12 @@
|
||||||
"typescript": "5.2.2",
|
"typescript": "5.2.2",
|
||||||
"ulid": "2.3.0",
|
"ulid": "2.3.0",
|
||||||
"vary": "1.1.2",
|
"vary": "1.1.2",
|
||||||
"web-push": "3.6.5",
|
"web-push": "3.6.6",
|
||||||
"ws": "8.13.0",
|
"ws": "8.14.1",
|
||||||
"xev": "3.0.2"
|
"xev": "3.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@jest/globals": "29.6.4",
|
"@jest/globals": "29.7.0",
|
||||||
"@simplewebauthn/typescript-types": "8.0.0",
|
"@simplewebauthn/typescript-types": "8.0.0",
|
||||||
"@swc/jest": "0.2.29",
|
"@swc/jest": "0.2.29",
|
||||||
"@types/accepts": "1.3.5",
|
"@types/accepts": "1.3.5",
|
||||||
|
@ -180,7 +180,7 @@
|
||||||
"@types/cbor": "6.0.0",
|
"@types/cbor": "6.0.0",
|
||||||
"@types/color-convert": "2.0.1",
|
"@types/color-convert": "2.0.1",
|
||||||
"@types/content-disposition": "0.5.6",
|
"@types/content-disposition": "0.5.6",
|
||||||
"@types/fluent-ffmpeg": "2.1.21",
|
"@types/fluent-ffmpeg": "2.1.22",
|
||||||
"@types/http-link-header": "1.0.3",
|
"@types/http-link-header": "1.0.3",
|
||||||
"@types/jest": "29.5.4",
|
"@types/jest": "29.5.4",
|
||||||
"@types/js-yaml": "4.0.5",
|
"@types/js-yaml": "4.0.5",
|
||||||
|
@ -189,9 +189,9 @@
|
||||||
"@types/jsrsasign": "10.5.8",
|
"@types/jsrsasign": "10.5.8",
|
||||||
"@types/mime-types": "2.1.1",
|
"@types/mime-types": "2.1.1",
|
||||||
"@types/ms": "0.7.31",
|
"@types/ms": "0.7.31",
|
||||||
"@types/node": "20.5.9",
|
"@types/node": "20.6.0",
|
||||||
"@types/node-fetch": "3.0.3",
|
"@types/node-fetch": "3.0.3",
|
||||||
"@types/nodemailer": "6.4.9",
|
"@types/nodemailer": "6.4.10",
|
||||||
"@types/oauth": "0.9.2",
|
"@types/oauth": "0.9.2",
|
||||||
"@types/oauth2orize": "1.11.1",
|
"@types/oauth2orize": "1.11.1",
|
||||||
"@types/oauth2orize-pkce": "0.1.0",
|
"@types/oauth2orize-pkce": "0.1.0",
|
||||||
|
@ -203,24 +203,24 @@
|
||||||
"@types/ratelimiter": "3.4.4",
|
"@types/ratelimiter": "3.4.4",
|
||||||
"@types/rename": "1.0.4",
|
"@types/rename": "1.0.4",
|
||||||
"@types/sanitize-html": "2.9.0",
|
"@types/sanitize-html": "2.9.0",
|
||||||
"@types/semver": "7.5.1",
|
"@types/semver": "7.5.2",
|
||||||
"@types/sharp": "0.32.0",
|
"@types/sharp": "0.32.0",
|
||||||
"@types/simple-oauth2": "5.0.4",
|
"@types/simple-oauth2": "5.0.4",
|
||||||
"@types/sinonjs__fake-timers": "8.1.2",
|
"@types/sinonjs__fake-timers": "8.1.2",
|
||||||
"@types/tinycolor2": "1.4.3",
|
"@types/tinycolor2": "1.4.4",
|
||||||
"@types/tmp": "0.2.3",
|
"@types/tmp": "0.2.4",
|
||||||
"@types/vary": "1.1.0",
|
"@types/vary": "1.1.0",
|
||||||
"@types/web-push": "3.6.0",
|
"@types/web-push": "3.6.0",
|
||||||
"@types/ws": "8.5.5",
|
"@types/ws": "8.5.5",
|
||||||
"@typescript-eslint/eslint-plugin": "6.6.0",
|
"@typescript-eslint/eslint-plugin": "6.7.0",
|
||||||
"@typescript-eslint/parser": "6.6.0",
|
"@typescript-eslint/parser": "6.7.0",
|
||||||
"aws-sdk-client-mock": "3.0.0",
|
"aws-sdk-client-mock": "3.0.0",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"eslint": "8.48.0",
|
"eslint": "8.49.0",
|
||||||
"eslint-plugin-import": "2.28.1",
|
"eslint-plugin-import": "2.28.1",
|
||||||
"execa": "8.0.1",
|
"execa": "8.0.1",
|
||||||
"jest": "29.6.4",
|
"jest": "29.7.0",
|
||||||
"jest-mock": "29.6.3",
|
"jest-mock": "29.7.0",
|
||||||
"simple-oauth2": "5.0.0"
|
"simple-oauth2": "5.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import { IsNull, In, MoreThan, Not } from 'typeorm';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
|
import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
|
||||||
import type { BlockingsRepository, FollowingsRepository, InstancesRepository, MutingsRepository, UserListJoiningsRepository, UsersRepository } from '@/models/index.js';
|
import type { BlockingsRepository, FollowingsRepository, InstancesRepository, MutingsRepository, UserListJoiningsRepository, UsersRepository } from '@/models/_.js';
|
||||||
import type { RelationshipJobData, ThinUser } from '@/queue/types.js';
|
import type { RelationshipJobData, ThinUser } from '@/queue/types.js';
|
||||||
|
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { UsersRepository } from '@/models/index.js';
|
import type { UsersRepository } from '@/models/_.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
|
import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
|
||||||
import { RelayService } from '@/core/RelayService.js';
|
import { RelayService } from '@/core/RelayService.js';
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import type { UserProfilesRepository } from '@/models/index.js';
|
import type { UserProfilesRepository } from '@/models/_.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
@ -85,6 +85,7 @@ export const ACHIEVEMENT_TYPES = [
|
||||||
'setNameToSyuilo',
|
'setNameToSyuilo',
|
||||||
'cookieClicked',
|
'cookieClicked',
|
||||||
'brainDiver',
|
'brainDiver',
|
||||||
|
'smashTestNotificationButton',
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { Brackets } from 'typeorm';
|
import { Brackets } from 'typeorm';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { AnnouncementReadsRepository, AnnouncementsRepository, MiAnnouncement, MiAnnouncementRead } from '@/models/index.js';
|
import type { AnnouncementReadsRepository, AnnouncementsRepository, MiAnnouncement, MiAnnouncementRead } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { Packed } from '@/misc/json-schema.js';
|
import { Packed } from '@/misc/json-schema.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
|
|
|
@ -12,7 +12,7 @@ import { GlobalEventService } from '@/core/GlobalEventService.js';
|
||||||
import * as Acct from '@/misc/acct.js';
|
import * as Acct from '@/misc/acct.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { AntennasRepository, UserListJoiningsRepository } from '@/models/index.js';
|
import type { AntennasRepository, UserListJoiningsRepository } from '@/models/_.js';
|
||||||
import { UtilityService } from '@/core/UtilityService.js';
|
import { UtilityService } from '@/core/UtilityService.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { StreamMessages } from '@/server/api/stream/types.js';
|
import { StreamMessages } from '@/server/api/stream/types.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import * as Redis from 'ioredis';
|
import * as Redis from 'ioredis';
|
||||||
import type { BlockingsRepository, ChannelFollowingsRepository, FollowingsRepository, MutingsRepository, RenoteMutingsRepository, MiUserProfile, UserProfilesRepository, UsersRepository } from '@/models/index.js';
|
import type { BlockingsRepository, ChannelFollowingsRepository, FollowingsRepository, MutingsRepository, RenoteMutingsRepository, MiUserProfile, UserProfilesRepository, UsersRepository } from '@/models/_.js';
|
||||||
import { MemoryKVCache, RedisKVCache } from '@/misc/cache.js';
|
import { MemoryKVCache, RedisKVCache } from '@/misc/cache.js';
|
||||||
import type { MiLocalUser, MiUser } from '@/models/entities/User.js';
|
import type { MiLocalUser, MiUser } from '@/models/entities/User.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
|
|
|
@ -12,7 +12,7 @@ import { EmojiEntityService } from '@/core/entities/EmojiEntityService.js';
|
||||||
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
||||||
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
||||||
import type { MiEmoji } from '@/models/entities/Emoji.js';
|
import type { MiEmoji } from '@/models/entities/Emoji.js';
|
||||||
import type { EmojisRepository, MiRole } from '@/models/index.js';
|
import type { EmojisRepository, MiRole } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { MemoryKVCache, RedisSingleCache } from '@/misc/cache.js';
|
import { MemoryKVCache, RedisSingleCache } from '@/misc/cache.js';
|
||||||
import { UtilityService } from '@/core/UtilityService.js';
|
import { UtilityService } from '@/core/UtilityService.js';
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import type { UsersRepository } from '@/models/index.js';
|
import type { UsersRepository } from '@/models/_.js';
|
||||||
import { QueueService } from '@/core/QueueService.js';
|
import { QueueService } from '@/core/QueueService.js';
|
||||||
import { UserSuspendService } from '@/core/UserSuspendService.js';
|
import { UserSuspendService } from '@/core/UserSuspendService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
|
|
|
@ -11,7 +11,7 @@ import { sharpBmp } from 'sharp-read-bmp';
|
||||||
import { IsNull } from 'typeorm';
|
import { IsNull } from 'typeorm';
|
||||||
import { DeleteObjectCommandInput, PutObjectCommandInput, NoSuchKey } from '@aws-sdk/client-s3';
|
import { DeleteObjectCommandInput, PutObjectCommandInput, NoSuchKey } from '@aws-sdk/client-s3';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { DriveFilesRepository, UsersRepository, DriveFoldersRepository, UserProfilesRepository } from '@/models/index.js';
|
import type { DriveFilesRepository, UsersRepository, DriveFoldersRepository, UserProfilesRepository } from '@/models/_.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import Logger from '@/logger.js';
|
import Logger from '@/logger.js';
|
||||||
import type { MiRemoteUser, MiUser } from '@/models/entities/User.js';
|
import type { MiRemoteUser, MiUser } from '@/models/entities/User.js';
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { MetaService } from '@/core/MetaService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import type Logger from '@/logger.js';
|
import type Logger from '@/logger.js';
|
||||||
import type { UserProfilesRepository } from '@/models/index.js';
|
import type { UserProfilesRepository } from '@/models/_.js';
|
||||||
import { LoggerService } from '@/core/LoggerService.js';
|
import { LoggerService } from '@/core/LoggerService.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
||||||
import * as Redis from 'ioredis';
|
import * as Redis from 'ioredis';
|
||||||
import type { InstancesRepository } from '@/models/index.js';
|
import type { InstancesRepository } from '@/models/_.js';
|
||||||
import type { MiInstance } from '@/models/entities/Instance.js';
|
import type { MiInstance } from '@/models/entities/Instance.js';
|
||||||
import { MemoryKVCache, RedisKVCache } from '@/misc/cache.js';
|
import { MemoryKVCache, RedisKVCache } from '@/misc/cache.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
|
|
|
@ -25,7 +25,7 @@ import type { Packed } from '@/misc/json-schema.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { MiRole } from '@/models/index.js';
|
import { MiRole } from '@/models/_.js';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class GlobalEventService {
|
export class GlobalEventService {
|
||||||
|
|
|
@ -9,7 +9,7 @@ import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { normalizeForSearch } from '@/misc/normalize-for-search.js';
|
import { normalizeForSearch } from '@/misc/normalize-for-search.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
import type { MiHashtag } from '@/models/entities/Hashtag.js';
|
import type { MiHashtag } from '@/models/entities/Hashtag.js';
|
||||||
import type { HashtagsRepository } from '@/models/index.js';
|
import type { HashtagsRepository } from '@/models/_.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { IsNull } from 'typeorm';
|
import { IsNull } from 'typeorm';
|
||||||
import type { MiLocalUser } from '@/models/entities/User.js';
|
import type { MiLocalUser } from '@/models/entities/User.js';
|
||||||
import type { UsersRepository } from '@/models/index.js';
|
import type { UsersRepository } from '@/models/_.js';
|
||||||
import { MemorySingleCache } from '@/misc/cache.js';
|
import { MemorySingleCache } from '@/misc/cache.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import { CreateSystemUserService } from '@/core/CreateSystemUserService.js';
|
import { CreateSystemUserService } from '@/core/CreateSystemUserService.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { ModerationLogsRepository } from '@/models/index.js';
|
import type { ModerationLogsRepository } from '@/models/_.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
|
@ -14,7 +14,7 @@ import { extractCustomEmojisFromMfm } from '@/misc/extract-custom-emojis-from-mf
|
||||||
import { extractHashtags } from '@/misc/extract-hashtags.js';
|
import { extractHashtags } from '@/misc/extract-hashtags.js';
|
||||||
import type { IMentionedRemoteUsers } from '@/models/entities/Note.js';
|
import type { IMentionedRemoteUsers } from '@/models/entities/Note.js';
|
||||||
import { MiNote } from '@/models/entities/Note.js';
|
import { MiNote } from '@/models/entities/Note.js';
|
||||||
import type { ChannelsRepository, InstancesRepository, MutedNotesRepository, MutingsRepository, NotesRepository, NoteThreadMutingsRepository, UserProfilesRepository, UsersRepository } from '@/models/index.js';
|
import type { ChannelsRepository, InstancesRepository, MutedNotesRepository, MutingsRepository, NotesRepository, NoteThreadMutingsRepository, UserProfilesRepository, UsersRepository } from '@/models/_.js';
|
||||||
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
||||||
import type { MiApp } from '@/models/entities/App.js';
|
import type { MiApp } from '@/models/entities/App.js';
|
||||||
import { concat } from '@/misc/prelude/array.js';
|
import { concat } from '@/misc/prelude/array.js';
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { Brackets, In } from 'typeorm';
|
||||||
import { Injectable, Inject } from '@nestjs/common';
|
import { Injectable, Inject } from '@nestjs/common';
|
||||||
import type { MiUser, MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
|
import type { MiUser, MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
|
||||||
import type { MiNote, IMentionedRemoteUsers } from '@/models/entities/Note.js';
|
import type { MiNote, IMentionedRemoteUsers } from '@/models/entities/Note.js';
|
||||||
import type { InstancesRepository, NotesRepository, UsersRepository } from '@/models/index.js';
|
import type { InstancesRepository, NotesRepository, UsersRepository } from '@/models/_.js';
|
||||||
import { RelayService } from '@/core/RelayService.js';
|
import { RelayService } from '@/core/RelayService.js';
|
||||||
import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
|
import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { NotesRepository, UserNotePiningsRepository, UsersRepository } from '@/models/index.js';
|
import type { NotesRepository, UserNotePiningsRepository, UsersRepository } from '@/models/_.js';
|
||||||
import { IdentifiableError } from '@/misc/identifiable-error.js';
|
import { IdentifiableError } from '@/misc/identifiable-error.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { MiNote } from '@/models/entities/Note.js';
|
import type { MiNote } from '@/models/entities/Note.js';
|
||||||
|
|
|
@ -12,7 +12,7 @@ import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { MiNote } from '@/models/entities/Note.js';
|
import type { MiNote } from '@/models/entities/Note.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
||||||
import type { NoteUnreadsRepository, MutingsRepository, NoteThreadMutingsRepository } from '@/models/index.js';
|
import type { NoteUnreadsRepository, MutingsRepository, NoteThreadMutingsRepository } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -8,7 +8,7 @@ import * as Redis from 'ioredis';
|
||||||
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
||||||
import { In } from 'typeorm';
|
import { In } from 'typeorm';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { UsersRepository } from '@/models/index.js';
|
import type { UsersRepository } from '@/models/_.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { MiNotification } from '@/models/entities/Notification.js';
|
import type { MiNotification } from '@/models/entities/Notification.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { NotesRepository, UsersRepository, PollsRepository, PollVotesRepository, MiUser } from '@/models/index.js';
|
import type { NotesRepository, UsersRepository, PollsRepository, PollVotesRepository, MiUser } from '@/models/_.js';
|
||||||
import type { MiNote } from '@/models/entities/Note.js';
|
import type { MiNote } from '@/models/entities/Note.js';
|
||||||
import { RelayService } from '@/core/RelayService.js';
|
import { RelayService } from '@/core/RelayService.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import type { UsersRepository } from '@/models/index.js';
|
import type { UsersRepository } from '@/models/_.js';
|
||||||
import type { MiLocalUser } from '@/models/entities/User.js';
|
import type { MiLocalUser } from '@/models/entities/User.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import { MetaService } from '@/core/MetaService.js';
|
import { MetaService } from '@/core/MetaService.js';
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { DI } from '@/di-symbols.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import { getNoteSummary } from '@/misc/get-note-summary.js';
|
import { getNoteSummary } from '@/misc/get-note-summary.js';
|
||||||
import type { MiSwSubscription, SwSubscriptionsRepository } from '@/models/index.js';
|
import type { MiSwSubscription, SwSubscriptionsRepository } from '@/models/_.js';
|
||||||
import { MetaService } from '@/core/MetaService.js';
|
import { MetaService } from '@/core/MetaService.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { RedisKVCache } from '@/misc/cache.js';
|
import { RedisKVCache } from '@/misc/cache.js';
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { Brackets, ObjectLiteral } from 'typeorm';
|
import { Brackets, ObjectLiteral } from 'typeorm';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { UserProfilesRepository, FollowingsRepository, ChannelFollowingsRepository, MutedNotesRepository, BlockingsRepository, NoteThreadMutingsRepository, MutingsRepository, RenoteMutingsRepository } from '@/models/index.js';
|
import type { UserProfilesRepository, FollowingsRepository, ChannelFollowingsRepository, MutedNotesRepository, BlockingsRepository, NoteThreadMutingsRepository, MutingsRepository, RenoteMutingsRepository } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import type { SelectQueryBuilder } from 'typeorm';
|
import type { SelectQueryBuilder } from 'typeorm';
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { EmojisRepository, NoteReactionsRepository, UsersRepository, NotesRepository } from '@/models/index.js';
|
import type { EmojisRepository, NoteReactionsRepository, UsersRepository, NotesRepository } from '@/models/_.js';
|
||||||
import { IdentifiableError } from '@/misc/identifiable-error.js';
|
import { IdentifiableError } from '@/misc/identifiable-error.js';
|
||||||
import type { MiRemoteUser, MiUser } from '@/models/entities/User.js';
|
import type { MiRemoteUser, MiUser } from '@/models/entities/User.js';
|
||||||
import type { MiNote } from '@/models/entities/Note.js';
|
import type { MiNote } from '@/models/entities/Note.js';
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { IsNull } from 'typeorm';
|
import { IsNull } from 'typeorm';
|
||||||
import type { MiLocalUser, MiUser } from '@/models/entities/User.js';
|
import type { MiLocalUser, MiUser } from '@/models/entities/User.js';
|
||||||
import type { RelaysRepository, UsersRepository } from '@/models/index.js';
|
import type { RelaysRepository, UsersRepository } from '@/models/_.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
import { MemorySingleCache } from '@/misc/cache.js';
|
import { MemorySingleCache } from '@/misc/cache.js';
|
||||||
import type { MiRelay } from '@/models/entities/Relay.js';
|
import type { MiRelay } from '@/models/entities/Relay.js';
|
||||||
|
|
|
@ -8,7 +8,7 @@ import { Inject, Injectable } from '@nestjs/common';
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import { IsNull } from 'typeorm';
|
import { IsNull } from 'typeorm';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { UsersRepository } from '@/models/index.js';
|
import type { UsersRepository } from '@/models/_.js';
|
||||||
import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
|
import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import type Logger from '@/logger.js';
|
import type Logger from '@/logger.js';
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import * as Redis from 'ioredis';
|
import * as Redis from 'ioredis';
|
||||||
import { In } from 'typeorm';
|
import { In } from 'typeorm';
|
||||||
import type { MiRole, MiRoleAssignment, RoleAssignmentsRepository, RolesRepository, UsersRepository } from '@/models/index.js';
|
import type { MiRole, MiRoleAssignment, RoleAssignmentsRepository, RolesRepository, UsersRepository } from '@/models/_.js';
|
||||||
import { MemoryKVCache, MemorySingleCache } from '@/misc/cache.js';
|
import { MemoryKVCache, MemorySingleCache } from '@/misc/cache.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
|
|
|
@ -9,7 +9,7 @@ import * as https from 'node:https';
|
||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
import { DeleteObjectCommand, S3Client } from '@aws-sdk/client-s3';
|
import { DeleteObjectCommand, S3Client } from '@aws-sdk/client-s3';
|
||||||
import { Upload } from '@aws-sdk/lib-storage';
|
import { Upload } from '@aws-sdk/lib-storage';
|
||||||
import { NodeHttpHandler, NodeHttpHandlerOptions } from '@aws-sdk/node-http-handler';
|
import { NodeHttpHandler, NodeHttpHandlerOptions } from '@smithy/node-http-handler';
|
||||||
import type { MiMeta } from '@/models/entities/Meta.js';
|
import type { MiMeta } from '@/models/entities/Meta.js';
|
||||||
import { HttpRequestService } from '@/core/HttpRequestService.js';
|
import { HttpRequestService } from '@/core/HttpRequestService.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
|
@ -9,8 +9,8 @@ import { DI } from '@/di-symbols.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { MiNote } from '@/models/entities/Note.js';
|
import { MiNote } from '@/models/entities/Note.js';
|
||||||
import { MiUser } from '@/models/index.js';
|
import { MiUser } from '@/models/_.js';
|
||||||
import type { NotesRepository } from '@/models/index.js';
|
import type { NotesRepository } from '@/models/_.js';
|
||||||
import { sqlLikeEscape } from '@/misc/sql-like-escape.js';
|
import { sqlLikeEscape } from '@/misc/sql-like-escape.js';
|
||||||
import { QueryService } from '@/core/QueryService.js';
|
import { QueryService } from '@/core/QueryService.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
|
|
|
@ -8,7 +8,7 @@ import { Inject, Injectable } from '@nestjs/common';
|
||||||
import bcrypt from 'bcryptjs';
|
import bcrypt from 'bcryptjs';
|
||||||
import { DataSource, IsNull } from 'typeorm';
|
import { DataSource, IsNull } from 'typeorm';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { UsedUsernamesRepository, UsersRepository } from '@/models/index.js';
|
import type { UsedUsernamesRepository, UsersRepository } from '@/models/_.js';
|
||||||
import { MiUser } from '@/models/entities/User.js';
|
import { MiUser } from '@/models/entities/User.js';
|
||||||
import { MiUserProfile } from '@/models/entities/UserProfile.js';
|
import { MiUserProfile } from '@/models/entities/UserProfile.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
|
|
|
@ -11,7 +11,7 @@ import type { MiBlocking } from '@/models/entities/Blocking.js';
|
||||||
import { QueueService } from '@/core/QueueService.js';
|
import { QueueService } from '@/core/QueueService.js';
|
||||||
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { FollowRequestsRepository, BlockingsRepository, UserListsRepository, UserListJoiningsRepository } from '@/models/index.js';
|
import type { FollowRequestsRepository, BlockingsRepository, UserListsRepository, UserListJoiningsRepository } from '@/models/_.js';
|
||||||
import Logger from '@/logger.js';
|
import Logger from '@/logger.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
|
import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
|
||||||
|
|
|
@ -19,7 +19,7 @@ import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
|
||||||
import { WebhookService } from '@/core/WebhookService.js';
|
import { WebhookService } from '@/core/WebhookService.js';
|
||||||
import { NotificationService } from '@/core/NotificationService.js';
|
import { NotificationService } from '@/core/NotificationService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { FollowingsRepository, FollowRequestsRepository, InstancesRepository, UserProfilesRepository, UsersRepository } from '@/models/index.js';
|
import type { FollowingsRepository, FollowRequestsRepository, InstancesRepository, UserProfilesRepository, UsersRepository } from '@/models/_.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
|
import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
||||||
import * as Redis from 'ioredis';
|
import * as Redis from 'ioredis';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { UserKeypairsRepository } from '@/models/index.js';
|
import type { UserKeypairsRepository } from '@/models/_.js';
|
||||||
import { RedisKVCache } from '@/misc/cache.js';
|
import { RedisKVCache } from '@/misc/cache.js';
|
||||||
import type { MiUserKeypair } from '@/models/entities/UserKeypair.js';
|
import type { MiUserKeypair } from '@/models/entities/UserKeypair.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import type { UserListJoiningsRepository } from '@/models/index.js';
|
import type { UserListJoiningsRepository } from '@/models/_.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { MiUserList } from '@/models/entities/UserList.js';
|
import type { MiUserList } from '@/models/entities/UserList.js';
|
||||||
import type { MiUserListJoining } from '@/models/entities/UserListJoining.js';
|
import type { MiUserListJoining } from '@/models/entities/UserListJoining.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { In } from 'typeorm';
|
import { In } from 'typeorm';
|
||||||
import type { MutingsRepository, MiMuting } from '@/models/index.js';
|
import type { MutingsRepository, MiMuting } from '@/models/_.js';
|
||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { Not, IsNull } from 'typeorm';
|
import { Not, IsNull } from 'typeorm';
|
||||||
import type { FollowingsRepository } from '@/models/index.js';
|
import type { FollowingsRepository } from '@/models/_.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { QueueService } from '@/core/QueueService.js';
|
import { QueueService } from '@/core/QueueService.js';
|
||||||
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
import { GlobalEventService } from '@/core/GlobalEventService.js';
|
||||||
|
|
|
@ -12,11 +12,11 @@ import {
|
||||||
} from '@simplewebauthn/server';
|
} from '@simplewebauthn/server';
|
||||||
import { AttestationFormat, isoCBOR } from '@simplewebauthn/server/helpers';
|
import { AttestationFormat, isoCBOR } from '@simplewebauthn/server/helpers';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { UserSecurityKeysRepository } from '@/models/index.js';
|
import type { UserSecurityKeysRepository } from '@/models/_.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { MetaService } from '@/core/MetaService.js';
|
import { MetaService } from '@/core/MetaService.js';
|
||||||
import { MiUser } from '@/models/index.js';
|
import { MiUser } from '@/models/_.js';
|
||||||
import { IdentifiableError } from '@/misc/identifiable-error.js';
|
import { IdentifiableError } from '@/misc/identifiable-error.js';
|
||||||
import type {
|
import type {
|
||||||
AuthenticationResponseJSON,
|
AuthenticationResponseJSON,
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import * as Redis from 'ioredis';
|
import * as Redis from 'ioredis';
|
||||||
import type { WebhooksRepository } from '@/models/index.js';
|
import type { WebhooksRepository } from '@/models/_.js';
|
||||||
import type { MiWebhook } from '@/models/entities/Webhook.js';
|
import type { MiWebhook } from '@/models/entities/Webhook.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { NotesRepository, UserPublickeysRepository, UsersRepository } from '@/models/index.js';
|
import type { NotesRepository, UserPublickeysRepository, UsersRepository } from '@/models/_.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import { MemoryKVCache } from '@/misc/cache.js';
|
import { MemoryKVCache } from '@/misc/cache.js';
|
||||||
import type { MiUserPublickey } from '@/models/entities/UserPublickey.js';
|
import type { MiUserPublickey } from '@/models/entities/UserPublickey.js';
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { IsNull, Not } from 'typeorm';
|
import { IsNull, Not } from 'typeorm';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { FollowingsRepository } from '@/models/index.js';
|
import type { FollowingsRepository } from '@/models/_.js';
|
||||||
import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
|
import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
|
||||||
import { QueueService } from '@/core/QueueService.js';
|
import { QueueService } from '@/core/QueueService.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
|
|
|
@ -24,7 +24,7 @@ import { UtilityService } from '@/core/UtilityService.js';
|
||||||
import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
|
import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
import { QueueService } from '@/core/QueueService.js';
|
import { QueueService } from '@/core/QueueService.js';
|
||||||
import type { UsersRepository, NotesRepository, FollowingsRepository, AbuseUserReportsRepository, FollowRequestsRepository } from '@/models/index.js';
|
import type { UsersRepository, NotesRepository, FollowingsRepository, AbuseUserReportsRepository, FollowRequestsRepository } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import type { MiRemoteUser } from '@/models/entities/User.js';
|
import type { MiRemoteUser } from '@/models/entities/User.js';
|
||||||
import { getApHrefNullable, getApId, getApIds, getApType, isAccept, isActor, isAdd, isAnnounce, isBlock, isCollection, isCollectionOrOrderedCollection, isCreate, isDelete, isFlag, isFollow, isLike, isMove, isOrderedCollectionPage, isPost, isReject, isRemove, isTombstone, isUndo, isUpdate, validActor, validPost } from './type.js';
|
import { getApHrefNullable, getApId, getApIds, getApType, isAccept, isActor, isAdd, isAnnounce, isBlock, isCollection, isCollectionOrOrderedCollection, isCreate, isDelete, isFlag, isFollow, isLike, isMove, isOrderedCollectionPage, isPost, isReject, isRemove, isTombstone, isUndo, isUpdate, validActor, validPost } from './type.js';
|
||||||
|
|
|
@ -23,7 +23,7 @@ import { MfmService } from '@/core/MfmService.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
|
import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
|
||||||
import type { MiUserKeypair } from '@/models/entities/UserKeypair.js';
|
import type { MiUserKeypair } from '@/models/entities/UserKeypair.js';
|
||||||
import type { UsersRepository, UserProfilesRepository, NotesRepository, DriveFilesRepository, PollsRepository } from '@/models/index.js';
|
import type { UsersRepository, UserProfilesRepository, NotesRepository, DriveFilesRepository, PollsRepository } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { CustomEmojiService } from '@/core/CustomEmojiService.js';
|
import { CustomEmojiService } from '@/core/CustomEmojiService.js';
|
||||||
import { isNotNull } from '@/misc/is-not-null.js';
|
import { isNotNull } from '@/misc/is-not-null.js';
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
|
import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
|
||||||
import { InstanceActorService } from '@/core/InstanceActorService.js';
|
import { InstanceActorService } from '@/core/InstanceActorService.js';
|
||||||
import type { NotesRepository, PollsRepository, NoteReactionsRepository, UsersRepository } from '@/models/index.js';
|
import type { NotesRepository, PollsRepository, NoteReactionsRepository, UsersRepository } from '@/models/_.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import { MetaService } from '@/core/MetaService.js';
|
import { MetaService } from '@/core/MetaService.js';
|
||||||
import { HttpRequestService } from '@/core/HttpRequestService.js';
|
import { HttpRequestService } from '@/core/HttpRequestService.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { DriveFilesRepository } from '@/models/index.js';
|
import type { DriveFilesRepository } from '@/models/_.js';
|
||||||
import type { MiRemoteUser } from '@/models/entities/User.js';
|
import type { MiRemoteUser } from '@/models/entities/User.js';
|
||||||
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
||||||
import { MetaService } from '@/core/MetaService.js';
|
import { MetaService } from '@/core/MetaService.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
import promiseLimit from 'promise-limit';
|
import promiseLimit from 'promise-limit';
|
||||||
import type { MiUser } from '@/models/index.js';
|
import type { MiUser } from '@/models/_.js';
|
||||||
import { toArray, unique } from '@/misc/prelude/array.js';
|
import { toArray, unique } from '@/misc/prelude/array.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import { isMention } from '../type.js';
|
import { isMention } from '../type.js';
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { forwardRef, Inject, Injectable } from '@nestjs/common';
|
||||||
import promiseLimit from 'promise-limit';
|
import promiseLimit from 'promise-limit';
|
||||||
import { In } from 'typeorm';
|
import { In } from 'typeorm';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { PollsRepository, EmojisRepository } from '@/models/index.js';
|
import type { PollsRepository, EmojisRepository } from '@/models/_.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import type { MiRemoteUser } from '@/models/entities/User.js';
|
import type { MiRemoteUser } from '@/models/entities/User.js';
|
||||||
import type { MiNote } from '@/models/entities/Note.js';
|
import type { MiNote } from '@/models/entities/Note.js';
|
||||||
|
|
|
@ -8,7 +8,7 @@ import promiseLimit from 'promise-limit';
|
||||||
import { DataSource } from 'typeorm';
|
import { DataSource } from 'typeorm';
|
||||||
import { ModuleRef } from '@nestjs/core';
|
import { ModuleRef } from '@nestjs/core';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { FollowingsRepository, InstancesRepository, UserProfilesRepository, UserPublickeysRepository, UsersRepository } from '@/models/index.js';
|
import type { FollowingsRepository, InstancesRepository, UserProfilesRepository, UserPublickeysRepository, UsersRepository } from '@/models/_.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
|
import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
|
||||||
import { MiUser } from '@/models/entities/User.js';
|
import { MiUser } from '@/models/entities/User.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { NotesRepository, PollsRepository } from '@/models/index.js';
|
import type { NotesRepository, PollsRepository } from '@/models/_.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import type { IPoll } from '@/models/entities/Poll.js';
|
import type { IPoll } from '@/models/entities/Poll.js';
|
||||||
import type Logger from '@/logger.js';
|
import type Logger from '@/logger.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Injectable, Inject } from '@nestjs/common';
|
import { Injectable, Inject } from '@nestjs/common';
|
||||||
import { DataSource } from 'typeorm';
|
import { DataSource } from 'typeorm';
|
||||||
import type { FollowingsRepository, InstancesRepository } from '@/models/index.js';
|
import type { FollowingsRepository, InstancesRepository } from '@/models/_.js';
|
||||||
import { AppLockService } from '@/core/AppLockService.js';
|
import { AppLockService } from '@/core/AppLockService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import { MetaService } from '@/core/MetaService.js';
|
import { MetaService } from '@/core/MetaService.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Injectable, Inject } from '@nestjs/common';
|
import { Injectable, Inject } from '@nestjs/common';
|
||||||
import { DataSource } from 'typeorm';
|
import { DataSource } from 'typeorm';
|
||||||
import type { DriveFilesRepository, FollowingsRepository, UsersRepository, NotesRepository } from '@/models/index.js';
|
import type { DriveFilesRepository, FollowingsRepository, UsersRepository, NotesRepository } from '@/models/_.js';
|
||||||
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
||||||
import type { MiNote } from '@/models/entities/Note.js';
|
import type { MiNote } from '@/models/entities/Note.js';
|
||||||
import { AppLockService } from '@/core/AppLockService.js';
|
import { AppLockService } from '@/core/AppLockService.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Injectable, Inject } from '@nestjs/common';
|
import { Injectable, Inject } from '@nestjs/common';
|
||||||
import { Not, IsNull, DataSource } from 'typeorm';
|
import { Not, IsNull, DataSource } from 'typeorm';
|
||||||
import type { NotesRepository } from '@/models/index.js';
|
import type { NotesRepository } from '@/models/_.js';
|
||||||
import type { MiNote } from '@/models/entities/Note.js';
|
import type { MiNote } from '@/models/entities/Note.js';
|
||||||
import { AppLockService } from '@/core/AppLockService.js';
|
import { AppLockService } from '@/core/AppLockService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Injectable, Inject } from '@nestjs/common';
|
import { Injectable, Inject } from '@nestjs/common';
|
||||||
import { DataSource } from 'typeorm';
|
import { DataSource } from 'typeorm';
|
||||||
import type { DriveFilesRepository } from '@/models/index.js';
|
import type { DriveFilesRepository } from '@/models/_.js';
|
||||||
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
import type { MiDriveFile } from '@/models/entities/DriveFile.js';
|
||||||
import { AppLockService } from '@/core/AppLockService.js';
|
import { AppLockService } from '@/core/AppLockService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
|
|
|
@ -9,7 +9,7 @@ import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { AppLockService } from '@/core/AppLockService.js';
|
import { AppLockService } from '@/core/AppLockService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
import type { FollowingsRepository } from '@/models/index.js';
|
import type { FollowingsRepository } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import Chart from '../core.js';
|
import Chart from '../core.js';
|
||||||
import { ChartLoggerService } from '../ChartLoggerService.js';
|
import { ChartLoggerService } from '../ChartLoggerService.js';
|
||||||
|
|
|
@ -9,7 +9,7 @@ import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { MiNote } from '@/models/entities/Note.js';
|
import type { MiNote } from '@/models/entities/Note.js';
|
||||||
import { AppLockService } from '@/core/AppLockService.js';
|
import { AppLockService } from '@/core/AppLockService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { NotesRepository } from '@/models/index.js';
|
import type { NotesRepository } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import Chart from '../core.js';
|
import Chart from '../core.js';
|
||||||
import { ChartLoggerService } from '../ChartLoggerService.js';
|
import { ChartLoggerService } from '../ChartLoggerService.js';
|
||||||
|
|
|
@ -9,7 +9,7 @@ import type { MiUser } from '@/models/entities/User.js';
|
||||||
import { AppLockService } from '@/core/AppLockService.js';
|
import { AppLockService } from '@/core/AppLockService.js';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||||
import type { UsersRepository } from '@/models/index.js';
|
import type { UsersRepository } from '@/models/_.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import Chart from '../core.js';
|
import Chart from '../core.js';
|
||||||
import { ChartLoggerService } from '../ChartLoggerService.js';
|
import { ChartLoggerService } from '../ChartLoggerService.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { AbuseUserReportsRepository } from '@/models/index.js';
|
import type { AbuseUserReportsRepository } from '@/models/_.js';
|
||||||
import { awaitAll } from '@/misc/prelude/await-all.js';
|
import { awaitAll } from '@/misc/prelude/await-all.js';
|
||||||
import type { MiAbuseUserReport } from '@/models/entities/AbuseUserReport.js';
|
import type { MiAbuseUserReport } from '@/models/entities/AbuseUserReport.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { AntennasRepository } from '@/models/index.js';
|
import type { AntennasRepository } from '@/models/_.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { MiAntenna } from '@/models/entities/Antenna.js';
|
import type { MiAntenna } from '@/models/entities/Antenna.js';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { AccessTokensRepository, AppsRepository } from '@/models/index.js';
|
import type { AccessTokensRepository, AppsRepository } from '@/models/_.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { MiApp } from '@/models/entities/App.js';
|
import type { MiApp } from '@/models/entities/App.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { AuthSessionsRepository } from '@/models/index.js';
|
import type { AuthSessionsRepository } from '@/models/_.js';
|
||||||
import { awaitAll } from '@/misc/prelude/await-all.js';
|
import { awaitAll } from '@/misc/prelude/await-all.js';
|
||||||
import type { MiAuthSession } from '@/models/entities/AuthSession.js';
|
import type { MiAuthSession } from '@/models/entities/AuthSession.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { BlockingsRepository } from '@/models/index.js';
|
import type { BlockingsRepository } from '@/models/_.js';
|
||||||
import { awaitAll } from '@/misc/prelude/await-all.js';
|
import { awaitAll } from '@/misc/prelude/await-all.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { MiBlocking } from '@/models/entities/Blocking.js';
|
import type { MiBlocking } from '@/models/entities/Blocking.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { ChannelFavoritesRepository, ChannelFollowingsRepository, ChannelsRepository, DriveFilesRepository, NoteUnreadsRepository, NotesRepository } from '@/models/index.js';
|
import type { ChannelFavoritesRepository, ChannelFollowingsRepository, ChannelsRepository, DriveFilesRepository, NoteUnreadsRepository, NotesRepository } from '@/models/_.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { } from '@/models/entities/Blocking.js';
|
import type { } from '@/models/entities/Blocking.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { ClipFavoritesRepository, ClipsRepository, MiUser } from '@/models/index.js';
|
import type { ClipFavoritesRepository, ClipsRepository, MiUser } from '@/models/_.js';
|
||||||
import { awaitAll } from '@/misc/prelude/await-all.js';
|
import { awaitAll } from '@/misc/prelude/await-all.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { } from '@/models/entities/Blocking.js';
|
import type { } from '@/models/entities/Blocking.js';
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
import { forwardRef, Inject, Injectable } from '@nestjs/common';
|
import { forwardRef, Inject, Injectable } from '@nestjs/common';
|
||||||
import { In } from 'typeorm';
|
import { In } from 'typeorm';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { DriveFilesRepository } from '@/models/index.js';
|
import type { DriveFilesRepository } from '@/models/_.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import { awaitAll } from '@/misc/prelude/await-all.js';
|
import { awaitAll } from '@/misc/prelude/await-all.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { DriveFilesRepository, DriveFoldersRepository } from '@/models/index.js';
|
import type { DriveFilesRepository, DriveFoldersRepository } from '@/models/_.js';
|
||||||
import { awaitAll } from '@/misc/prelude/await-all.js';
|
import { awaitAll } from '@/misc/prelude/await-all.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { } from '@/models/entities/Blocking.js';
|
import type { } from '@/models/entities/Blocking.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { EmojisRepository } from '@/models/index.js';
|
import type { EmojisRepository } from '@/models/_.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { } from '@/models/entities/Blocking.js';
|
import type { } from '@/models/entities/Blocking.js';
|
||||||
import type { MiEmoji } from '@/models/entities/Emoji.js';
|
import type { MiEmoji } from '@/models/entities/Emoji.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { FlashsRepository, FlashLikesRepository } from '@/models/index.js';
|
import type { FlashsRepository, FlashLikesRepository } from '@/models/_.js';
|
||||||
import { awaitAll } from '@/misc/prelude/await-all.js';
|
import { awaitAll } from '@/misc/prelude/await-all.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { } from '@/models/entities/Blocking.js';
|
import type { } from '@/models/entities/Blocking.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { FlashLikesRepository } from '@/models/index.js';
|
import type { FlashLikesRepository } from '@/models/_.js';
|
||||||
import type { } from '@/models/entities/Blocking.js';
|
import type { } from '@/models/entities/Blocking.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { MiFlashLike } from '@/models/entities/FlashLike.js';
|
import type { MiFlashLike } from '@/models/entities/FlashLike.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { FollowRequestsRepository } from '@/models/index.js';
|
import type { FollowRequestsRepository } from '@/models/_.js';
|
||||||
import type { } from '@/models/entities/Blocking.js';
|
import type { } from '@/models/entities/Blocking.js';
|
||||||
import type { MiUser } from '@/models/entities/User.js';
|
import type { MiUser } from '@/models/entities/User.js';
|
||||||
import type { MiFollowRequest } from '@/models/entities/FollowRequest.js';
|
import type { MiFollowRequest } from '@/models/entities/FollowRequest.js';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { DI } from '@/di-symbols.js';
|
import { DI } from '@/di-symbols.js';
|
||||||
import type { FollowingsRepository } from '@/models/index.js';
|
import type { FollowingsRepository } from '@/models/_.js';
|
||||||
import { awaitAll } from '@/misc/prelude/await-all.js';
|
import { awaitAll } from '@/misc/prelude/await-all.js';
|
||||||
import type { Packed } from '@/misc/json-schema.js';
|
import type { Packed } from '@/misc/json-schema.js';
|
||||||
import type { } from '@/models/entities/Blocking.js';
|
import type { } from '@/models/entities/Blocking.js';
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue