Compare commits
3 Commits
440a4a4d8b
...
ea9d85a0cc
Author | SHA1 | Date |
---|---|---|
|
ea9d85a0cc | |
|
96b21484db | |
|
cab82452ec |
|
@ -11,6 +11,8 @@
|
|||
- 過去自分が送ったメッセージ・自分に送られたメッセージの検索が可能です
|
||||
- 参加中のルームをミュートして通知が来ないように設定可能です
|
||||
- メッセージにはリアクションも可能です
|
||||
- Feat: アカウントのマイグレーション時に古いアカウントからロールをコピーできるようになりました。
|
||||
- 管理者がロールの設定でマイグレーション時にコピーするかを指定できるようになります。
|
||||
- Enhance: セキュリティを強化するため、ジョブキューのダッシュボード(bull-board)統合が削除されました。
|
||||
- Misskeyネイティブでダッシュボードを実装予定です
|
||||
- Enhance: フロントエンドのエラートラッキングができるように
|
||||
|
|
|
@ -1240,7 +1240,6 @@ _theme:
|
|||
shadow: "الظل"
|
||||
navBg: "خلفية الشريط الجانبي"
|
||||
navFg: "نص الشريط الجانبي"
|
||||
navHoverFg: "نص الشريط الجانبي (عند التمرير فوقه)"
|
||||
link: "رابط"
|
||||
hashtag: "وسم"
|
||||
mention: "أشر الى"
|
||||
|
|
|
@ -998,7 +998,6 @@ _theme:
|
|||
header: "হেডার"
|
||||
navBg: "সাইডবারের পটভূমি"
|
||||
navFg: "সাইডবারের পাঠ্য"
|
||||
navHoverFg: "সাইডবারের পাঠ্য (হভার)"
|
||||
navActive: "সাইডবারের পাঠ্য (অ্যাকটিভ)"
|
||||
navIndicator: "সাইডবারের ইনডিকেটর"
|
||||
link: "লিংক"
|
||||
|
@ -1021,11 +1020,8 @@ _theme:
|
|||
buttonHoverBg: "বাটনের পটভূমি (হভার)"
|
||||
inputBorder: "ইনপুট ফিল্ডের বর্ডার"
|
||||
driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি"
|
||||
wallpaperOverlay: "ওয়ালপেপার ওভারলে"
|
||||
badge: "ব্যাজ"
|
||||
messageBg: "চ্যাটের পটভূমি"
|
||||
accentDarken: "অ্যাকসেন্ট (গাঢ়)"
|
||||
accentLighten: "অ্যাকসেন্ট (হাল্কা)"
|
||||
fgHighlighted: "হাইলাইট করা পাঠ্য"
|
||||
_sfx:
|
||||
note: "নোটগুলি"
|
||||
|
|
|
@ -424,6 +424,7 @@ antennaExcludeBots: "Exclou els bots"
|
|||
antennaKeywordsDescription: "Separar amb espais per la condició AND o amb salts de línia per la condició OR."
|
||||
notifyAntenna: "Notifica'm les publicacions noves"
|
||||
withFileAntenna: "Només les publicacions amb fitxers"
|
||||
hideNotesInSensitiveChannel: "Amaga les notes a canals sensibles "
|
||||
enableServiceworker: "Activar les notificacions al navegador"
|
||||
antennaUsersDescription: "Llistar un nom d'usuari per línia"
|
||||
caseSensitive: "Sensible a majúscules i minúscules "
|
||||
|
@ -1339,6 +1340,7 @@ compress: "Comprimir "
|
|||
right: "Dreta"
|
||||
bottom: "A baix "
|
||||
top: "A dalt "
|
||||
embed: "Incrustar"
|
||||
_chat:
|
||||
noMessagesYet: "Encara no tens missatges "
|
||||
newMessage: "Missatge nou"
|
||||
|
@ -1413,6 +1415,7 @@ _settings:
|
|||
showNavbarSubButtons: "Mostrar sub botons a la barra de navegació "
|
||||
ifOn: "Quan s'encén "
|
||||
ifOff: "Quan s'apaga "
|
||||
enableSyncThemesBetweenDevices: "Sincronitzar els temes instal·lats entre dispositius"
|
||||
_chat:
|
||||
showSenderName: "Mostrar el nom del remitent"
|
||||
sendOnEnter: "Introdueix per enviar"
|
||||
|
@ -2122,7 +2125,6 @@ _theme:
|
|||
header: "Capçalera"
|
||||
navBg: "Fons de la barra lateral"
|
||||
navFg: "Text de la barra lateral"
|
||||
navHoverFg: "Text barra lateral (en passar per sobre)"
|
||||
navActive: "Text barra lateral (actiu)"
|
||||
navIndicator: "Indicador barra lateral"
|
||||
link: "Enllaç"
|
||||
|
@ -2145,11 +2147,8 @@ _theme:
|
|||
buttonHoverBg: "Fons botó (en passar-hi per sobre)"
|
||||
inputBorder: "Contorn del cap d'introducció "
|
||||
driveFolderBg: "Fons de la carpeta Disc"
|
||||
wallpaperOverlay: "Superposició del fons de pantalla "
|
||||
badge: "Insígnia "
|
||||
messageBg: "Fons del xat"
|
||||
accentDarken: "Accent (fosc)"
|
||||
accentLighten: "Accent (clar)"
|
||||
fgHighlighted: "Text ressaltat"
|
||||
_sfx:
|
||||
note: "Notes"
|
||||
|
|
|
@ -1626,7 +1626,6 @@ _theme:
|
|||
header: "Nadpis"
|
||||
navBg: "Pozadí postranního panelu"
|
||||
navFg: "Text na postranním panelu"
|
||||
navHoverFg: "Text na postranním panelu (Hover)"
|
||||
navActive: "Text na postranním panelu (Aktivní)"
|
||||
navIndicator: "Indikátor na postranním panelu"
|
||||
link: "Odkaz"
|
||||
|
@ -1649,11 +1648,8 @@ _theme:
|
|||
buttonHoverBg: "Pozadí tlačítka (Hover)"
|
||||
inputBorder: "Ohraničení vstupního pole"
|
||||
driveFolderBg: "Pozadí složky disku"
|
||||
wallpaperOverlay: "Překrytí tapety"
|
||||
badge: "Odznak"
|
||||
messageBg: "Pozadí chatu"
|
||||
accentDarken: "Akcent (Ztmavený)"
|
||||
accentLighten: "Akcent (Zesvětlený)"
|
||||
fgHighlighted: "Zvýrazněný text"
|
||||
_sfx:
|
||||
note: "Poznámky"
|
||||
|
|
|
@ -2105,7 +2105,6 @@ _theme:
|
|||
header: "Kopfzeile"
|
||||
navBg: "Hintergrund der Seitenleiste"
|
||||
navFg: "Text der Seitenleiste"
|
||||
navHoverFg: "Text der Seitenleiste (Mouseover)"
|
||||
navActive: "Text der Seitenleiste (Aktiv)"
|
||||
navIndicator: "Indikator der Seitenleiste"
|
||||
link: "Link"
|
||||
|
@ -2128,11 +2127,8 @@ _theme:
|
|||
buttonHoverBg: "Hintergrund von Schaltflächen (Mouseover)"
|
||||
inputBorder: "Rahmen von Eingabefeldern"
|
||||
driveFolderBg: "Hintergrund von Drive-Ordnern"
|
||||
wallpaperOverlay: "Hintergrundbild-Overlay"
|
||||
badge: "Wappen"
|
||||
messageBg: "Hintergrund von Chats"
|
||||
accentDarken: "Akzent (Verdunkelt)"
|
||||
accentLighten: "Akzent (Erhellt)"
|
||||
fgHighlighted: "Hervorgehobener Text"
|
||||
_sfx:
|
||||
note: "Notizen"
|
||||
|
|
|
@ -424,6 +424,7 @@ antennaExcludeBots: "Exclude bot accounts"
|
|||
antennaKeywordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
|
||||
notifyAntenna: "Notify about new notes"
|
||||
withFileAntenna: "Only notes with files"
|
||||
hideNotesInSensitiveChannel: "Hide notes from sensitive channels"
|
||||
enableServiceworker: "Enable Push-Notifications for your Browser"
|
||||
antennaUsersDescription: "List one username per line"
|
||||
caseSensitive: "Case sensitive"
|
||||
|
@ -1339,6 +1340,7 @@ compress: "Compress"
|
|||
right: "Right"
|
||||
bottom: "Bottom"
|
||||
top: "Top"
|
||||
embed: "Embed"
|
||||
_chat:
|
||||
noMessagesYet: "No messages yet"
|
||||
newMessage: "New message"
|
||||
|
@ -1413,6 +1415,7 @@ _settings:
|
|||
showNavbarSubButtons: "Show sub-buttons on the navigation bar"
|
||||
ifOn: "When turned on"
|
||||
ifOff: "When turned off"
|
||||
enableSyncThemesBetweenDevices: "Synchronize installed themes across devices"
|
||||
_chat:
|
||||
showSenderName: "Show sender's name"
|
||||
sendOnEnter: "Press Enter to send"
|
||||
|
@ -2122,7 +2125,6 @@ _theme:
|
|||
header: "Header"
|
||||
navBg: "Sidebar background"
|
||||
navFg: "Sidebar text"
|
||||
navHoverFg: "Sidebar text (Hover)"
|
||||
navActive: "Sidebar text (Active)"
|
||||
navIndicator: "Sidebar indicator"
|
||||
link: "Link"
|
||||
|
@ -2145,11 +2147,8 @@ _theme:
|
|||
buttonHoverBg: "Button background (Hover)"
|
||||
inputBorder: "Input field border"
|
||||
driveFolderBg: "Drive folder background"
|
||||
wallpaperOverlay: "Wallpaper overlay"
|
||||
badge: "Badge"
|
||||
messageBg: "Chat background"
|
||||
accentDarken: "Accent (Darkened)"
|
||||
accentLighten: "Accent (Lightened)"
|
||||
fgHighlighted: "Highlighted Text"
|
||||
_sfx:
|
||||
note: "New note"
|
||||
|
|
|
@ -1965,7 +1965,6 @@ _theme:
|
|||
header: "Cabezal"
|
||||
navBg: "Fondo de la barra lateral"
|
||||
navFg: "Texto de la barra lateral"
|
||||
navHoverFg: "Texto de la barra lateral (hover)"
|
||||
navActive: "Texto de la barra lateral (activo)"
|
||||
navIndicator: "Indicador de la barra lateral"
|
||||
link: "Vínculo"
|
||||
|
@ -1988,11 +1987,8 @@ _theme:
|
|||
buttonHoverBg: "Fondo de botón (hover)"
|
||||
inputBorder: "Borde de los campos de entrada"
|
||||
driveFolderBg: "Fondo de capeta del drive"
|
||||
wallpaperOverlay: "Transparencia del fondo de pantalla"
|
||||
badge: "Medalla"
|
||||
messageBg: "Fondo de chat"
|
||||
accentDarken: "Acento (oscuro)"
|
||||
accentLighten: "Acento (claro)"
|
||||
fgHighlighted: "Texto resaltado"
|
||||
_sfx:
|
||||
note: "Notas"
|
||||
|
|
|
@ -1816,7 +1816,6 @@ _theme:
|
|||
header: "Entête"
|
||||
navBg: "Fond de la barre latérale"
|
||||
navFg: "Texte de la barre latérale"
|
||||
navHoverFg: "Texte de la barre latérale (survolé)"
|
||||
navActive: "Texte de la barre latérale (actif)"
|
||||
navIndicator: "Indicateur de barre latérale"
|
||||
link: "Lien"
|
||||
|
@ -1839,11 +1838,8 @@ _theme:
|
|||
buttonHoverBg: "Arrière-plan du bouton (survolé)"
|
||||
inputBorder: "Cadre de la zone de texte"
|
||||
driveFolderBg: "Arrière-plan du dossier de disque"
|
||||
wallpaperOverlay: "Superposition de fond d'écran"
|
||||
badge: "Badge"
|
||||
messageBg: "Arrière plan de la discussion"
|
||||
accentDarken: "Plus sombre"
|
||||
accentLighten: "Plus clair"
|
||||
fgHighlighted: "Texte mis en évidence"
|
||||
_sfx:
|
||||
note: "Nouvelle note"
|
||||
|
|
|
@ -1931,7 +1931,6 @@ _theme:
|
|||
header: "Header"
|
||||
navBg: "Latar belakang bilah samping"
|
||||
navFg: "Teks bilah samping"
|
||||
navHoverFg: "Teks bilah samping (Mengambang)"
|
||||
navActive: "Teks bilah samping (Aktif)"
|
||||
navIndicator: "Indikator bilah samping"
|
||||
link: "Tautan"
|
||||
|
@ -1954,11 +1953,8 @@ _theme:
|
|||
buttonHoverBg: "Latar belakang tombol (Mengambang)"
|
||||
inputBorder: "Batas bidang masukan"
|
||||
driveFolderBg: "Latar belakang folder drive"
|
||||
wallpaperOverlay: "Lapisan wallpaper"
|
||||
badge: "Lencana"
|
||||
messageBg: "Latar belakang obrolan"
|
||||
accentDarken: "Aksen (Gelap)"
|
||||
accentLighten: "Aksen (Terang)"
|
||||
fgHighlighted: "Teks yang disorot"
|
||||
_sfx:
|
||||
note: "Catatan"
|
||||
|
|
|
@ -7361,6 +7361,14 @@ export interface Locale extends ILocale {
|
|||
* 数値が大きいほどUI上で先頭に表示されます。
|
||||
*/
|
||||
"descriptionOfDisplayOrder": string;
|
||||
/**
|
||||
* アサイン状態を移行先アカウントにも引き継ぐ
|
||||
*/
|
||||
"preserveAssignmentOnMoveAccount": string;
|
||||
/**
|
||||
* オンにすると、このロールが付与されたアカウントが移行された際に、移行先アカウントにもこのロールが引き継がれるようになります。
|
||||
*/
|
||||
"preserveAssignmentOnMoveAccount_description": string;
|
||||
/**
|
||||
* モデレーターのメンバー編集を許可
|
||||
*/
|
||||
|
|
|
@ -424,6 +424,7 @@ antennaExcludeBots: "Escludere i Bot"
|
|||
antennaKeywordsDescription: "Sparando con uno spazio indichi la condizione E (and). Separando con un a capo, indichi la condizione O (or)."
|
||||
notifyAntenna: "Invia notifiche delle nuove note"
|
||||
withFileAntenna: "Solo note con file in allegato"
|
||||
hideNotesInSensitiveChannel: "Nascondere le Note dai canali espliciti"
|
||||
enableServiceworker: "Abilita ServiceWorker"
|
||||
antennaUsersDescription: "Elenca un nome utente per riga"
|
||||
caseSensitive: "Sensibile alla distinzione tra maiuscole e minuscole"
|
||||
|
@ -1336,6 +1337,10 @@ chat: "Chat"
|
|||
migrateOldSettings: "Migrare le vecchie impostazioni"
|
||||
migrateOldSettings_description: "Di solito, viene fatto automaticamente. Se per qualche motivo non fossero migrate con successo, è possibile avviare il processo di migrazione manualmente, sovrascrivendo le configurazioni attuali."
|
||||
compress: "Comprimi"
|
||||
right: "Destra"
|
||||
bottom: "Sotto"
|
||||
top: "Sopra"
|
||||
embed: "Incorporare"
|
||||
_chat:
|
||||
noMessagesYet: "Ancora nessun messaggio"
|
||||
newMessage: "Nuovo messaggio"
|
||||
|
@ -1406,9 +1411,11 @@ _settings:
|
|||
timelineAndNote: "Note e Timeline"
|
||||
makeEveryTextElementsSelectable: "Imposta ogni elemento come selezionabile"
|
||||
makeEveryTextElementsSelectable_description: "Potrebbe ridurre l'usabilità in alcune situazioni."
|
||||
useStickyIcons: "Fissa le icone durante lo scorrimento"
|
||||
showNavbarSubButtons: "Mostra i pulsanti secondari nella barra di navigazione"
|
||||
ifOn: "Quando attivato"
|
||||
ifOff: "Quando disattivato"
|
||||
enableSyncThemesBetweenDevices: "Sincronizzare il tema tra i dispositivi"
|
||||
_chat:
|
||||
showSenderName: "Mostra il nome del mittente"
|
||||
sendOnEnter: "Invio spedisce"
|
||||
|
@ -2118,14 +2125,13 @@ _theme:
|
|||
header: "Intestazione"
|
||||
navBg: "Sfondo della barra laterale"
|
||||
navFg: "Testo della barra laterale"
|
||||
navHoverFg: "Testo della barra laterale (al passaggio del mouse)"
|
||||
navActive: "Testo della barra laterale (attivo)"
|
||||
navIndicator: "Indicatore di barra laterale"
|
||||
link: "Link"
|
||||
hashtag: "Hashtag"
|
||||
mention: "Menzioni"
|
||||
mentionMe: "Menzioni (di me)"
|
||||
renote: "Rinota"
|
||||
renote: "Renota"
|
||||
modalBg: "Sfondo modale."
|
||||
divider: "Interruzione di linea"
|
||||
scrollbarHandle: "Maniglie della barra di scorrimento"
|
||||
|
@ -2141,11 +2147,8 @@ _theme:
|
|||
buttonHoverBg: "Sfondo del pulsante (sorvolato)"
|
||||
inputBorder: "Inquadra casella di testo"
|
||||
driveFolderBg: "Sfondo della cartella di disco"
|
||||
wallpaperOverlay: "Sovrapposizione dello sfondo"
|
||||
badge: "Distintivo"
|
||||
messageBg: "Sfondo della chat"
|
||||
accentDarken: "Temi (scuri)"
|
||||
accentLighten: "Temi (luminosi)"
|
||||
fgHighlighted: "Testo in evidenza."
|
||||
_sfx:
|
||||
note: "Nota"
|
||||
|
@ -2592,6 +2595,9 @@ _notification:
|
|||
_deck:
|
||||
alwaysShowMainColumn: "Mostra sempre la colonna principale"
|
||||
columnAlign: "Allineare colonne"
|
||||
columnGap: "Margine tra le colonne"
|
||||
deckMenuPosition: "Posizione del menu Deck"
|
||||
navbarPosition: "Posizione barra di navigazione"
|
||||
addColumn: "Aggiungi colonna"
|
||||
newNoteNotificationSettings: "Preferenze per le notifiche di nuove Note"
|
||||
configureColumn: "Impostazioni colonna"
|
||||
|
|
|
@ -1907,6 +1907,8 @@ _role:
|
|||
descriptionOfIsExplorable: "オンにすると、「みつける」でメンバー一覧が公開されるほか、ロールのタイムラインが利用可能になります。"
|
||||
displayOrder: "表示順"
|
||||
descriptionOfDisplayOrder: "数値が大きいほどUI上で先頭に表示されます。"
|
||||
preserveAssignmentOnMoveAccount: "アサイン状態を移行先アカウントにも引き継ぐ"
|
||||
preserveAssignmentOnMoveAccount_description: "オンにすると、このロールが付与されたアカウントが移行された際に、移行先アカウントにもこのロールが引き継がれるようになります。"
|
||||
canEditMembersByModerator: "モデレーターのメンバー編集を許可"
|
||||
descriptionOfCanEditMembersByModerator: "オンにすると、管理者に加えてモデレーターもこのロールへユーザーをアサイン/アサイン解除できるようになります。オフにすると管理者のみが行えます。"
|
||||
priority: "優先度"
|
||||
|
|
|
@ -2007,7 +2007,6 @@ _theme:
|
|||
header: "ヘッダー"
|
||||
navBg: "サイドバーの背景"
|
||||
navFg: "サイドバーの文字"
|
||||
navHoverFg: "サイドバー文字(ホバー)"
|
||||
navActive: "サイドバー文字(アクティブ)"
|
||||
navIndicator: "サイドバーのインジケーター"
|
||||
link: "リンク"
|
||||
|
@ -2030,11 +2029,8 @@ _theme:
|
|||
buttonHoverBg: "ボタンの背景 (ホバー)"
|
||||
inputBorder: "入力ボックスの縁取り"
|
||||
driveFolderBg: "ドライブフォルダーの背景"
|
||||
wallpaperOverlay: "壁紙のオーバーレイ"
|
||||
badge: "バッジ"
|
||||
messageBg: "チャットの背景"
|
||||
accentDarken: "アクセント (暗め)"
|
||||
accentLighten: "アクセント (明るめ)"
|
||||
fgHighlighted: "強調されとる文字"
|
||||
_sfx:
|
||||
note: "ノート"
|
||||
|
|
|
@ -747,6 +747,7 @@ _theme:
|
|||
description: "설멩"
|
||||
keys:
|
||||
mention: "멘션"
|
||||
renote: "리노트"
|
||||
_sfx:
|
||||
note: "새 노트"
|
||||
notification: "알림"
|
||||
|
|
|
@ -2067,7 +2067,6 @@ _theme:
|
|||
header: "헤더"
|
||||
navBg: "사이드바 배경"
|
||||
navFg: "사이드바 텍스트"
|
||||
navHoverFg: "사이드바 텍스트 (호버)"
|
||||
navActive: "사이드바 텍스트 (활성)"
|
||||
navIndicator: "사이드바 인디케이터"
|
||||
link: "링크"
|
||||
|
@ -2090,11 +2089,8 @@ _theme:
|
|||
buttonHoverBg: "버튼 배경 (호버)"
|
||||
inputBorder: "입력 필드 테두리"
|
||||
driveFolderBg: "드라이브 폴더 배경"
|
||||
wallpaperOverlay: "배경화면 오버레이"
|
||||
badge: "배지"
|
||||
messageBg: "대화 배경"
|
||||
accentDarken: "강조 색상 (어두움)"
|
||||
accentLighten: "강조 색상 (밝음)"
|
||||
fgHighlighted: "강조된 텍스트"
|
||||
_sfx:
|
||||
note: "새 노트"
|
||||
|
|
|
@ -1212,7 +1212,6 @@ _theme:
|
|||
header: "Nagłówek"
|
||||
navBg: "Tło paska bocznego"
|
||||
navFg: "Tekst paska bocznego"
|
||||
navHoverFg: "Tekst paska bocznego (zbliżenie)"
|
||||
navActive: "Tekst paska bocznego (aktywny)"
|
||||
navIndicator: "Wskaźnik paska bocznego"
|
||||
link: "Odnośnik"
|
||||
|
@ -1235,11 +1234,8 @@ _theme:
|
|||
buttonHoverBg: "Tło przycisku (po najechaniu)"
|
||||
inputBorder: "Obramowanie pola wejścia"
|
||||
driveFolderBg: "Tło folderu na dysku"
|
||||
wallpaperOverlay: "Nakładka tapety"
|
||||
badge: "Odznaka"
|
||||
messageBg: "Tło czatu"
|
||||
accentDarken: "Akcent (ciemniejszy)"
|
||||
accentLighten: "Akcent (jaśniejszy)"
|
||||
fgHighlighted: "Wyróżniony tekst"
|
||||
_sfx:
|
||||
note: "Wpisy"
|
||||
|
|
|
@ -1997,7 +1997,6 @@ _theme:
|
|||
header: "Cabeçalho"
|
||||
navBg: "Plano de fundo da barra lateral"
|
||||
navFg: "Texto da barra lateral"
|
||||
navHoverFg: "Texto da coluna lateral (Selecionado)"
|
||||
navActive: "Texto da coluna lateral (Ativa)"
|
||||
navIndicator: "Indicador da coluna lateral"
|
||||
link: "Link"
|
||||
|
@ -2020,11 +2019,8 @@ _theme:
|
|||
buttonHoverBg: "Plano de fundo de botão (Selecionado)"
|
||||
inputBorder: "Borda de campo digitável"
|
||||
driveFolderBg: "Plano de fundo da pasta no Drive"
|
||||
wallpaperOverlay: "Sobreposição do papel de parede."
|
||||
badge: "Emblema"
|
||||
messageBg: "Plano de fundo do chat"
|
||||
accentDarken: "Cor de destaque (Escurecida)"
|
||||
accentLighten: "Cor de destaque (Esclarecida)"
|
||||
fgHighlighted: "Texto Destacado"
|
||||
_sfx:
|
||||
note: "Posts"
|
||||
|
|
|
@ -1689,7 +1689,6 @@ _theme:
|
|||
header: "Заголовок"
|
||||
navBg: "Фон боковой панели"
|
||||
navFg: "Текст на боковой панели"
|
||||
navHoverFg: "Текст на боковой панели (под указателем)"
|
||||
navActive: "Текст на боковой панели (активирован)"
|
||||
navIndicator: "Индикатор на боковой панели"
|
||||
link: "Ссылка"
|
||||
|
@ -1712,11 +1711,8 @@ _theme:
|
|||
buttonHoverBg: "Текст кнопки"
|
||||
inputBorder: "Рамка поля ввода"
|
||||
driveFolderBg: "Фон папки «Диска»"
|
||||
wallpaperOverlay: "Слой обоев"
|
||||
badge: "Значок"
|
||||
messageBg: "Фон беседы"
|
||||
accentDarken: "Фон (затемнённый)"
|
||||
accentLighten: "Фон (осветлённый)"
|
||||
fgHighlighted: "Подсвеченный текст"
|
||||
_sfx:
|
||||
note: "Заметки"
|
||||
|
|
|
@ -1089,7 +1089,6 @@ _theme:
|
|||
header: "Hlavička"
|
||||
navBg: "Pozadie bočného panela"
|
||||
navFg: "Text bočného panela"
|
||||
navHoverFg: "Text bočného panela (pod kurzorom)"
|
||||
navActive: "Text bočného panela (aktívny)"
|
||||
navIndicator: "Indikátor bočného panela"
|
||||
link: "Odkaz"
|
||||
|
@ -1112,11 +1111,8 @@ _theme:
|
|||
buttonHoverBg: "Pozadie tlačidla (pod kurzorom)"
|
||||
inputBorder: "Okraj vstupného poľa"
|
||||
driveFolderBg: "Pozadie priečinu disku"
|
||||
wallpaperOverlay: "Vrstvenie pozadia"
|
||||
badge: "Odznak"
|
||||
messageBg: "Pozadie chatu"
|
||||
accentDarken: "Akcent (stmavené)"
|
||||
accentLighten: "Akcent (zosvetlené)"
|
||||
fgHighlighted: "Zvýraznený text"
|
||||
_sfx:
|
||||
note: "Poznámky"
|
||||
|
|
|
@ -1974,7 +1974,6 @@ _theme:
|
|||
header: "ส่วนหัว"
|
||||
navBg: "พื้นหลังแถบด้านข้าง"
|
||||
navFg: "ข้อความแถบด้านข้าง"
|
||||
navHoverFg: "ข้อความแถบด้านข้าง (โฮเวอร์)"
|
||||
navActive: "ข้อความแถบด้านข้าง (ใช้งานอยู่)"
|
||||
navIndicator: "ตัวระบุแถบด้านข้าง"
|
||||
link: "ลิงก์"
|
||||
|
@ -1997,11 +1996,8 @@ _theme:
|
|||
buttonHoverBg: "ปุ่มพื้นหลัง (โฮเวอร์)"
|
||||
inputBorder: "เส้นขอบของช่องป้อนข้อมูล"
|
||||
driveFolderBg: "พื้นหลังโฟลเดอร์ไดรฟ์"
|
||||
wallpaperOverlay: "วอลล์เปเปอร์ซ้อนทับ"
|
||||
badge: "ตรา"
|
||||
messageBg: "พื้นหลังแชท"
|
||||
accentDarken: "สีหลัก (มืด)"
|
||||
accentLighten: "สีหลัก (สว่าง)"
|
||||
fgHighlighted: "ข้อความที่ไฮไลต์"
|
||||
_sfx:
|
||||
note: "โน้ต"
|
||||
|
|
|
@ -1283,7 +1283,6 @@ _theme:
|
|||
header: "Заголовок"
|
||||
navBg: "Фон бокової панелі"
|
||||
navFg: "Текст бокової панелі"
|
||||
navHoverFg: "Текст бокової панелі (під курсором)"
|
||||
navActive: "Текст бокової панелі (активне)"
|
||||
navIndicator: "Індикатор бокової панелі"
|
||||
link: "Посилання"
|
||||
|
@ -1306,11 +1305,8 @@ _theme:
|
|||
buttonHoverBg: "Фон кнопки (при наведенні)"
|
||||
inputBorder: "Край поля вводу"
|
||||
driveFolderBg: "Фон папки на диску"
|
||||
wallpaperOverlay: "Накладання шпалер"
|
||||
badge: "Значок"
|
||||
messageBg: "Фон переписки"
|
||||
accentDarken: "Акцент (Затемлений)"
|
||||
accentLighten: "Акцент (Освітлений)"
|
||||
fgHighlighted: "Виділений текст"
|
||||
_sfx:
|
||||
note: "Нотатки"
|
||||
|
|
|
@ -907,8 +907,6 @@ _theme:
|
|||
mention: "Murojat"
|
||||
renote: "Qayta qayd etish"
|
||||
divider: "Ajratrmoq"
|
||||
accentDarken: "Urg'u (Qoraytirilgan)"
|
||||
accentLighten: "Urg'u (Yoritilgan)"
|
||||
fgHighlighted: "Belgilangan matn"
|
||||
_sfx:
|
||||
note: "Qaydlar"
|
||||
|
|
|
@ -1530,7 +1530,6 @@ _theme:
|
|||
header: "Ảnh bìa"
|
||||
navBg: "Nền thanh bên"
|
||||
navFg: "Chữ thanh bên"
|
||||
navHoverFg: "Chữ thanh bên (Khi chạm)"
|
||||
navActive: "Chữ thanh bên (Khi chọn)"
|
||||
navIndicator: "Chỉ báo thanh bên"
|
||||
link: "Đường dẫn"
|
||||
|
@ -1553,11 +1552,8 @@ _theme:
|
|||
buttonHoverBg: "Nền nút (Chạm)"
|
||||
inputBorder: "Đường viền khung soạn thảo"
|
||||
driveFolderBg: "Nền thư mục Ổ đĩa"
|
||||
wallpaperOverlay: "Lớp phủ hình nền"
|
||||
badge: "Huy hiệu"
|
||||
messageBg: "Nền chat"
|
||||
accentDarken: "Màu phụ (Tối)"
|
||||
accentLighten: "Màu phụ (Sáng)"
|
||||
fgHighlighted: "Chữ nổi bật"
|
||||
_sfx:
|
||||
note: "Tút"
|
||||
|
|
|
@ -424,6 +424,7 @@ antennaExcludeBots: "排除机器人账户"
|
|||
antennaKeywordsDescription: "AND 条件用空格分隔,OR 条件用换行符分隔。"
|
||||
notifyAntenna: "开启通知"
|
||||
withFileAntenna: "仅带有附件的帖子"
|
||||
hideNotesInSensitiveChannel: "隐藏敏感频道内的帖子"
|
||||
enableServiceworker: "启用 ServiceWorker"
|
||||
antennaUsersDescription: "指定用户名,一行一个"
|
||||
caseSensitive: "区分大小写"
|
||||
|
@ -1339,6 +1340,7 @@ compress: "压缩"
|
|||
right: "右"
|
||||
bottom: "下"
|
||||
top: "上"
|
||||
embed: "嵌入"
|
||||
_chat:
|
||||
noMessagesYet: "还没有消息"
|
||||
newMessage: "新消息"
|
||||
|
@ -2122,7 +2124,6 @@ _theme:
|
|||
header: "顶栏"
|
||||
navBg: "侧边栏背景"
|
||||
navFg: "侧栏文本"
|
||||
navHoverFg: "侧栏文本(悬停)"
|
||||
navActive: "侧栏文本(活动)"
|
||||
navIndicator: "侧栏标记"
|
||||
link: "链接"
|
||||
|
@ -2145,11 +2146,8 @@ _theme:
|
|||
buttonHoverBg: "按钮背景(悬停)"
|
||||
inputBorder: "输入框边框"
|
||||
driveFolderBg: "网盘的文件夹背景"
|
||||
wallpaperOverlay: "壁纸叠加层"
|
||||
badge: "徽章"
|
||||
messageBg: "聊天背景"
|
||||
accentDarken: "强调色(深)"
|
||||
accentLighten: "强调色(浅)"
|
||||
fgHighlighted: "高亮显示文本"
|
||||
_sfx:
|
||||
note: "帖子"
|
||||
|
|
|
@ -424,6 +424,7 @@ antennaExcludeBots: "排除機器人帳戶"
|
|||
antennaKeywordsDescription: "空格代表「以及」(AND),換行代表「或者」(OR)"
|
||||
notifyAntenna: "通知有新貼文"
|
||||
withFileAntenna: "僅帶有附件的貼文"
|
||||
hideNotesInSensitiveChannel: "隱藏敏感頻道的貼文"
|
||||
enableServiceworker: "啟用瀏覽器的推播通知"
|
||||
antennaUsersDescription: "填寫使用者名稱,以換行分隔"
|
||||
caseSensitive: "區分大小寫"
|
||||
|
@ -1339,6 +1340,7 @@ compress: "壓縮"
|
|||
right: "右"
|
||||
bottom: "下"
|
||||
top: "上"
|
||||
embed: "嵌入"
|
||||
_chat:
|
||||
noMessagesYet: "尚無訊息"
|
||||
newMessage: "新訊息"
|
||||
|
@ -1413,6 +1415,7 @@ _settings:
|
|||
showNavbarSubButtons: "在導覽列顯示輔助按鈕"
|
||||
ifOn: "開啟時"
|
||||
ifOff: "關閉時"
|
||||
enableSyncThemesBetweenDevices: "在裝置之間同步已安裝的主題"
|
||||
_chat:
|
||||
showSenderName: "顯示發送者的名稱"
|
||||
sendOnEnter: "按下 Enter 發送訊息"
|
||||
|
@ -1885,6 +1888,8 @@ _role:
|
|||
descriptionOfIsExplorable: "若開啟則公開角色時間軸。若角色不是公開的,則無法公開時間軸。"
|
||||
displayOrder: "顯示順序"
|
||||
descriptionOfDisplayOrder: "數字越大,顯示在UI上的越上面。"
|
||||
preserveAssignmentOnMoveAccount: "將指派狀態承接至轉移後的帳戶"
|
||||
preserveAssignmentOnMoveAccount_description: "開啟此選項後,當具備此角色的帳戶被移轉時,該角色也會承接至轉移後的帳戶。"
|
||||
canEditMembersByModerator: "允許編輯審查員的成員"
|
||||
descriptionOfCanEditMembersByModerator: "如果開啟,管理員與審查員都可以為使用者指派/解除指派該角色。如果關閉,則只有管理員可以執行。"
|
||||
priority: "優先級"
|
||||
|
@ -2122,7 +2127,6 @@ _theme:
|
|||
header: "標題"
|
||||
navBg: "側邊欄的背景 "
|
||||
navFg: "側邊欄的文字"
|
||||
navHoverFg: "側邊欄文字(懸浮) "
|
||||
navActive: "側邊欄文字(活動)"
|
||||
navIndicator: "側邊欄指示符"
|
||||
link: "連結"
|
||||
|
@ -2145,11 +2149,8 @@ _theme:
|
|||
buttonHoverBg: "按鈕背景 (漂浮)"
|
||||
inputBorder: "輸入框邊框"
|
||||
driveFolderBg: "雲端硬碟文件夾背景"
|
||||
wallpaperOverlay: "壁紙覆蓋層"
|
||||
badge: "徽章"
|
||||
messageBg: "私訊背景"
|
||||
accentDarken: "強調色(黑暗)"
|
||||
accentLighten: "強調色(明亮)"
|
||||
fgHighlighted: "突顯文字"
|
||||
_sfx:
|
||||
note: "貼文"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "misskey",
|
||||
"version": "2025.4.0-beta.2",
|
||||
"version": "2025.4.0-rc.0",
|
||||
"codename": "nasubi",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
export class RoleCopyOnMoveAccount1743558299182 {
|
||||
name = 'RoleCopyOnMoveAccount1743558299182'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "role" ADD "preserveAssignmentOnMoveAccount" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "role" DROP COLUMN "preserveAssignmentOnMoveAccount"`);
|
||||
}
|
||||
}
|
|
@ -24,6 +24,7 @@ import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
|
|||
import InstanceChart from '@/core/chart/charts/instance.js';
|
||||
import PerUserFollowingChart from '@/core/chart/charts/per-user-following.js';
|
||||
import { SystemAccountService } from '@/core/SystemAccountService.js';
|
||||
import { RoleService } from '@/core/RoleService.js';
|
||||
|
||||
@Injectable()
|
||||
export class AccountMoveService {
|
||||
|
@ -61,6 +62,7 @@ export class AccountMoveService {
|
|||
private relayService: RelayService,
|
||||
private queueService: QueueService,
|
||||
private systemAccountService: SystemAccountService,
|
||||
private roleService: RoleService,
|
||||
) {
|
||||
}
|
||||
|
||||
|
@ -119,6 +121,7 @@ export class AccountMoveService {
|
|||
await Promise.all([
|
||||
this.copyBlocking(src, dst),
|
||||
this.copyMutings(src, dst),
|
||||
this.copyRoles(src, dst),
|
||||
this.updateLists(src, dst),
|
||||
]);
|
||||
} catch {
|
||||
|
@ -201,6 +204,32 @@ export class AccountMoveService {
|
|||
await this.mutingsRepository.insert(arrayToInsert);
|
||||
}
|
||||
|
||||
@bindThis
|
||||
public async copyRoles(src: ThinUser, dst: ThinUser): Promise<void> {
|
||||
// Insert new roles with the same values except userId
|
||||
// role service may have cache for roles so retrieve roles from service
|
||||
const [oldRoleAssignments, roles] = await Promise.all([
|
||||
this.roleService.getUserAssigns(src.id),
|
||||
this.roleService.getRoles(),
|
||||
]);
|
||||
|
||||
if (oldRoleAssignments.length === 0) return;
|
||||
|
||||
// No promise all since the only async operation is writing to the database
|
||||
for (const oldRoleAssignment of oldRoleAssignments) {
|
||||
const role = roles.find(x => x.id === oldRoleAssignment.roleId);
|
||||
if (role == null) continue; // Very unlikely however removing role may cause this case
|
||||
if (!role.preserveAssignmentOnMoveAccount) continue;
|
||||
|
||||
try {
|
||||
await this.roleService.assign(dst.id, role.id, oldRoleAssignment.expiresAt);
|
||||
} catch (e) {
|
||||
if (e instanceof RoleService.AlreadyAssignedError) continue;
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update lists while moving accounts.
|
||||
* - No removal of the old account from the lists
|
||||
|
|
|
@ -630,6 +630,7 @@ export class RoleService implements OnApplicationShutdown, OnModuleInit {
|
|||
isModerator: values.isModerator,
|
||||
isExplorable: values.isExplorable,
|
||||
asBadge: values.asBadge,
|
||||
preserveAssignmentOnMoveAccount: values.preserveAssignmentOnMoveAccount,
|
||||
canEditMembersByModerator: values.canEditMembersByModerator,
|
||||
displayOrder: values.displayOrder,
|
||||
policies: values.policies,
|
||||
|
|
|
@ -13,6 +13,7 @@ import type { MiRole } from '@/models/Role.js';
|
|||
import { bindThis } from '@/decorators.js';
|
||||
import { DEFAULT_POLICIES } from '@/core/RoleService.js';
|
||||
import { IdService } from '@/core/IdService.js';
|
||||
import { Packed } from '@/misc/json-schema.js';
|
||||
|
||||
@Injectable()
|
||||
export class RoleEntityService {
|
||||
|
@ -31,7 +32,7 @@ export class RoleEntityService {
|
|||
public async pack(
|
||||
src: MiRole['id'] | MiRole,
|
||||
me?: { id: MiUser['id'] } | null | undefined,
|
||||
) {
|
||||
): Promise<Packed<'Role'>> {
|
||||
const role = typeof src === 'object' ? src : await this.rolesRepository.findOneByOrFail({ id: src });
|
||||
|
||||
const assignedCount = await this.roleAssignmentsRepository.createQueryBuilder('assign')
|
||||
|
@ -67,6 +68,7 @@ export class RoleEntityService {
|
|||
isModerator: role.isModerator,
|
||||
isExplorable: role.isExplorable,
|
||||
asBadge: role.asBadge,
|
||||
preserveAssignmentOnMoveAccount: role.preserveAssignmentOnMoveAccount,
|
||||
canEditMembersByModerator: role.canEditMembersByModerator,
|
||||
displayOrder: role.displayOrder,
|
||||
policies: policies,
|
||||
|
|
|
@ -248,6 +248,11 @@ export class MiRole {
|
|||
})
|
||||
public isExplorable: boolean;
|
||||
|
||||
@Column('boolean', {
|
||||
default: false,
|
||||
})
|
||||
public preserveAssignmentOnMoveAccount: boolean;
|
||||
|
||||
@Column('boolean', {
|
||||
default: false,
|
||||
})
|
||||
|
|
|
@ -389,6 +389,11 @@ export const packedRoleSchema = {
|
|||
optional: false, nullable: false,
|
||||
example: false,
|
||||
},
|
||||
preserveAssignmentOnMoveAccount: {
|
||||
type: 'boolean',
|
||||
optional: false, nullable: false,
|
||||
example: false,
|
||||
},
|
||||
canEditMembersByModerator: {
|
||||
type: 'boolean',
|
||||
optional: false, nullable: false,
|
||||
|
|
|
@ -36,6 +36,7 @@ export const paramDef = {
|
|||
isAdministrator: { type: 'boolean' },
|
||||
isExplorable: { type: 'boolean', default: false }, // optional for backward compatibility
|
||||
asBadge: { type: 'boolean' },
|
||||
preserveAssignmentOnMoveAccount: { type: 'boolean' },
|
||||
canEditMembersByModerator: { type: 'boolean' },
|
||||
displayOrder: { type: 'number' },
|
||||
policies: {
|
||||
|
|
|
@ -41,6 +41,7 @@ export const paramDef = {
|
|||
isAdministrator: { type: 'boolean' },
|
||||
isExplorable: { type: 'boolean' },
|
||||
asBadge: { type: 'boolean' },
|
||||
preserveAssignmentOnMoveAccount: { type: 'boolean' },
|
||||
canEditMembersByModerator: { type: 'boolean' },
|
||||
displayOrder: { type: 'number' },
|
||||
policies: {
|
||||
|
@ -78,6 +79,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
|||
isAdministrator: ps.isAdministrator,
|
||||
isExplorable: ps.isExplorable,
|
||||
asBadge: ps.asBadge,
|
||||
preserveAssignmentOnMoveAccount: ps.preserveAssignmentOnMoveAccount,
|
||||
canEditMembersByModerator: ps.canEditMembersByModerator,
|
||||
displayOrder: ps.displayOrder,
|
||||
policies: ps.policies,
|
||||
|
|
|
@ -52,6 +52,11 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
</div>
|
||||
</MkFolder>
|
||||
|
||||
<MkSwitch v-model="role.preserveAssignmentOnMoveAccount" :readonly="readonly">
|
||||
<template #label>{{ i18n.ts._role.preserveAssignmentOnMoveAccount }}</template>
|
||||
<template #caption>{{ i18n.ts._role.preserveAssignmentOnMoveAccount_description }}</template>
|
||||
</MkSwitch>
|
||||
|
||||
<MkSwitch v-model="role.canEditMembersByModerator" :readonly="readonly">
|
||||
<template #label>{{ i18n.ts._role.canEditMembersByModerator }}</template>
|
||||
<template #caption>{{ i18n.ts._role.descriptionOfCanEditMembersByModerator }}</template>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"type": "module",
|
||||
"name": "misskey-js",
|
||||
"version": "2025.4.0-beta.2",
|
||||
"version": "2025.4.0-rc.0",
|
||||
"description": "Misskey SDK for JavaScript",
|
||||
"license": "MIT",
|
||||
"main": "./built/index.js",
|
||||
|
|
|
@ -5135,6 +5135,8 @@ export type components = {
|
|||
/** @example false */
|
||||
asBadge: boolean;
|
||||
/** @example false */
|
||||
preserveAssignmentOnMoveAccount: boolean;
|
||||
/** @example false */
|
||||
canEditMembersByModerator: boolean;
|
||||
policies: {
|
||||
[key: string]: {
|
||||
|
@ -9392,6 +9394,7 @@ export type operations = {
|
|||
/** @default false */
|
||||
isExplorable?: boolean;
|
||||
asBadge: boolean;
|
||||
preserveAssignmentOnMoveAccount?: boolean;
|
||||
canEditMembersByModerator: boolean;
|
||||
displayOrder: number;
|
||||
policies: Record<string, never>;
|
||||
|
@ -9667,6 +9670,7 @@ export type operations = {
|
|||
isAdministrator?: boolean;
|
||||
isExplorable?: boolean;
|
||||
asBadge?: boolean;
|
||||
preserveAssignmentOnMoveAccount?: boolean;
|
||||
canEditMembersByModerator?: boolean;
|
||||
displayOrder?: number;
|
||||
policies?: Record<string, never>;
|
||||
|
|
Loading…
Reference in New Issue