Compare commits

..

2 commits

Author SHA1 Message Date
Johann150 8a90dfa60b
fix: perform visibility query in second stage 2022-10-28 23:39:39 +02:00
Johann150 f5ea7b6d5b
handle note visibility in SQL
This allows to check visibility recursively, which should hopefully
solve problems with timelines not showing up properly.
2022-10-28 23:37:15 +02:00
198 changed files with 5739 additions and 3287 deletions

View file

@ -1,32 +0,0 @@
Andreas Nedbal <git@pixelde.su> <andreas.nedbal@in2code.de>
Andreas Nedbal <git@pixelde.su> <github-bf215181b5140522137b3d4f6b73544a@desu.email>
Balazs Nadasdi <balazs@weave.works> <yitsushi@gmail.com>
Chloe Kudryavtsev <code@code.bunkerlabs.net> <code@toast.bunkerlabs.net>
Chloe Kudryavtsev <code@code.bunkerlabs.net> <toast+git@toast.cafe>
Chloe Kudryavtsev <code@code.bunkerlabs.net> <toast@toast.cafe>
Dr. Gutfuck LLC <40531868+gutfuckllc@users.noreply.github.com>
Ehsan Javadynia <31900907+ehsanjavadynia@users.noreply.github.com> <ehsan.javadynia@gmail.com>
Francis Dinh <normandy@biribiri.dev>
Hakaba Hitoyo <tsukadayoshio@gmail.com> Hakaba Hitoyo <example@example.com>
Johann150 <johann.galle@protonmail.com> <johann@qwertqwefsday.eu>
Michcio <public+git@meekchopp.es> <michcio@noreply.akkoma>
Nya Candy <20502130+Candinya@users.noreply.github.com> <dev@candinya.com>
Nya Candy <20502130+Candinya@users.noreply.github.com> <github@lcy.moe>
Skehmatics <skeh@is.nota.live>
Skehmatics <skeh@is.nota.live> <skehmatics@gmail.com>
ThatOneCalculator <kainoa@t1c.dev> <44733677+ThatOneCalculator@users.noreply.github.com>
Weblate <noreply@weblate.org>
Xeltica <7106976+Xeltica@users.noreply.github.com>
YuzuRyo61 <yuzuryo61@yuzulia.com> <cyberman.craft@gmail.com>
YuzuRyo61 <yuzuryo61@yuzulia.com> <yuzuryo61@yuzulia.work>
dependabot[bot] <dependabot[bot]@users.noreply.github.com> <27856297+dependabot-preview[bot]@users.noreply.github.com>
dependabot[bot] <dependabot[bot]@users.noreply.github.com> <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] <dependabot[bot]@users.noreply.github.com> <support@dependabot.com>
imgbot[bot] <imgbot[bot]@users.noreply.github.com> <31301654+imgbot[bot]@users.noreply.github.com>
imgbot[bot] <imgbot[bot]@users.noreply.github.com> <ImgBotHelp@gmail.com>
marihachi <marihachi0620@gmail.com>
mei23 <m@m544.net> <30769358+mei23@users.noreply.github.com>
nullobsi <me@nullob.si>
otofune <otofune@gmail.com> <otofune@users.noreply.github.com>
syuilo <syuilotan@yahoo.co.jp> <Syuilotan@yahoo.co.jp>
xianon <xianon@hotmail.co.jp>

View file

@ -1 +1 @@
v18.7.0
v16.15.0

783
.yarn/releases/yarn-3.2.3.cjs vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -8,4 +8,4 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
spec: "@yarnpkg/plugin-workspace-tools"
yarnPath: .yarn/releases/yarn-3.3.0.cjs
yarnPath: .yarn/releases/yarn-3.2.3.cjs

View file

@ -297,11 +297,8 @@ PostgreSQL array indices **start at 1**.
When `IN` is performed on a column that may contain `NULL` values, use `OR` or similar to handle `NULL` values.
### creating migrations
First make changes to the entity files in `packages/backend/src/models/entities/`.
Then, in `packages/backend`, run:
In `packages/backend`, run:
```sh
yarn build
npx typeorm migration:generate -d ormconfig.js -o <migration name>
```

10
COPYING
View file

@ -1,10 +1,10 @@
Unless otherwise stated this repository is
Copyright © 2014-2022 syuilo and contributors
Copyright © 2022 FoundKey contributors
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.
(You may be able to run `git shortlog -se` to see a full list of authors.)
Copyright © 2014-2020 syuilo and contributers
FoundKey includes several third-party Open-Source softwares.
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.
Misskey includes several third-party Open-Source softwares.
Emoji keywords for Unicode 11 and below by Mu-An Chiou
License: MIT

View file

@ -1,4 +1,4 @@
FROM node:18.12.1-alpine3.16 AS base
FROM node:18.9.0-alpine3.16 AS base
ARG NODE_ENV=production

View file

@ -8,10 +8,9 @@ This guide will also assume you're using Debian or a derivative like Ubuntu. If
FoundKey requires the following packages to run:
### Dependencies :package:
* **[Node.js](https://nodejs.org/en/)** (18.x)
* **[Node.js](https://nodejs.org/en/)** (16.x/18.x)
* **[PostgreSQL](https://www.postgresql.org/)** (12.x minimum; 13.x+ is preferred)
* **[Redis](https://redis.io/)**
* **[Yarn](https://yarnpkg.com/)**
The following are needed to compile native npm modules:
* A C/C++ compiler like **GCC** or **Clang**
@ -19,16 +18,17 @@ The following are needed to compile native npm modules:
* **[Python](https://python.org/)** (3.x)
### Optional
* [Yarn](https://yarnpkg.com/) - *If you decide not to install it, use `npx yarn` instead of `yarn`.*
* [FFmpeg](https://www.ffmpeg.org/)
To install the dependiencies on Debian (or derivatives like Ubuntu) you can use the following commands:
```sh
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
apt install build-essential python3 nodejs postgresql redis
corepack enable # for yarn
# Optional dependencies
apt install ffmpeg
corepack enable # for yarn
```
## Create FoundKey user

View file

@ -41,7 +41,7 @@ git merge tags/v13.0.0-preview2 --squash
```
## Making sure modern Yarn works
Foundkey uses Modern Yarn instead of Classic (1.x). To make sure the `yarn` command will work going forward, run `corepack enable`.
Foundkey uses Yarn 3.2.3 instead of 1.x. To make sure the `yarn` command will work going forward, run `corepack enable`.
## Rebuilding and running database migrations
This will be pretty much the same as a regular update of Misskey. Note that `yarn install` may take a while since dependency versions have been updated or removed and we use a newer version of Yarn.

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "جارٍ جلبه مِن الفديفرس…"
ok: " حسناً"
gotIt: "فهِمت"
cancel: " إلغاء"
enterUsername: "أدخِل إسم مسخدم"
renotedBy: "أعاد نشرها {user}"
noNotes: "لم يُعثر على أية ملاحظات"
noNotifications: "ليس هناك أية اشعارات"
@ -29,12 +30,16 @@ login: "لِج"
loggingIn: "جارٍ تسجيل الدخول"
logout: "الخروج"
signup: "أنشئ حسابًا"
uploading: "يرفع..."
save: "حفظ"
users: "المستخدمون"
addUser: "اضافة مستخدم"
favorite: "أضفها للمفضلة"
favorites: "المفضلات"
unfavorite: "إزالة من المفضلة"
favorited: "أُضيف إلى المفضلة."
alreadyFavorited: "تمت إضافته بالفعل إلى المفضلة."
cantFavorite: "تعذرت الإضافة إلى المفضلة."
pin: "دبّسها على الصفحة الشخصية"
unpin: "ألغ تدبيسها من ملفك الشخصي"
copyContent: "انسخ المحتوى"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "أمتأكد من حذف الملاحظة؟ ستفقد ك
addToList: "أضفه إلى قائمة"
sendMessage: "أرسل رسالة"
copyUsername: "انسخ اسم المستخدم"
searchUser: "ابحث عن مستخدمين"
reply: "رد"
loadMore: "عرض المزيد"
showMore: "عرض المزيد"
@ -67,6 +73,7 @@ exportRequested: "قد تستغرق عملية التصدير بعض الوقت.
\ إلى قرص التخزين."
importRequested: "يستغرق الاستيراد بعض الوقت"
lists: "القوائم"
noLists: "ليس لديك أية قائمة"
note: "ملاحظة"
notes: "الملاحظات"
following: "المتابَعون"
@ -91,15 +98,21 @@ followRequest: "طلب اشتراك"
followRequests: "طلبات الإشتراك"
unfollow: "إلغاء الاشتراك"
followRequestPending: "طلبات الإشتراك المعلّقة"
enterEmoji: "أدخل إيموجي"
renote: "أعد النشر"
unrenote: "إلغاء مشاركة الملاحظة"
renoted: "أُعيد نشره"
cantRenote: "لا يمكن إعادة نشر الملاحظة"
cantReRenote: "لا يمكنك إعادة نشر ملاحظة معاد نشرها"
quote: "اقتبس"
pinnedNote: "ملاحظة مدبسة"
pinned: "دبّسها على الصفحة الشخصية"
you: "أنت"
clickToShow: "اضغط للعرض"
sensitive: "محتوى حساس"
add: "إضافة"
reaction: "التفاعلات"
reactionSetting: "التفاعلات المراد عرضها في منتقي التفاعلات."
reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة."
attachCancel: "أزل المرفق"
markAsSensitive: "علّمه كمحتوى حساس"
@ -123,7 +136,10 @@ editWidgetsExit: "تم"
customEmojis: "إيموجي مخصص"
emoji: "إيموجي"
emojis: "إيموجي"
emojiName: "اسم الإيموجي"
emojiUrl: "رابط الإيموجي"
addEmoji: "إضافة إيموجي"
settingGuide: "الإعدادات المستحسنة"
cacheRemoteFiles: "خزن مؤقتا الملفات البعيدة"
flagAsBot: "علّمه كحساب آلي"
flagAsBotDescription: "فعّل هذا الخيار إذا كان هذا الحساب يُدار عبر برمجية. إذا فُعل\
@ -138,8 +154,10 @@ addAccount: "أضف حساباً"
loginFailed: "فشل الولوج"
showOnRemote: "رؤيته على مثيل الخادم البُعدي"
general: "الرئيسية"
wallpaper: "الخلفية"
setWallpaper: "عيّن خلفية"
removeWallpaper: "أزل الخلفية"
searchWith: "البحث: {q}"
youHaveNoLists: "لا تمتلك أية قائمة"
followConfirm: "أتريد متابعة {name}؟"
proxyAccount: "حساب وكيل البروكسي"
@ -152,19 +170,27 @@ selectUser: "حدّد مستخدمًا"
recipient: "المرسَل إليه·ها"
annotation: "التعليقات"
federation: "الفديرالية"
instances: "مثيل الخادم"
registeredAt: "مسجل منذ"
latestRequestSentAt: "آخر طلب أرسِل في"
latestRequestReceivedAt: "آخر طلب تُلقي في"
latestStatus: "الحالات الأخيرة"
storageUsage: "مساحة التخزين المستخدمة"
charts: "المنحنيات البيانية"
perHour: "في الساعة"
perDay: "في اليوم"
stopActivityDelivery: "وقف إرسال النشاط"
blockThisInstance: "احجب مثيل الخادم هذا"
operations: "الإجراءات"
software: "البرمجية"
version: "الإصدار"
metadata: "البيانات الوصفية"
withNFiles: "{n} ملف (ملفات)"
monitor: "شاشة التحكم"
jobQueue: "قائمة الانتظار"
cpuAndMemory: "وحدة المعالجة المركزية والذاكرة"
network: "الشبكة"
disk: "قرص التخزين"
instanceInfo: "معلومات مثيل الخادم"
statistics: "الإحصائيات"
clearQueue: "تفريغ قائمة الإنتظار"
@ -193,6 +219,9 @@ blocked: "محجوب"
suspended: "مُعلّق"
all: "الكل"
notResponding: "لا يستجيب"
instanceFollowing: "المثلاء المتابَعون"
instanceFollowers: "المثلاء المتابِعون"
instanceUsers: "مستخدمو المثيل"
changePassword: "تغيير الكلمة السرية"
security: "الأمان"
retypedNotMatch: "المدخلات لا تتطابق"
@ -208,6 +237,7 @@ lookup: "البحث"
announcements: "الإعلانات"
imageUrl: "رابط الصورة"
remove: "حذف"
removed: "حُذف بنجاح"
removeAreYouSure: "متأكد من أنك تريد حذف {x}؟"
deleteAreYouSure: "متأكد من أنك تريد حذف {x}؟"
resetAreYouSure: "هل تريد إعادة التعيين؟"
@ -248,6 +278,7 @@ lightThemes: "الحلة الفاتحة"
darkThemes: "الحلة الداكنة"
syncDeviceDarkMode: "مطابقة الوضع المضلمومع اعدادات الجهاز"
drive: "قرص التخرين"
fileName: "اسم الملف"
selectFile: "اختر ملفًا"
selectFiles: "اختر ملفات"
selectFolder: "اختر مجلدًا"
@ -300,6 +331,7 @@ enableLocalTimeline: "تفعيل الخيط المحلي"
enableGlobalTimeline: "تفعيل الخيط الزمني الشامل"
disablingTimelinesInfo: "سيتمكن المديرون والمشرفون من الوصول إلى كل الخيوط الزمنية\
\ حتى وإن لم تفعّل."
registration: "إنشاء حساب"
enableRegistration: "تفعيل إنشاء الحسابات الجديدة"
invite: "دعوة"
driveCapacityPerLocalAccount: "حصة التخزين لكل مستخدم محلي"
@ -308,13 +340,26 @@ inMb: "بالميغابايت"
iconUrl: "رابط الأيقونة"
bannerUrl: "رابط صورة اللافتة"
backgroundImageUrl: "رابط صورة الخلفية"
basicInfo: "المعلومات الأساسية "
pinnedUsers: "المستخدمون المدبسون"
pinnedUsersDescription: "قائمة المستخدمين المدبسين في لسان \"استكشف\" ، اجعل كل اسم\
\ مستخدم في سطر لوحده."
pinnedPages: "الصفحات المدبسة"
pinnedPagesDescription: "أدخل مسار الصفحات التي تريد تدبيسها في أعلى هذا الموقع، اجعل\
\ كل مسار في سطر لوحده."
pinnedClipId: "معرّف المشبك المدبس"
pinnedNotes: "ملاحظة مدبسة"
hcaptcha: "hCaptcha"
enableHcaptcha: "فعّل hCaptcha"
hcaptchaSiteKey: "مفتاح الموقع"
hcaptchaSecretKey: "المفتاح السري"
recaptcha: "reCAPTCHA"
enableRecaptcha: "تمكين reCAPTCHA"
recaptchaSiteKey: "مفتاح الموقع"
recaptchaSecretKey: "المفتاح السري"
avoidMultiCaptchaConfirm: "يمكن أن يتسبب استخدام عدة خدمات لكلمات التحقق في حدوث تداخل.\
\ هل ترغب في إلغاء تنشيط الخدمات الأخرى؟ يمكنك ترك هذه الخدمات نشطة بالضغط على \"\
ألغ\"."
antennas: "الهوائيات"
manageAntennas: "إدارة الهوائيات"
name: "الإسم"
@ -339,8 +384,11 @@ popularUsers: "المستخدمون الرائدون"
recentlyUpdatedUsers: "أصحاب النشاطات الأخيرة"
recentlyRegisteredUsers: "المستخدمون المنضمون حديثًا"
recentlyDiscoveredUsers: "المستخدمون المكتشفون حديثًا"
exploreUsersCount: "يوجد {count} مستخدم(ا)"
exploreFediverse: "استكشف الفديفرس"
popularTags: "الوسوم الرائجة"
userList: "القوائم"
about: "عن"
aboutMisskey: "عن FoundKey"
administrator: "المدير"
token: "الرمز المميز"
@ -360,6 +408,7 @@ share: "شارِك"
notFound: "غير موجود"
notFoundDescription: "تعذر العثور على صفحة يقود إليها هذا الرابط."
uploadFolder: "المجلد الافتراضي للرفع"
cacheClear: "مسح ذاكرة التخزين المؤقت"
markAsReadAllNotifications: "وضع جميع الإشعارات كأنها مقروءة"
markAsReadAllUnreadNotes: "علّم جميع الملاحظات كمقروءة"
markAsReadAllTalkMessages: "علّم جميع الرسائل كمقروءة"
@ -390,6 +439,7 @@ noMessagesYet: "ليس هناك رسائل بعد"
newMessageExists: "لقد تلقيت رسالة جديدة"
onlyOneFileCanBeAttached: "يمكنك إرفاق ملف واحد بالرسالة"
signinRequired: "رجاءً لِج"
invitations: "دعوة"
invitationCode: "رمز الدعوة"
checking: "التحقق جارٍ"
available: "متوفر"
@ -409,24 +459,33 @@ or: "أو"
language: "اللغة"
uiLanguage: "لغة واجهة المستخدم"
groupInvited: "دُعيت إلى فريقٍ"
aboutX: "عن {x}"
useOsNativeEmojis: "استخدم الإيموجي الخاصة بنظام التشغيل"
youHaveNoGroups: "لا تمتلك أية فِرَق"
joinOrCreateGroup: "احصل على دعوة لفريق أو أنشئ واحدًا."
noHistory: "السجل فارغ"
signinHistory: "تاريخ تسجيل الدخول"
doing: "انتظر لحظة"
category: "الفئات"
tags: "الوسوم"
docSource: "مصدر هذا المستند"
createAccount: "أنشئ حسابًا"
existingAccount: "الحسابات الموجودة"
regenerate: "أعِد التوليد"
fontSize: "حجم الخط"
noFollowRequests: "ليس لديك طلبات متابعة معلقة"
openImageInNewTab: "إفتح الصورة بصفحة جديدة"
dashboard: "لوحة التحكم"
local: "المحلي"
remote: "بُعدي"
total: "المجموع"
weekOverWeekChanges: "أسبوعيا"
dayOverDayChanges: "يوميا"
appearance: "المظهر"
clientSettings: "إعدادات العميل"
accountSettings: "إعدادات الحساب"
numberOfDays: "عدد الأيام"
hideThisNote: "إخفاء هذه الملاحظة"
showFeaturedNotesInTimeline: "أظهر الملاحظات الشائعة في الخيط الزمني"
objectStorageBaseUrl: "الرابط الأساسي"
objectStoragePrefix: "البادئة"
@ -437,6 +496,8 @@ objectStorageUseSSL: "استخدم SSL"
objectStorageUseSSLDesc: "عطل هذا الخيار إذا لم ترد استخدام API عبر HTTPS"
objectStorageUseProxy: "اتصل عبر وكيل"
objectStorageUseProxyDesc: "عطل هذا الخيار إذا لم ترد استخدام API عبر وكيل"
serverLogs: "سجلات الخادم"
deleteAll: "حذف الكل"
showFixedPostForm: "أظهر نموذج الكتابة في أعلى الصفحة"
newNoteRecived: "هناك ملاحظات جديدة"
sounds: "الرنات"
@ -447,6 +508,7 @@ popout: "منبثقة"
volume: "مستوى الصوت"
masterVolume: "حجم الصوت الرئيس"
details: "التفاصيل"
chooseEmoji: "اختر إيموجي"
unableToProcess: "يتعذر إكمال العملية"
recentUsed: "المستخدمة مؤخرا"
install: "ثبّت"
@ -461,6 +523,7 @@ ascendingOrder: "تصاعدي"
descendingOrder: "تنازلي"
output: "الخارجة"
updateRemoteUser: "تحديث المعلومات عن المستخدم البعيد"
deleteAllFiles: "حذف كافة الملفات"
deleteAllFilesConfirm: "أتريد حذف كل الملفات؟"
removeAllFollowing: "ألغ متابعة كل المتابَعين"
removeAllFollowingDescription: "تنفيذه سيلغي متابعة المستخدمين المتواجدين على {host}.\
@ -476,7 +539,10 @@ addItem: "إضافة عنصر"
relays: "المُرَحلات"
addRelay: "إضافة مُرحّل"
inboxUrl: "رابط صندوق الوارد"
addedRelays: "المرحلات المضافة"
serviceworkerInfo: "يجب أن يفعل لإرسال الإشعارات."
deletedNote: "ملاحظة محذوفة"
invisibleNote: "ملاحظة مخفية"
enableInfiniteScroll: "فعّل التمرير المتواصل"
visibility: "الظهور"
poll: "استطلاع رأي"
@ -486,10 +552,12 @@ disablePlayer: "أغلق مشغل الفيديو"
themeEditor: "مصمم القوالب"
description: "الوصف"
describeFile: "أضف تعليقًا توضيحيًا"
enterFileDescription: "أدخل تعليقًا توضيحيًا"
author: "الكاتب"
leaveConfirm: "لديك تغييرات غير محفوظة. أتريد المتابعة دون حفظها؟"
manage: "إدارة "
plugins: "الإضافات"
useFullReactionPicker: "استخدم الحجم الكامل لمنتقي التفاعلات"
width: "العرض"
height: "الإرتفاع"
large: "كبير"
@ -501,6 +569,7 @@ enableAll: "تشغيل الكل"
disableAll: "تعطيل الكل"
tokenRequested: "منح حق الوصول إلى الحساب"
pluginTokenRequestedDescription: "ستتمكن الإضافة من استخدام هذه الأذونات."
notificationType: "أنواع الإشعارات"
edit: "التعديل"
useStarForReactionFallback: "استخدم ★ كبديل إذا كان التفاعل مجهولًا"
emailServer: "خادم البريد الإلكتروني"
@ -522,7 +591,10 @@ userSaysSomething: "كتب {name} شيءً"
makeActive: "تفعيل"
display: "المظهر"
copy: "نسخ"
metrics: "المقاييس"
overview: "ملخص عام"
logs: "السِجلّات"
delayed: "متأخر"
database: "قاعدة البيانات"
channel: "القنوات"
create: "أنشئ"
@ -538,6 +610,7 @@ regenerateLoginTokenDescription: "ينشئ رمز استيثاق جديد في
setMultipleBySeparatingWithSpace: "يمكنك ادخال أكثر من مدخل واحد وذلك بفصلها بمسافات."
fileIdOrUrl: "معرف الملف أو رابط"
behavior: "السلوك"
sample: "مثال"
abuseReports: "البلاغات"
reportAbuse: "أبلغ"
reportAbuseOf: "أبلغ عن {name}"
@ -552,7 +625,10 @@ send: "أرسل"
abuseMarkAsResolved: "علّم البلاغ كمحلول"
openInNewTab: "افتح في لسان جديد"
defaultNavigationBehaviour: "سلوك الملاحة الافتراضي"
editTheseSettingsMayBreakAccount: "تعديل هذه الإعدادات قد يسبب عطبًا لحسابك"
instanceTicker: "معلومات المثيل الأصلي للملاحظات"
waitingFor: "في انتظار {x}"
random: "عشوائي"
system: "النظام"
switchUi: "بدّل واجهة المستخدم"
desktop: "سطح المكتب"
@ -586,6 +662,7 @@ alwaysMarkSensitive: "علّم افتراضيًا جميع ملاحظاتي كذ
loadRawImages: "حمّل الصور الأصلية بدلًا من المصغرات"
disableShowingAnimatedImages: "لا تشغّل الصور المتحركة"
verificationEmailSent: "أُرسل بريد التحقق. أنقر على الرابط المضمن لإكمال التحقق."
notSet: "لم يعيّن"
emailVerified: "تُحقّق من بريدك الإلكتروني"
noteFavoritesCount: "عدد الملاحظات المفضلة"
pageLikesCount: "عدد الصفحات التي أعجبت بها"
@ -593,6 +670,8 @@ pageLikedCount: "عدد صفحاتك المُعجب بها"
contact: "التواصل"
useSystemFont: "استخدم الخط الافتراضية للنظام"
clips: "مشابك"
experimentalFeatures: "ميّزات اختبارية"
developer: "المطور"
makeExplorable: "أظهر الحساب في صفحة \"استكشاف\""
makeExplorableDescription: "بتعطيل هذا الخيار لن يظهر حسابك في صفحة \"استكشاف\""
showGapBetweenNotesInTimeline: "أظهر فجوات بين المشاركات في الخيط الزمني"
@ -601,16 +680,28 @@ narrow: "رفيع"
reloadToApplySetting: "سيُطبق هذا الإعداد بعد إعادة تحميل الصفحة، أتريد إعادة تحميلها\
\ الآن؟"
needReloadToApply: "سيطبق هذا بعد إعادة التحميل."
showTitlebar: "اعرض شريط العنوان"
clearCache: "امسح التخزين المؤقت"
onlineUsersCount: "{n} مستخدم متصل"
nUsers: "{n} مستخدم"
nNotes: "{n} ملاحظة"
myTheme: "سماتي"
backgroundColor: "لون الخلفية"
accentColor: "طابع لوني"
textColor: "لون النص"
saveAs: "احفظ كـ..."
advanced: "متقدم"
value: "القيمة"
createdAt: "أُنشئ في"
updatedAt: "حُدّث في"
saveConfirm: "أتريد خفظ التغييرات؟"
deleteConfirm: "أمتأكد من الحذف؟"
invalidValue: "قيمة غير صالحة."
registry: "السجل"
closeAccount: "اختر حسبًا"
currentVersion: "الإصدار الحالي"
latestVersion: "آخر نسخة مستقرة"
youAreRunningUpToDateClient: "أنت تستخدم أحدث نسخة من العميل."
newVersionOfClientAvailable: "تتوفر نسخة أحدث للعميل"
usageAmount: "الإستخدام"
capacity: "السعة"
@ -619,9 +710,11 @@ editCode: "حرر الشفرة"
apply: "تطبيق"
receiveAnnouncementFromInstance: "استلم إشعارات من هذا المثيل"
emailNotification: "إشعارات البريد الكتروني"
inChannelSearch: "ابحث عن قناة"
useReactionPickerForContextMenu: "افتح منتقي التفاعلات عند النقر بالزر الأيمن"
typingUsers: "{users} يكتب(ون)..."
jumpToSpecifiedDate: "انتقل إلى تاريخ محدد"
showingPastTimeline: "أنت تستعرض حاليًا خيطًا زمنيًا قديمًا"
clear: "عودة"
markAllAsRead: "علّم الكل كمقروء"
goBack: "رجوع"
@ -634,6 +727,7 @@ notSpecifiedMentionWarning: "في الملاحظة ذكر لمستخدمين ل
info: "عن"
userInfo: "معلومات المستخدم"
unknown: "مجهول"
onlineStatus: "الحالة"
hideOnlineStatus: "اخف الحالة"
hideOnlineStatusDescription: "قد يؤدي جعل اخفاء حالتك إلى تعطيل أداء بعض الميزات ،\
\ مثل البحث."
@ -660,13 +754,22 @@ gallery: "المعرض"
recentPosts: "المشاركات الحديثة"
popularPosts: "المشاركات المتداولة"
shareWithNote: "شاركه في ملاحظة"
expiration: "ينتهي استطلاع الرأي في"
memo: "تذكير"
priority: "الأولوية"
high: "عالية"
middle: "متوسط"
low: "منخفضة"
emailNotConfiguredWarning: "لم تعيّن بريدًا إلكترونيًا"
ratio: "النسبة"
previewNoteText: "اعرض معاينة"
customCss: "CSS مخصصة"
customCssWarn: "استخدم هذه الإعداد فقط إن كان لك علم بماهيّته. إدخال قيمة غير مناسبة\
\ سيسسب ضررًا للعميل."
global: "الشامل"
squareAvatars: "اعرض شكل الصور الرمزية كمربعات"
sent: "أرسل"
received: "اُستلم"
searchResult: "نتائج البحث"
hashtags: "الوسوم"
troubleshooting: "استكشاف الأخطاء وإصلاحها"
@ -741,6 +844,9 @@ _accountDelete:
requestAccountDelete: "أرسل طلبًا لحذف الحساب"
started: "بدأت عملية الحذف."
inProgress: "عملية الحذف جارية"
_ad:
back: "رجوع"
reduceFrequencyOfThisAd: "قلل عرض هذا الإعلان"
_forgotPassword:
enterEmail: "أدخل البريد الإلكتروني المرتبط بحسابك لكي يرسل إليك رابط لإعادة تعيين\
\ كلمة المرور."
@ -760,6 +866,7 @@ _email:
_plugin:
install: "ثبّت إضافات"
installWarn: "رجاءً لا تثبت إضافات غير موثوقة."
manage: "إدارة الإضافات"
_registry:
scope: "الحيّز"
key: "مفتاح"
@ -768,8 +875,10 @@ _registry:
createKey: "أنشئ مفتاحًا"
_aboutMisskey:
about: "ميسكي هو برمجية مفتوحة المصدر يطورها syuilo منذ 2014."
contributors: "المساهمون الرئيسيون"
allContributors: "كل المساهمين"
source: "الشفرة المصدرية"
translation: "ترجم ميسكي"
_nsfw:
respect: "اخف الوسائط ذات المحتوى الحساس"
ignore: "اعرض الوسائط ذات المحتوى الحساس"
@ -876,6 +985,44 @@ _theme:
alreadyInstalled: "هذه السمة مثبتة سلفًا"
invalid: "تنسيق السمة غير صالح"
make: "إنشاء قالب"
addConstant: "أضف ثابتًا"
constant: "ثابت"
defaultValue: "القيمة الافتراضية"
color: "اللون"
key: "مفتاح"
func: "دوال"
funcKind: "نوع الدالة"
argument: "معامل"
alpha: "الشفافية"
inputConstantName: "أدخل اسمًا للثابت"
deleteConstantConfirm: "أمتأكد من حذف الثابت {const}؟"
keys:
accent: "طابع لوني"
bg: "الخلفية"
fg: "النص"
indicator: "المؤشر"
panel: "اللوحة"
shadow: "الظل"
navBg: "خلفية الشريط الجانبي"
navFg: "نص الشريط الجانبي"
navHoverFg: "نص الشريط الجانبي (عند التمرير فوقه)"
link: "رابط"
hashtag: "وسم"
mention: "أشر الى"
renote: "أعد النشر"
divider: "فاصل"
scrollbarHandle: "مقبض شريط التمرير"
scrollbarHandleHover: "مقبض شريط التمرير (عند التمرير فوقه)"
infoWarnBg: "خلفية التحذير"
infoWarnFg: "نص التحذير"
toastBg: "خلفية الإشعارات"
toastFg: "نص الإشعارات"
buttonBg: "خلفية الأزرار"
buttonHoverBg: "خلفية الأزرار (عند التمرير فوقها)"
inputBorder: "حواف حقل الإدخال"
listItemHoverBg: "خلفية عناصر القائمة (عند التمرير فوقها)"
driveFolderBg: "خلفية مجلد قرص التخزين"
messageBg: "خلفية المحادثة"
_sfx:
note: "الملاحظات"
noteMy: "ملاحظتي"
@ -1135,6 +1282,7 @@ _relayStatus:
accepted: "مقبول"
rejected: "مرفوض"
_notification:
fileUploaded: "نجح رفع الملف"
youGotMention: "{name} أشار إليك"
youGotReply: "ردّ عليك {name}"
youGotQuote: "اقتبس منك {name}"
@ -1148,6 +1296,7 @@ _notification:
youWereInvitedToGroup: "دُعيت إلى فريقٍ"
pollEnded: "ظهرت نتائج الاستطلاع"
_types:
all: "الكل"
follow: "متابِعون جدد"
mention: "الإشارات"
reply: "الردود"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "ফেডিভার্স থেকে খবর আন
ok: "ঠিক"
gotIt: "বুঝেছি"
cancel: "বাতিল"
enterUsername: "ইউজারনেম লিখুন"
renotedBy: "{user} রিনোট করেছেন"
noNotes: "কোন নোট নেই"
noNotifications: "কোনো বিজ্ঞপ্তি নেই"
@ -29,12 +30,16 @@ login: "প্রবেশ করুন"
loggingIn: "প্রবেশ করা হচ্ছে..."
logout: "লগআউট"
signup: "নিবন্ধন করুন"
uploading: "আপলোড হচ্ছ …"
save: "সংরক্ষণ"
users: "ব্যবহারকারীগণ"
addUser: "ব্যবহারকারী যোগ করুন"
favorite: "পছন্দ"
favorites: "পছন্দগুলি"
unfavorite: "পছন্দ না"
favorited: "পছন্দ করা হয়েছে"
alreadyFavorited: "ইতিমধ্যে পছন্দ করা হয়েছে"
cantFavorite: "পছন্দ করা যায়নি"
pin: "পিন করা"
unpin: "পিন সরান"
copyContent: "বিষয়বস্তু কপি করুন"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "আপনি কি এই নোটটি মুছে
addToList: "লিস্ট এ যোগ করুন"
sendMessage: "একটি বার্তা পাঠান"
copyUsername: "ব্যবহারকারীর নাম কপি করুন"
searchUser: "ব্যবহারকারী খুঁজুন..."
reply: "জবাব"
loadMore: "আরও দেখুন"
showMore: "আরও দেখুন"
@ -67,6 +73,7 @@ exportRequested: "আপনার তথ্যসমূহ রপ্তানি
\ রপ্তানি সম্পন্ন হলে তা আপনার ড্রাইভে সংরক্ষিত হবে।"
importRequested: "আপনার তথ্যসমূহ আমদানির জন্য অনুরোধ করেছেন। এতে কিছু সময় লাগতে পারে। "
lists: "লিস্ট"
noLists: "কোন লিস্ট নেই"
note: "নোট"
notes: "নোটগুলি"
following: "অনুসরণ করা হচ্ছে"
@ -92,15 +99,21 @@ followRequest: "অনুসরণ করার অনুরোধ"
followRequests: "অনুসরণ করার অনুরোধসমূহ"
unfollow: "অনুসরণ বাতিল"
followRequestPending: "অনুসরণ করার অনুরোধ বিচারাধীন"
enterEmoji: "ইমোজি প্রবেশ করান"
renote: "রিনোট"
unrenote: "রিনোট সরান "
renoted: "রিনোট করা হয়েছে"
cantRenote: "এই নোটটি রিনোট করা যাবে না।"
cantReRenote: "রিনোটকে রিনোট করা যাবে না।"
quote: "উদ্ধৃতি"
pinnedNote: "পিন করা নোট"
pinned: "পিন করা"
you: "আপনি"
clickToShow: "দেখার জন্য ক্লিক করুন"
sensitive: "সংবেদনশীল বিষয়বস্তু"
add: "যুক্ত করুন"
reaction: "প্রতিক্রিয়া"
reactionSetting: "রিঅ্যাকশন পিকারে যেসকল প্রতিক্রিয়া দেখানো হবে"
reactionSettingDescription2: "পুনরায় সাজাতে টেনে আনুন, মুছতে ক্লিক করুন, যোগ করতে\
\ + টিপুন।"
attachCancel: "অ্যাটাচমেন্ট সরান "
@ -125,7 +138,10 @@ editWidgetsExit: "সম্পাদনা শেষ করুন"
customEmojis: "স্বনির্ধারিত ইমোজিগুলি"
emoji: "ইমোজি"
emojis: "ইমোজিগুলি"
emojiName: "ইমোজির নাম"
emojiUrl: "ইমোজির URL"
addEmoji: "ইমোজি যুক্ত করুন"
settingGuide: "সুপারিশকৃত সেটিংস"
cacheRemoteFiles: "রিমোট ফাইলসমুহ ক্যাশ করুন"
cacheRemoteFilesDescription: "যখন এই অপশনটি বন্ধ থাকে তখন রিমোট ফাইল সমূহ সরাসরি রিমোট\
\ ইন্সট্যান্স থেকে লোড করা হয়। এই অপশনটি বন্ধ করলে স্টোরেজ এর ব্যাবহার কমবে তবে\
@ -146,8 +162,10 @@ addAccount: "অ্যাকাউন্ট যোগ করুন"
loginFailed: "প্রবেশ করা যায়নি"
showOnRemote: "রিমোট সার্ভারে দেখুন"
general: "সাধারণ"
wallpaper: "ওয়ালপেপার"
setWallpaper: "ওয়ালপেপার সেট করুন"
removeWallpaper: "ওয়ালপেপার সরান"
searchWith: "খুঁজুন: {q}"
youHaveNoLists: "আপনার কোন লিস্ট নেই"
followConfirm: "{name} কে ফলোও করার ব্যাপারে নিশ্চিত?"
proxyAccount: "প্রক্সি অ্যাকাউন্ট"
@ -161,19 +179,27 @@ selectUser: "ব্যবহারকারী নির্বাচন কর
recipient: "প্রতি"
annotation: "মন্তব্য"
federation: "ফেডিভার্স"
instances: "ইন্সট্যান্স"
registeredAt: "যোগ দিয়েছেন"
latestRequestSentAt: "শেষ রিকুয়েস্ট পাঠানো হয়েছে"
latestRequestReceivedAt: "শেষ রিকুয়েস্ট গৃহীত হয়েছে"
latestStatus: "সর্বশেষ অবস্থা"
storageUsage: "স্টোরেজের ব্যাবহার"
charts: "চার্ট"
perHour: "ঘন্টা প্রতি"
perDay: "দৈনিক"
stopActivityDelivery: "অ্যাক্টিভিটি পাঠানো বন্ধ করুন"
blockThisInstance: "ইন্সট্যান্স ব্লক করুন"
operations: "ক্রিয়াকলাপ"
software: "সফটওয়্যার"
version: "সংস্করণ"
metadata: "মেটাডাটা"
withNFiles: "{n} টি ফাইল"
monitor: "মনিটর"
jobQueue: "জব কিউ"
cpuAndMemory: "সিপিউ এবং মেমরি"
network: "নেটওয়ার্ক"
disk: "ডিস্ক"
instanceInfo: "ইন্সট্যান্সের তথ্য"
statistics: "পরিসংখ্যান"
clearQueue: "কিউ পরিষ্কার করুন"
@ -207,6 +233,9 @@ all: "সবগুলো"
subscribing: "সদস্যতা নেয়া হচ্ছে"
publishing: "প্রকাশ করা হচ্ছে"
notResponding: "সাড়া নেই"
instanceFollowing: "ইন্সট্যান্স অনুসরণ করা হচ্ছে"
instanceFollowers: "ইন্সট্যান্স অনুসরণকারী"
instanceUsers: "ইন্সট্যান্স ব্যাবহারকারী"
changePassword: "পাসওয়ার্ড পরিবর্তন করুন"
security: "নিরাপত্তা"
retypedNotMatch: "ইনপুট মেলে না।"
@ -222,6 +251,7 @@ lookup: "খুঁজে দেখো"
announcements: "ঘোষণা"
imageUrl: "চিত্রের URL"
remove: "মুছুন"
removed: "সরানো হয়েছে"
removeAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যাপারে নিশ্চিত?"
deleteAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যাপারে নিশ্চিত?"
resetAreYouSure: "রিসেট করার ব্যাপারে নিশ্চিত?"
@ -263,6 +293,7 @@ lightThemes: "আলোকিত থিম"
darkThemes: "অন্ধকার থিম"
syncDeviceDarkMode: "ডিভাইসের সেটিং অনুযায়ী ডার্ক মোড সেট করুন"
drive: "ড্রাইভ"
fileName: "ফাইলের নাম"
selectFile: "ফাইল নির্বাচন করুন"
selectFiles: "ফাইল নির্বাচন করুন"
selectFolder: "ফোল্ডার নির্বাচন করুন"
@ -315,6 +346,7 @@ enableLocalTimeline: "স্থানীয় টাইমলাইন চাল
enableGlobalTimeline: "গ্লোবাল টাইমলাইন চালু করুন"
disablingTimelinesInfo: "আপনি এই টাইমলাইনগুলি বন্ধ করলেও প্রশাসক এবং মডারেটররা এই\
\ টাইমলাইনগুলি ব্যাবহার করতে পারবে"
registration: "নিবন্ধন"
enableRegistration: "নতুন ব্যাবহারকারী নিবন্ধন চালু করুন"
invite: "আমন্ত্রণ"
driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
@ -323,13 +355,26 @@ inMb: "মেগাবাইটে লিখুন"
iconUrl: "আইকনের URL (ফ্যাভিকন, ইত্যাদি)"
bannerUrl: "ব্যানার ছবির URL"
backgroundImageUrl: "পটভূমির চিত্রের URL"
basicInfo: "আপনার ব্যক্তিগত তথ্য"
pinnedUsers: "পিন করা ব্যাবহারকারীগণ"
pinnedUsersDescription: "আপনি যেসব ব্যবহারকারীদের \"ঘুরে দেখুন\" পৃষ্ঠায় পিন করতে\
\ চান তাদের বর্ণনা করুন, প্রত্যেকের বর্ণনা আলাদা লাইনে লিখুন"
pinnedPages: "পিন করা পৃষ্ঠাসুমহ"
pinnedPagesDescription: "আপনি যেসকল পৃষ্ঠাসমূহকে \"ঘুরে দেখুন\" পৃষ্ঠায় পিন করতে\
\ চান তাদের বর্ণনা করুন, প্রত্যেকের বর্ণনা আলাদা লাইনে লিখুন"
pinnedClipId: "পিনকৃত ক্লিপের ID"
pinnedNotes: "পিন করা নোট"
hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptcha চালু করুন"
hcaptchaSiteKey: "সাইট কী"
hcaptchaSecretKey: "সিক্রেট কী"
recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA চালু করুন"
recaptchaSiteKey: "সাইট কী"
recaptchaSecretKey: "সিক্রেট কী"
avoidMultiCaptchaConfirm: "একাধিক Captcha ব্যবহার করলে তারা পরস্পরের কাজে বাধা দিতে\
\ পারে। আপনি কি অন্যান্য Captcha নিষ্ক্রিয় করতে চান? আপনি 'বাতিল' ক্লিক করার মাধ্যমে\
\ একাধিক Captcha চালু রাখতে পারেন।"
antennas: "অ্যান্টেনা"
manageAntennas: "অ্যান্টেনা ব্যবস্থাপনা"
name: "নাম"
@ -340,6 +385,7 @@ antennaKeywordsDescription: "স্পেস দিয়ে আলাদা ক
\ লিখলে OR শর্ত তৈরি হবে।"
notifyAntenna: "নতুন নোট সম্পর্কে অবহিত করুন"
withFileAntenna: "শুধুমাত্র ফাইলযুক্ত নোট"
enableServiceworker: "ServiceWorker চালু করুন"
antennaUsersDescription: "প্রত্যেক লাইনে একজন ব্যবহারকারীর নাম লিখুন"
caseSensitive: "ছোট হাতের এবং বড় হাতের অক্ষর নির্দিষ্ট করুন"
withReplies: "জবাবসমুহ যুক্ত করুন"
@ -354,8 +400,11 @@ popularUsers: "জনপ্রিয় ব্যবহারকারীগন"
recentlyUpdatedUsers: "সম্প্রতি পোস্ট করা ব্যবহারকারীগন"
recentlyRegisteredUsers: "নতুন যোগ দেওয়া ব্যবহারকারীগন"
recentlyDiscoveredUsers: "নতুন খুঁজে পাওয়া ব্যবহারকারীগন"
exploreUsersCount: "{count} জন ব্যাবহারকারী"
exploreFediverse: "Fediverse ঘুরে দেখুন"
popularTags: "জনপ্রিয় ট্যাগগুলি"
userList: "লিস্ট"
about: "আপনার সম্পর্কে"
aboutMisskey: "FoundKey সম্পর্কে"
administrator: "প্রশাসক"
token: "টোকেন"
@ -375,6 +424,7 @@ share: "শেয়ার"
notFound: "পাওয়া যায়নি"
notFoundDescription: "এই URL-এর সাথে সম্পর্কিত কোনো পৃষ্ঠা নেই।"
uploadFolder: "আপলোডের জন্য ডিফল্ট ফোল্ডার"
cacheClear: "ক্যাশ পরিষ্কার করুন"
markAsReadAllNotifications: "সমস্ত বিজ্ঞপ্তিগুলি পঠিত হিসাবে চিহ্নিত করুন"
markAsReadAllUnreadNotes: "সমস্ত নোটগুলি পঠিত হিসাবে চিহ্নিত করুন"
markAsReadAllTalkMessages: "সমস্ত মেসেজ পঠিত হিসাবে চিহ্নিত করুন"
@ -405,6 +455,7 @@ noMessagesYet: "কোন মেসেজ নেই"
newMessageExists: "নতুন মেসেজ পেয়েছেন"
onlyOneFileCanBeAttached: "আপনি মেসেজের সাথে সর্বোচ্চ একটি ফাইল যুক্ত করতে পারবেন"
signinRequired: "দয়া করে লগ ইন করুন"
invitations: "আমন্ত্রণ"
invitationCode: "ইনভাইট কোড"
checking: "পরীক্ষা করা হচ্ছে..."
available: "উপলব্ধ"
@ -424,6 +475,7 @@ or: "অথবা"
language: "ভাষা"
uiLanguage: "UI এর ভাষা"
groupInvited: "আপনি একটি গ্রুপে আমন্ত্রিত হয়েছেন"
aboutX: "{x} সম্পর্কে"
useOsNativeEmojis: "অপারেটিং সিস্টেমের নেটিভ ইমোজি ব্যবহার করুন"
disableDrawer: "ড্রয়ার মেনু প্রদর্শন করবেন না"
youHaveNoGroups: "আপনার কোন গ্রুপ নেই "
@ -431,19 +483,27 @@ joinOrCreateGroup: "একটি বিদ্যমান গ্রুপের
noHistory: "কোনো ইতিহাস নেই"
signinHistory: "প্রবেশ করার ইতিহাস"
disableAnimatedMfm: "অ্যানিমেটেড MFM অক্ষম করুন"
doing: "প্রক্রিয়া করছে..."
category: "বিভাগ"
tags: "ট‍্যাগসমূহ"
docSource: "ডকুমেন্টের উৎস"
createAccount: "অ্যাকাউন্ট তৈরি করুন"
existingAccount: "বিদ্যমান অ্যাকাউন্ট"
regenerate: "আবারও তৈরি করুন"
fontSize: "ফন্টের আকার"
noFollowRequests: "আপনার কোন ফলোও রিকুয়েস্ট নেই"
openImageInNewTab: "ছবি নতুন ট্যাবে খুলুন"
dashboard: "ড্যাশবোর্ড"
local: "স্থানীয়"
remote: "রিমোট"
total: "মোট"
weekOverWeekChanges: "গত সপ্তাহে"
dayOverDayChanges: "গতকাল"
appearance: "অবয়ব"
clientSettings: "ক্লায়েন্ট সেটিংস"
accountSettings: "অ্যাকাউন্ট সেটিংস"
numberOfDays: "দিনের সংখ্যা"
hideThisNote: "নোটটি লুকান"
showFeaturedNotesInTimeline: "টাইমলাইনে সুপারিশকৃত নোটগুলি দেখান"
objectStorage: "অবজেক্ট স্টোরেজ"
useObjectStorage: "অবজেক্ট স্টোরেজ ব্যাবহার করুন"
@ -467,6 +527,8 @@ objectStorageUseProxy: "Proxy ব্যাবহার করুন"
objectStorageUseProxyDesc: "আপনি API সংযোগের জন্য proxy ব্যবহার না করলে, এটি বন্ধ\
\ করুন।"
objectStorageSetPublicRead: "আপলোডের উপর ''public-read' সেট করুন"
serverLogs: "সার্ভার লগ"
deleteAll: "সব মুছুন"
showFixedPostForm: "টাইমলাইনের শীর্ষে পোস্ট করার ফর্মটি দেখান"
newNoteRecived: "নতুন নোট আছে"
sounds: "শব্দ"
@ -477,6 +539,7 @@ popout: "পপ-আউট"
volume: "আওয়াজের মাত্রা"
masterVolume: "মাস্টার আওয়াজের মাত্রা"
details: "আরও জানুন"
chooseEmoji: "ইমোজি নির্বাচন করুন"
unableToProcess: "কাজটি সম্পন্ন করা যায়নি"
recentUsed: "সম্প্রতি ব্যবহৃত"
install: "ইন্সটল"
@ -494,7 +557,9 @@ scratchpadDescription: "স্ক্র্যাচপ্যাড AiScript-এ
\ করে। আপনি মিস্কির সাথে ইন্টারঅ্যাক্ট করে এমন কোড লিখতে, চালাতে এবং তার ফলাফল দেখতে\
\ পারেন।"
output: "আউটপুট"
script: "স্ক্রিপ্ট"
updateRemoteUser: "রিমোট ব্যবহারকারীর তথ্য আপডেট করুন"
deleteAllFiles: "সকল ফাইল ডিলিট করুন"
deleteAllFilesConfirm: "সকল ফাইল ডিলিট করতে চান?"
removeAllFollowing: "সকল অনুসরণ বাতিল করুন"
removeAllFollowingDescription: "{host} এর সকল ব্যাবহারকারীকে আর ফলোও করবেন না । যদি\
@ -512,7 +577,10 @@ addItem: "আইটেম যোগ করুন"
relays: "রিলেগুলি"
addRelay: "রিলে যোগ করুন"
inboxUrl: "inbox এর URL"
addedRelays: "যোগকৃত রিলেগুলি"
serviceworkerInfo: "পুশ বিজ্ঞপ্তির জন্য চালু করা লাগবে।"
deletedNote: "ডিলিট করা নোট"
invisibleNote: "অদৃশ্য নোট"
enableInfiniteScroll: "ইনফিনিট স্ক্রল চালু করুন"
visibility: "দৃশ্যমানতা"
poll: "জরিপ"
@ -522,12 +590,15 @@ disablePlayer: "ভিডিও প্লেয়ার বন্ধ করুন"
themeEditor: "থিম সম্পাদক"
description: "বর্ণনা"
describeFile: "ক্যাপশন যোগ করুন"
enterFileDescription: "ক্যাপশন যোগ করুন"
author: "লেখক"
leaveConfirm: "কিছু পরিবর্তন সেভ করা হয়নি। আপনি কি চলে যেতে চান?"
manage: "পরিচালনা"
plugins: "প্লাগইনসমূহ"
deck: "ডেক"
undeck: "ডেকমুক্ত করুন"
useBlurEffectForModal: "মোডালের জন্য ব্লার ইফেক্ট ব্যবহার করুন"
useFullReactionPicker: "সম্পূর্ণ বৈশিষ্ট্যযুক্ত রিঅ্যাকশন পিকার ব্যবহার করুন"
width: "প্রস্থ"
height: "উচ্চতা"
large: "বড়"
@ -539,6 +610,7 @@ enableAll: "সবগুলি সক্রিয় করুন"
disableAll: "সবগুলি নিষ্ক্রিয় করুন"
tokenRequested: "অ্যাকাউন্টে অ্যাক্সেস প্রদান করবেন"
pluginTokenRequestedDescription: "এই প্লাগইনটি এখানে দেওয়া অনুমুতিসমূহ ব্যাবহার করবে"
notificationType: "বিজ্ঞপ্তির ধরন"
edit: "সম্পাদনা"
useStarForReactionFallback: "রিঅ্যাকশনের ইমোজি না জানলে ★ ব্যবহার করুন"
emailServer: "ইমেইল সার্ভার"
@ -566,7 +638,10 @@ userSaysSomething: "{name} কিছু বলেছে"
makeActive: "সক্রিয় করা"
display: "প্রদর্শন"
copy: "অনুলিপি"
metrics: "মেট্রিক্স"
overview: "সারাংশ"
logs: "লগ"
delayed: "দেরি করুন"
database: "ডেটাবেজ"
channel: "চ্যানেলগুলি"
create: "তৈরি করুন"
@ -584,6 +659,7 @@ setMultipleBySeparatingWithSpace: "আপনি একটি স্পেস দ
\ দিতে পারেন।"
fileIdOrUrl: "ফাইল ID অথবা URL"
behavior: "আচরণ"
sample: "উদাহরণ"
abuseReports: "অভিযোগ"
reportAbuse: "অভিযোগ"
reportAbuseOf: "{name} এ অভিযোগ করুন"
@ -598,8 +674,13 @@ forwardReportIsAnonymous: "আপনার তথ্য রিমোট ইন
send: "পাঠান"
abuseMarkAsResolved: "অভিযোগটিকে সমাধাকৃত হিসাবে চিহ্নিত করুন"
openInNewTab: "নতুন ট্যাবে খুলুন"
openInSideView: "সাইড ভিউতে খুলুন"
defaultNavigationBehaviour: "ডিফল্ট নেভিগেশন"
editTheseSettingsMayBreakAccount: "এসব সেটিংস সম্পাদনা করলে আপনার অ্যাকাউন্টের ক্ষতি\
\ হতে পারে। "
instanceTicker: "ইন্সত্যান্সে নোটের তথ্য"
waitingFor: "{x} এর জন্য অপেক্ষা করা হচ্ছে"
random: "র‍্যান্ডম"
system: "সিস্টেম"
switchUi: "UI পরিবর্তন করুন"
desktop: "ডেস্কটপ"
@ -638,6 +719,7 @@ loadRawImages: "সংযুক্ত ছবির থাম্বনেইল
disableShowingAnimatedImages: "অ্যানিমেটেড চিত্র দেখানো বন্ধ করুন"
verificationEmailSent: "নিশ্চিতকরণ ইমেল পাঠানো হয়েছে। সেটআপ সম্পূর্ণ করতে ইমেল এর\
\ লিঙ্ক অনুসরণ করুন।"
notSet: "সেট করা হয়নি"
emailVerified: "ইমেইল নিশ্চিত করা হয়েছে"
noteFavoritesCount: "পছন্দ করা নোটের সংখ্যা"
pageLikesCount: "পেজ লাইক করেছেন"
@ -645,6 +727,8 @@ pageLikedCount: "পেজ লাইক পেয়েছেন"
contact: "পরিচিতি সমূহ"
useSystemFont: "সিস্টেম ফন্ট ব্যাবহার করুন"
clips: "ক্লিপগুলি "
experimentalFeatures: "পরীক্ষামূলক বৈশিষ্ট্যগুলি"
developer: "ডেভেলপার"
makeExplorable: "অ্যাকাউন্ট \"ঘুরে দেখুন\" পৃষ্ঠায় দেখান"
makeExplorableDescription: "আপনি এটি বন্ধ করলে, আপনার অ্যাকাউন্ট \"ঘুরে দেখুন\" পৃষ্ঠায়\
\ প্রদর্শিত হবে না।"
@ -657,16 +741,28 @@ narrow: "সংকীর্ণ"
reloadToApplySetting: "পৃষ্ঠাটি রিলোড করার পর সেটিংসটি প্রয়োগ করা হবে। আপনি কি এখন\
\ রিলোড করতে চান?"
needReloadToApply: "পৃষ্ঠাটি রিলোড করার পর সেটিংসটি প্রয়োগ করা হবে।"
showTitlebar: "টাইটেল বার দেখান"
clearCache: "ক্যাশ পরিষ্কার করুন"
onlineUsersCount: "{n} জন ব্যাবহারকারী অনলাইন"
nUsers: "{n} জন ব্যাবহারকারী"
nNotes: "{n} টি নোট"
myTheme: "আমার থিম"
backgroundColor: "পটভূমির রং"
accentColor: "এক্সেন্টের রং"
textColor: "লেখার রং"
saveAs: "এইরূপে সংরক্ষণ করুন"
advanced: "উন্নত"
value: "মান"
createdAt: "তৈরি হয়েছে"
updatedAt: "শেষ হালনাগাদ হয়েছে"
saveConfirm: "পরিবর্তনগুলি সংরক্ষণ করতে চান?"
deleteConfirm: "আসলেই মুছে ফেলতে চান?"
invalidValue: "অগ্রহণযোগ্য মান"
registry: "রেজিস্ট্রি"
closeAccount: "অ্যাকাউন্ট বন্ধ করুন"
currentVersion: "বর্তমান সংস্করণ"
latestVersion: "সর্বশেষ সংস্করণ"
youAreRunningUpToDateClient: "আপনি সবচেয়ে নতুন ক্লায়েন্ট ব্যাবহার করছেন"
newVersionOfClientAvailable: "আপনার ক্লায়েন্টের একটি নতুন ভার্সন চলে এসেছে"
usageAmount: "ব্যাবহার"
capacity: "ধারণক্ষমতা"
@ -676,9 +772,11 @@ apply: "প্রয়োগ করুন"
receiveAnnouncementFromInstance: "এই ইন্সট্যান্স থেকে বিজ্ঞপ্তি পান"
emailNotification: "ইমেইল বিজ্ঞপ্তি"
publish: "প্রকাশ"
inChannelSearch: "চ্যানেলে খুঁজুন"
useReactionPickerForContextMenu: "রাইট ক্লিকের মাধ্যমে রিঅ্যাকশন পিকার খুলুন"
typingUsers: "{users} লেখছে"
jumpToSpecifiedDate: "একটি নির্দিষ্ট তারিখে যান"
showingPastTimeline: "অতীতের টাইমলাইন দেখানো হচ্ছে"
clear: "পরিষ্কার"
markAllAsRead: "সব পঠিত হিসেবে চিহ্নিত করুন"
goBack: "পিছনে"
@ -693,6 +791,7 @@ notSpecifiedMentionWarning: "প্রাপক ছাড়াও এই নোট
info: "আপনার সম্পর্কে"
userInfo: "ব্যবহারকারীর তথ্য"
unknown: "অজানা"
onlineStatus: "অনলাইন স্ট্যাটাস"
hideOnlineStatus: "অনলাইন স্ট্যাটাস লুকান"
hideOnlineStatusDescription: "অনলাইন স্ট্যাটাস লুকিয়ে রাখলে সার্চের মতো কিছু ফাংশনের\
\ সুবিধা কমে যায়।"
@ -719,13 +818,22 @@ gallery: "গ্যালারী"
recentPosts: "নতুন পোস্ট"
popularPosts: "জনপ্রিয় পোস্ট"
shareWithNote: "নোটের মাধ্যমে শেয়ার করুন"
expiration: "নির্দিষ্ট সময়সীমা"
memo: "মেমো"
priority: "অগ্রাধিকার"
high: "উচ্চ"
middle: "মাঝারি"
low: "নিম্ন"
emailNotConfiguredWarning: "ইমেইল অ্যাড্রেস সেট করা হয়নি।"
ratio: "অনুপাত"
previewNoteText: "প্রিভিউ দেখান"
customCss: "কাস্টম CSS"
customCssWarn: "এই ব্যাপারে অভিজ্ঞতা না থাকলে এই সেটিংটি ব্যাবহার করবেন না। অনুপযুক্ত\
\ সেটিংস ক্লায়েন্টকে স্বাভাবিকভাবে ব্যবহার করতে বাধা দিতে পারে।"
global: "গ্লোবাল"
squareAvatars: "চারকোনা প্রোফাইল পিকচার দেখান "
sent: "পাঠান"
received: "প্রাপ্ত"
searchResult: "অনুসন্ধানের ফলাফল"
hashtags: "হ্যাশট্যাগ"
troubleshooting: "ট্রাবলশুটিং"
@ -816,6 +924,9 @@ _accountDelete:
requestAccountDelete: "অ্যাকাউন্ট মুছে ফেলার অনুরোধ করুন"
started: "মুছে ফেলার প্রক্রিয়া শুরু হয়েছে।"
inProgress: "মুছে ফেলার কাজ চলছে"
_ad:
back: "পিছনে"
reduceFrequencyOfThisAd: "এই বিজ্ঞাপনটি কম দেখান"
_forgotPassword:
enterEmail: "আপনি আপনার অ্যাকাউন্টের জন্য নিবন্ধিত ইমেল ঠিকানা লিখুন. সেই ঠিকানায়\
\ একটি পাসওয়ার্ড রিসেট লিঙ্ক পাঠানো হবে।"
@ -836,6 +947,7 @@ _email:
_plugin:
install: "প্লাগইন ইন্সটল করুন"
installWarn: "অবিশ্বস্ত প্লাগইন ইনস্টল করবেন না।"
manage: "প্লাগইন ম্যানেজ করুন"
_registry:
scope: "স্কোপ"
key: "কী"
@ -844,8 +956,10 @@ _registry:
createKey: "কী বানান"
_aboutMisskey:
about: "FoundKey, একটি ওপেন সোর্স সফ্টওয়্যার যা 2014 সাল থেকে syuilo তৈরি করছেন।"
contributors: "প্রধান কন্ট্রিবিউটারগণ"
allContributors: "সকল কন্ট্রিবিউটারগণ"
source: "সোর্স কোড"
translation: "FoundKey অনুবাদ করুন"
_nsfw:
respect: "স্পর্শকাতর মিডিয়া লুকান"
ignore: "স্পর্শকাতর মিডিয়া লুকাবেন না"
@ -972,6 +1086,69 @@ _theme:
alreadyInstalled: "এই থিমটি ইতিমধ্যে ইন্সটল করা হয়েছে"
invalid: "থিমটির ফরম্যাট সঠিক নয়"
make: "থিম বানান"
base: "বেস"
addConstant: "ধ্রুবক যোগ করুন"
constant: "ধ্রুবক"
defaultValue: "ডিফল্ট মান"
color: "রং"
refProp: "প্রোপার্টি রেফারেন্স করুন"
refConst: "ধ্রুবক রেফারেন্স করুন"
key: "কী"
func: "ফাংশন"
funcKind: "ফাংশনের ধরন"
argument: "আর্গুমেন্ট"
basedProp: "রেফারেন্স করা প্রোপার্টি"
alpha: "অস্বচ্ছতা"
darken: "অন্ধকার করুন"
lighten: "উজ্জ্বল করুন"
inputConstantName: "ধ্রুবকটির নাম লিখুন"
importInfo: "আপনি এখানে থিম কোড পেস্ট করতে পারেন এবং সেটিকে এডিটরে ইম্পোর্ট করতে\
\ পারেন"
deleteConstantConfirm: "আপনি কি ধ্রুবক {const} মুছে ফেলতে চান?"
keys:
accent: "অ্যাকসেন্ট"
bg: "পটভূমি"
fg: "লেখা"
focus: "ফোকাস"
indicator: "ইনডিকেটর"
panel: "প্যানেল"
shadow: "ছায়া"
header: "হেডার"
navBg: "সাইডবারের পটভূমি"
navFg: "সাইডবারের পাঠ্য"
navHoverFg: "সাইডবারের পাঠ্য (হভার)"
navActive: "সাইডবারের পাঠ্য (অ্যাকটিভ)"
navIndicator: "সাইডবারের ইনডিকেটর"
link: "লিংক"
hashtag: "হ্যাশট্যাগ"
mention: "উল্লেখ"
mentionMe: "আপনাকে উল্লেখ্য করা"
renote: "রিনোট"
modalBg: "মোডালের পটভূমি"
divider: "খন্ডক"
scrollbarHandle: "স্ক্রলবার হ্যান্ডেল"
scrollbarHandleHover: "স্ক্রলবার হ্যান্ডেল (হভার)"
dateLabelFg: "তারিখ লেবেলের পাঠ্য"
infoBg: "তথ্যের পটভূমি"
infoFg: "তথ্যের পাঠ্য"
infoWarnBg: "ওয়ার্নিং এর পটভূমি"
infoWarnFg: "ওয়ার্নিং এর পাঠ্য"
cwBg: "CW বাটনের পটভূমি"
cwFg: "CW বাটনের পাঠ্য"
cwHoverBg: "CW বাটনের পটভূমি (হভার)"
toastBg: "বিজ্ঞপ্তির পটভূমি"
toastFg: "বিজ্ঞপ্তির পাঠ্য"
buttonBg: "বাটনের পটভূমি"
buttonHoverBg: "বাটনের পটভূমি (হভার)"
inputBorder: "ইনপুট ফিল্ডের বর্ডার"
listItemHoverBg: "লিস্ট আইটেমের পটভূমি (হোভার)"
driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি"
wallpaperOverlay: "ওয়ালপেপার ওভারলে"
badge: "ব্যাজ"
messageBg: "চ্যাটের পটভূমি"
accentDarken: "অ্যাকসেন্ট (গাঢ়)"
accentLighten: "অ্যাকসেন্ট (হাল্কা)"
fgHighlighted: "হাইলাইট করা পাঠ্য"
_sfx:
note: "নোটগুলি"
noteMy: "নোট (আপনার)"
@ -1251,6 +1428,7 @@ _relayStatus:
accepted: "অনুমোদিত"
rejected: "প্রত্যাখিত"
_notification:
fileUploaded: "ফাইল সফলভাবে আপলোড করা হয়েছে"
youGotMention: "{name} আপনাকে উল্লেখ্য করেছে"
youGotReply: "{name} আপনাকে জবাব দিয়েছে"
youGotQuote: "{name} আপনাকে উদ্ধৃত করেছে"
@ -1265,6 +1443,7 @@ _notification:
pollEnded: "পোলের ফলাফল দেখা যাবে"
emptyPushNotificationMessage: "আপডেট করা পুশ বিজ্ঞপ্তি"
_types:
all: "সকল"
follow: "অনুসরণ করা হচ্ছে"
mention: "উল্লেখ"
reply: "উত্তর দিন"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Cercant en el Fediverse..."
ok: "OK"
gotIt: "Ho he entès!"
cancel: "Cancel·lar"
enterUsername: "Introdueix el teu nom d'usuari"
renotedBy: "Resignat per {usuari}"
noNotes: "Cap nota"
noNotifications: "Cap notificació"
@ -29,12 +30,16 @@ login: "Iniciar sessió"
loggingIn: "Identificant-se"
logout: "Tancar la sessió"
signup: "Registrar-se"
uploading: "Pujant..."
save: "Desar"
users: "Usuaris"
addUser: "Afegir un usuari"
favorite: "Afegir a preferits"
favorites: "Favorits"
unfavorite: "Eliminar dels preferits"
favorited: "Afegit als preferits."
alreadyFavorited: "Ja s'ha afegit als preferits."
cantFavorite: "No s'ha pogut afegir als preferits."
pin: "Fixar al perfil"
unpin: "Para de fixar del perfil"
copyContent: "Copiar el contingut"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Estàs segur que vols suprimir aquesta nota i editar-la?
addToList: "Afegir a una llista"
sendMessage: "Enviar un missatge"
copyUsername: "Copiar nom d'usuari"
searchUser: "Cercar usuaris"
reply: "Respondre"
loadMore: "Carregar més"
showMore: "Veure més"
@ -67,6 +73,7 @@ exportRequested: "Has sol·licitat una exportació. Això pot trigar una estona.
\ a la teva unitat un cop completat."
importRequested: "Has sol·licitat una importació. Això pot trigar una estona."
lists: "Llistes"
noLists: "No tens cap llista"
note: "Nota"
notes: "Notes"
following: "Seguint"
@ -93,21 +100,29 @@ followRequest: "Enviar la sol·licitud de seguiment"
followRequests: "Sol·licituds de seguiment"
unfollow: "Deixar de seguir"
followRequestPending: "Sol·licituds de seguiment pendents"
enterEmoji: "Introduir un emoji"
renote: "Renotar"
unrenote: "Anul·lar renota"
renoted: "Renotat."
cantRenote: "Aquesta publicació no pot ser renotada."
cantReRenote: "Impossible renotar una renota."
quote: "Citar"
pinnedNote: "Nota fixada"
pinned: "Fixar al perfil"
you: "Tu"
clickToShow: "Fes clic per mostrar"
sensitive: "NSFW"
add: "Afegir"
reaction: "Reaccions"
reactionSetting: "Reaccions a mostrar al selector de reaccions"
reactionSettingDescription2: "Arrossega per reordenar, fes clic per suprimir, prem\
\ \"+\" per afegir."
attachCancel: "Eliminar el fitxer adjunt"
markAsSensitive: "Marcar com a NSFW"
instances: "Instàncies"
remove: "Eliminar"
nsfw: "NSFW"
pinnedNotes: "Nota fixada"
userList: "Llistes"
smtpUser: "Nom d'usuari"
smtpPass: "Contrasenya"
@ -119,7 +134,10 @@ _mfm:
mention: "Menció"
quote: "Citar"
search: "Cercar"
_theme: {}
_theme:
keys:
mention: "Menció"
renote: "Renotar"
_sfx:
note: "Notes"
notification: "Notificacions"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Načítám data z Fediversu..."
ok: "Potvrdit"
gotIt: "Rozumím!"
cancel: "Zrušit"
enterUsername: "Zadej uživatelské jméno"
renotedBy: "{user} přeposla/a"
noNotes: "Žádné poznámky"
noNotifications: "Žádná oznámení"
@ -29,12 +30,16 @@ login: "Přihlásit se"
loggingIn: "Probíhá přihlašování"
logout: "Odhlásit"
signup: "Registrace"
uploading: "Nahrávám"
save: "Uložit"
users: "Uživatelé"
addUser: "Přidat uživatele"
favorite: "Oblíbené"
favorites: "Oblíbené"
unfavorite: "Odebrat z oblízených"
favorited: "Přidáno do oblíbených"
alreadyFavorited: "Už je mezi oblíbenými"
cantFavorite: "Nepodařilo se přidat mezi oblíbené."
pin: "Připnout"
unpin: "Odepnout"
copyContent: "Zkopírovat obsah"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editova
addToList: "Přidat do seznamu"
sendMessage: "Odeslat zprávu"
copyUsername: "Kopírovat uživatelské jméno"
searchUser: "Vyhledat uživatele"
reply: "Odpovědět"
loadMore: "Zobrazit více"
showMore: "Zobrazit více"
@ -66,6 +72,7 @@ exportRequested: "Požádali jste o export. To může chvíli trvat. Přidáme h
\ Disk až bude dokončen."
importRequested: "Požádali jste o export. To může chvilku trvat."
lists: "Seznamy"
noLists: "Nemáte žádné seznamy"
note: "Poznámka"
notes: "Poznámky"
following: "Sledovaní"
@ -89,10 +96,15 @@ followRequest: "Odeslat žádost o sledování"
followRequests: "Žádosti o sledování"
unfollow: "Přestat sledovat"
followRequestPending: "Čekající žádosti o sledování"
enterEmoji: "Vložte emoji"
renote: "Přeposlat"
unrenote: "Zrušit přeposlání"
renoted: "Přeposláno"
cantRenote: "Tento příspěvek nelze přeposlat."
cantReRenote: "Odpověď nemůže být odstraněna."
quote: "Citovat"
pinnedNote: "Připnutá poznámka"
pinned: "Připnout"
you: "Vy"
clickToShow: "Klikněte pro zobrazení"
sensitive: "NSFW"
@ -122,7 +134,10 @@ editWidgetsExit: "Hotovo"
customEmojis: "Vlastní emoji"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Jméno emoji"
emojiUrl: "URL obrázku"
addEmoji: "Přidat emoji"
settingGuide: "Doporučené nastavení"
cacheRemoteFiles: "Ukládání vzdálených souborů do mezipaměti"
cacheRemoteFilesDescription: "Zakázání tohoto nastavení způsobí, že vzdálené soubory\
\ budou odkazovány přímo, místo aby byly ukládány do mezipaměti. Tím se ušetří úložiště\
@ -141,8 +156,10 @@ addAccount: "Přidat účet"
loginFailed: "Přihlášení se nezdařilo."
showOnRemote: "Více na původním profilu"
general: "Obecně"
wallpaper: "Obrázek na pozadí"
setWallpaper: "Nastavení obrázku na pozadí"
removeWallpaper: "Odstranit pozadí"
searchWith: "Hledat: {q}"
youHaveNoLists: "Nemáte žádné seznamy"
followConfirm: "Jste si jisti, že chcete sledovat {name}?"
proxyAccount: "Proxy účet"
@ -155,19 +172,27 @@ selectUser: "Vyberte uživatele"
recipient: "Pro"
annotation: "Komentáře"
federation: "Federace"
instances: "Instance"
registeredAt: "Registrován"
latestRequestSentAt: "Poslední požadavek poslán"
latestRequestReceivedAt: "Poslední požadavek přijat"
latestStatus: "Poslední status"
storageUsage: "Využití úložiště"
charts: "Grafy"
perHour: "za hodinu"
perDay: "za den"
stopActivityDelivery: "Přestat zasílat aktivitu"
blockThisInstance: "Blokovat tuto instanci"
operations: "Operace"
software: "Software"
version: "Verze"
metadata: "Metadata"
withNFiles: "{n} soubor(ů)"
monitor: "Monitorovat"
jobQueue: "Fronta úloh"
cpuAndMemory: "CPU a paměť"
network: "Síť"
disk: "Disk"
instanceInfo: "Informace o instanci"
statistics: "Statistiky"
clearQueue: "Vyčistit frontu"
@ -189,6 +214,9 @@ all: "Vše"
subscribing: "Odebíráte"
publishing: "Publikuji"
notResponding: "Neodpovídá"
instanceFollowing: "Následovníci na instanci"
instanceFollowers: "Následovníci na instanci"
instanceUsers: "Uživatelé této instance"
changePassword: "Změnit heslo"
security: "Zabezpečení"
currentPassword: "Současné heslo"
@ -202,6 +230,7 @@ noSuchUser: "Uživatel nebyl nalezen"
announcements: "Oznámení"
imageUrl: "URL obrázku"
remove: "Smazat"
removed: "Smazáno"
removeAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
resetAreYouSure: "Opravdu resetovat?"
@ -239,6 +268,7 @@ lightThemes: "Světlý vzhled"
darkThemes: "Tmavý vzhled"
syncDeviceDarkMode: "Synchronizovat tmavý vzhled s nastavením Vašeho systému"
drive: "Úložiště"
fileName: "Název souboru"
selectFile: "Vybrat soubor"
selectFiles: "Vybrat soubory"
selectFolder: "Vyberte složku"
@ -282,23 +312,32 @@ connectService: "Připojit"
disconnectService: "Odpojit"
enableLocalTimeline: "Povolit lokální čas"
enableGlobalTimeline: "Povolit globální čas"
registration: "Registrace"
enableRegistration: "Povolit registraci novým uživatelům"
invite: "Pozvat"
inMb: "V megabajtech"
iconUrl: "Favicon URL"
bannerUrl: "Baner URL"
backgroundImageUrl: "Adresa URL obrázku pozadí"
basicInfo: "Základní informace"
pinnedUsers: "Připnutí uživatelé"
pinnedNotes: "Připnutá poznámka"
hcaptcha: "hCaptcha"
enableHcaptcha: "Aktivovat hCaptchu"
hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnout ReCAPTCHu"
recaptchaSecretKey: "Tajný Klíč (Secret Key)"
antennas: "Antény"
manageAntennas: "Spravovat Antény"
name: "Jméno"
antennaSource: "Zdroj Antény"
enableServiceworker: "Povolit ServiceWorker"
caseSensitive: "Rozlišuje malá a velká písmena"
connectedTo: "Následující účty jsou připojeny"
popularTags: "Populární tagy"
userList: "Seznamy"
about: "Informace"
aboutMisskey: "O FoundKey"
administrator: "Administrátor"
token: "Token"
@ -317,6 +356,7 @@ share: "Sdílet"
notFound: "Nenalezeno"
notFoundDescription: "Nebyla nalezená žádná stránka korespondující se zadanou URL."
uploadFolder: "Výchozí lokace pro upload"
cacheClear: "Vymazat cache"
markAsReadAllNotifications: "Označit všechna oznámení za přečtená"
markAsReadAllUnreadNotes: "Označit všechny příspěvky za přečtené"
markAsReadAllTalkMessages: "Označit všechny zprávy za přečtené"
@ -342,6 +382,7 @@ inviteToGroup: "Pozvat do skupiny"
newMessageExists: "Máte novou zprávu"
onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor"
signinRequired: "Přihlašte se, prosím"
invitations: "Pozvat"
checking: "Ověřuji"
available: "K dispozici"
unavailable: "Není k dispozici"
@ -359,6 +400,7 @@ or: "Nebo"
language: "Jazyk"
uiLanguage: "Jazyk uživatelského rozhraní"
groupInvited: "Pozvat do skupiny"
aboutX: "O {x}"
useOsNativeEmojis: "Použití nativních emoji operačního systému"
youHaveNoGroups: "Nemáte žádné skupiny"
joinOrCreateGroup: "Můžete požádat o pozvání do stávající skupiny nebo vytvořit novou."
@ -368,16 +410,23 @@ category: "Kategorie"
tags: "Štítky"
createAccount: "Vytvořit účet"
existingAccount: "Existující účet"
regenerate: "Obnovit"
fontSize: "Velikost písma"
openImageInNewTab: "Otevřít obrázek v novém panelu"
dashboard: "Přehled"
local: "Lokální"
remote: "Vzdálené"
total: "Celkem"
weekOverWeekChanges: "Týdně"
dayOverDayChanges: "Denně"
appearance: "Vzhled"
clientSettings: "Nastavení klienta"
accountSettings: "Nastavení účtu"
numberOfDays: "Počet dní"
deleteAll: "Smazat vše"
showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou"
masterVolume: "Celková hlasitost"
chooseEmoji: "Vybrat emotikon"
unableToProcess: "Operace nebyla dokončena."
recentUsed: "Naposledy použité"
install: "Nainstalovat"
@ -391,13 +440,16 @@ ascendingOrder: "Vzestupně"
descendingOrder: "Sestupně"
scratchpad: "Zápisník"
output: "Výstup"
script: "Skript"
updateRemoteUser: "Aktualizovat informace o vzdáleném účtu"
deleteAllFiles: "Smazat všechny soubory"
deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?"
userSuspended: "Tomuto uživateli byl pozastaven účet."
menu: "Menu"
addItem: "Přidat položku"
inboxUrl: "Inbox URL"
deletedNote: "Odstraněné příspěvky"
invisibleNote: "Skryté příspěvky"
description: "Popis"
author: "Autor"
manage: "Administrace"
@ -406,6 +458,7 @@ generateAccessToken: "Vygenerovat přístupový token"
permission: "Oprávnění"
enableAll: "Povolit vše"
disableAll: "Vypnout vše"
notificationType: "Typy oznámení"
edit: "Upravit"
emailServer: "Mailový server"
enableEmail: "Zapnout email dystribuci"
@ -420,6 +473,7 @@ smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS"
makeActive: "Aktivovat"
display: "Zobrazit"
copy: "Kopírovat"
logs: "Logy"
database: "Databáze"
create: "Vytvořit"
notificationSetting: "Nastavení oznámení"
@ -427,6 +481,7 @@ useGlobalSetting: "Použít globální nastavení"
other: "Ostatní"
fileIdOrUrl: "ID nebo URL souboru"
behavior: "Chování"
sample: "Ukázka"
clearCache: "Vyprázdnit mezipaměť"
info: "Informace"
user: "Uživatelé"
@ -441,6 +496,9 @@ _mfm:
search: "Vyhledávání"
_theme:
description: "Popis"
keys:
mention: "Zmínění"
renote: "Přeposlat"
_sfx:
note: "Poznámky"
notification: "Oznámení"

View file

@ -15,6 +15,7 @@ fetchingAsApObject: "Wird aus dem Fediverse angefragt …"
ok: "OK"
gotIt: "Verstanden!"
cancel: "Abbrechen"
enterUsername: "Benutzername eingeben"
renotedBy: "Renote von {user}"
noNotes: "Keine Notizen gefunden"
noNotifications: "Keine Benachrichtigungen gefunden"
@ -30,12 +31,16 @@ login: "Anmelden"
loggingIn: "Anmeldung durchführen"
logout: "Abmelden"
signup: "Registrieren"
uploading: "Wird hochgeladen …"
save: "Speichern"
users: "Benutzer"
addUser: "Benutzer hinzufügen"
favorite: "Zu Favoriten hinzufügen"
favorites: "Favoriten"
unfavorite: "Aus Favoriten entfernen"
favorited: "Zu Favoriten hinzugefügt."
alreadyFavorited: "Bereits zu den Favoriten hinzugefügt."
cantFavorite: "Hinzufügen zu Favoriten fehlgeschlagen."
pin: "An dein Profil anheften"
unpin: "Von deinem Profil lösen"
copyContent: "Inhalt kopieren"
@ -47,6 +52,7 @@ deleteAndEditConfirm: "Möchtest du diese Notiz wirklich löschen und bearbeiten
addToList: "Zu Liste hinzufügen"
sendMessage: "Nachricht senden"
copyUsername: "Benutzernamen kopieren"
searchUser: "Nach einem Benutzer suchen"
reply: "Antworten"
loadMore: "Mehr laden"
showMore: "Mehr anzeigen"
@ -70,6 +76,7 @@ exportRequested: "Du hast einen Export angefragt. Dies kann etwas Zeit in Anspru
importRequested: "Du hast einen Import angefragt. Dies kann etwas Zeit in Anspruch\
\ nehmen."
lists: "Listen"
noLists: "Keine Listen gefunden"
note: "Notiz"
notes: "Notizen"
following: "Folgt"
@ -97,15 +104,21 @@ followRequest: "Follow-Anfrage senden"
followRequests: "Follow-Anfragen"
unfollow: "Nicht mehr folgen"
followRequestPending: "Follow-Anfrage ausstehend"
enterEmoji: "Gib ein Emoji ein"
renote: "Renote"
unrenote: "Renote zurücknehmen"
renoted: "Renote getätigt."
cantRenote: "Renote dieses Beitrags nicht möglich."
cantReRenote: "Renote einer Renote nicht möglich."
quote: "Zitieren"
pinnedNote: "Angeheftete Notiz"
pinned: "Angeheftet"
you: "Du"
clickToShow: "Zum Anzeigen anklicken"
sensitive: "NSFW"
add: "Hinzufügen"
reaction: "Reaktionen"
reactionSetting: "In der Reaktionsauswahl anzuzeigende Reaktionen"
reactionSettingDescription2: "Ziehe um Anzuordnen, klicke um zu löschen, drücke „+“\
\ um hinzuzufügen."
attachCancel: "Anhang entfernen"
@ -130,7 +143,10 @@ editWidgetsExit: "Fertig"
customEmojis: "Benutzerdefinierte Emojis"
emoji: "Emoji"
emojis: "Emojis"
emojiName: "Emoji-Name"
emojiUrl: "Emoji-URL"
addEmoji: "Emoji hinzufügen"
settingGuide: "Empfohlene Einstellung"
cacheRemoteFiles: "Dateien von fremden Instanzen im Cache speichern"
cacheRemoteFilesDescription: "Ist diese Einstellung deaktiviert, so werden Dateien\
\ fremder Instanzen direkt von dort geladen. Hierdurch wird Speicherplatz auf diesem\
@ -152,8 +168,10 @@ addAccount: "Benutzerkonto hinzufügen"
loginFailed: "Anmeldung fehlgeschlagen"
showOnRemote: "Auf Ursprungsinstanz ansehen"
general: "Allgemein"
wallpaper: "Hintergrund"
setWallpaper: "Hintergrund festlegen"
removeWallpaper: "Hintergrund entfernen"
searchWith: "Suchen: {q}"
youHaveNoLists: "Du hast keine Listen"
followConfirm: "Möchtest du {name} wirklich folgen?"
proxyAccount: "Proxy-Benutzerkonto"
@ -168,19 +186,27 @@ selectUser: "Benutzer auswählen"
recipient: "Empfänger"
annotation: "Anmerkung"
federation: "Föderation"
instances: "Instanzen"
registeredAt: "Registriert am"
latestRequestSentAt: "Letzte Anfrage gesendet"
latestRequestReceivedAt: "Letzte Anfrage erhalten"
latestStatus: "Neuster Status"
storageUsage: "Verbrauchter Speicherplatz"
charts: "Diagramme"
perHour: "Pro Stunde"
perDay: "Pro Tag"
stopActivityDelivery: "Senden von Aktivitäten einstellen"
blockThisInstance: "Diese Instanz blockieren"
operations: "Aktionen"
software: "Software"
version: "Version"
metadata: "Metadaten"
withNFiles: "{n} Datei(en)"
monitor: "Beobachten"
jobQueue: "Job-Warteschlange"
cpuAndMemory: "CPU und Arbeitsspeicher"
network: "Netzwerk"
disk: "Festplatte"
instanceInfo: "Instanzinformationen"
statistics: "Statistiken"
clearQueue: "Warteschlange leeren"
@ -215,6 +241,9 @@ all: "Alles"
subscribing: "Wird abonniert"
publishing: "Wird veröffentlicht"
notResponding: "Antwortet nicht"
instanceFollowing: "Gefolgt auf der Instanz"
instanceFollowers: "Follower der Instanz"
instanceUsers: "Benutzer der Instanz"
changePassword: "Passwort ändern"
security: "Sicherheit"
retypedNotMatch: "Die Eingaben stimmen nicht überein."
@ -230,6 +259,7 @@ lookup: "Anfragen"
announcements: "Ankündigungen"
imageUrl: "Bild-URL"
remove: "Löschen"
removed: "Erfolgreich gelöscht"
removeAreYouSure: "Möchtest du „{x}“ wirklich entfernen?"
deleteAreYouSure: "Möchtest du „{x}“ wirklich löschen?"
resetAreYouSure: "Wirklich zurücksetzen?"
@ -272,6 +302,7 @@ lightThemes: "Helle Farbschemata"
darkThemes: "Dunkle Farbschemata"
syncDeviceDarkMode: "Einstellung deines Geräts übernehmen"
drive: "Drive"
fileName: "Dateiname"
selectFile: "Datei auswählen"
selectFiles: "Dateien auswählen"
selectFolder: "Ordner auswählen"
@ -326,6 +357,7 @@ enableLocalTimeline: "Lokale Chronik aktivieren"
enableGlobalTimeline: "Globale Chronik aktivieren"
disablingTimelinesInfo: "Administratoren und Moderatoren haben immer Zugriff auf alle\
\ Chroniken, auch wenn diese deaktiviert sind."
registration: "Registrieren"
enableRegistration: "Registration neuer Benutzer erlauben"
invite: "Einladen"
driveCapacityPerLocalAccount: "Drive-Kapazität pro lokalem Benutzerkonto"
@ -334,13 +366,26 @@ inMb: "In Megabytes"
iconUrl: "Icon-URL (favicon etc)"
bannerUrl: "Banner-URL"
backgroundImageUrl: "Hintergrundbild-URL"
basicInfo: "Grundlegende Informationen"
pinnedUsers: "Angeheftete Benutzer"
pinnedUsersDescription: "Gib durch Leerzeichen getrennte Benutzer an, die an die \"\
Erkunden\"-Seite angeheftet werden sollen."
pinnedPages: "Angeheftete Seiten"
pinnedPagesDescription: "Gib durch Leerzeilen getrennte Pfäde zu Seiten an, die an\
\ die Startseite dieser Instanz angeheftet werden sollen."
pinnedClipId: "ID des anzuheftenden Clips"
pinnedNotes: "Angeheftete Notizen"
hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptcha aktivieren"
hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key"
recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA aktivieren"
recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret key"
avoidMultiCaptchaConfirm: "Das Verwenden von mehreren Captcha-Systemen kann zu Störungen\
\ führen. Sollen die anderen Systeme deaktiviert werden? Durch Abbrechen können\
\ mehrere Systeme aktiviert bleiben."
antennas: "Antennen"
manageAntennas: "Antennen verwalten"
name: "Name"
@ -352,6 +397,7 @@ antennaKeywordsDescription: "Zum Nutzen einer \"UND\"-Verknüpfung Einträge mit
\ trennen."
notifyAntenna: "Über neue Notizen benachrichtigen"
withFileAntenna: "Nur Notizen mit Dateien"
enableServiceworker: "ServiceWorker aktivieren"
antennaUsersDescription: "Benutzernamen getrennt durch Zeilenumbrüche angeben"
caseSensitive: "Groß-/Kleinschreibung unterscheiden"
withReplies: "Antworten beinhalten"
@ -367,8 +413,11 @@ popularUsers: "Beliebte Benutzer"
recentlyUpdatedUsers: "Vor kurzem aktive Benutzer"
recentlyRegisteredUsers: "Vor kurzem registrierte Benutzer"
recentlyDiscoveredUsers: "Vor kurzem gefundene Benutzer"
exploreUsersCount: "Es gibt {count} Benutzer"
exploreFediverse: "Das Fediverse erkunden"
popularTags: "Beliebte Schlagwörter"
userList: "Liste"
about: "Über"
aboutMisskey: "Über FoundKey"
administrator: "Administrator"
token: "Token"
@ -388,6 +437,7 @@ share: "Teilen"
notFound: "Nicht gefunden"
notFoundDescription: "Es konnte keine Seite unter dieser URL gefunden werden."
uploadFolder: "Standardordner für Uploads"
cacheClear: "Cache leeren"
markAsReadAllNotifications: "Alle Benachrichtigungen als gelesen markieren"
markAsReadAllUnreadNotes: "Alle Notizen als gelesen markieren"
markAsReadAllTalkMessages: "Alle Chats als gelesen markieren"
@ -418,6 +468,7 @@ noMessagesYet: "Noch keine Nachrichten vorhanden"
newMessageExists: "Du hast eine neue Nachricht"
onlyOneFileCanBeAttached: "Es kann pro Nachricht nur eine Datei angehängt werden"
signinRequired: "Bitte melde dich an"
invitations: "Einladungen"
invitationCode: "Einladungscode"
checking: "Wird überprüft …"
available: "Verfügbar"
@ -438,6 +489,7 @@ or: "Oder"
language: "Sprache"
uiLanguage: "Sprache der Benutzeroberfläche"
groupInvited: "Du wurdest in eine Gruppe eingeladen"
aboutX: "Über {x}"
useOsNativeEmojis: "Eingebaute Emojis des Betriebssystems benutzen"
disableDrawer: "Keine ausfahrbaren Menüs verwenden"
youHaveNoGroups: "Keine Gruppen vorhanden"
@ -445,19 +497,27 @@ joinOrCreateGroup: "Lass dich zu einer Gruppe einladen oder erstelle deine eigen
noHistory: "Kein Verlauf gefunden"
signinHistory: "Anmeldungsverlauf"
disableAnimatedMfm: "MFM, die Animationen enthalten, deaktivieren"
doing: "In Bearbeitung …"
category: "Kategorie"
tags: "Schlagwörter"
docSource: "Quellcode dieses Dokuments"
createAccount: "Benutzerkonto erstellen"
existingAccount: "Bestehendes Benutzerkonto"
regenerate: "Regenerieren"
fontSize: "Schriftgröße"
noFollowRequests: "Keine ausstehenden Follow-Anfragen vorhanden"
openImageInNewTab: "Bilder in neuem Tab öffnen"
dashboard: "Dashboard"
local: "Lokal"
remote: "Fremd"
total: "Gesamt"
weekOverWeekChanges: "Veränderung zu letzter Woche"
dayOverDayChanges: "Veränderung zu Gestern"
appearance: "Aussehen"
clientSettings: "Client-Einstellungen"
accountSettings: "Benutzerkonto-Einstellungen"
numberOfDays: "Anzahl der Tage"
hideThisNote: "Diese Notiz verstecken"
showFeaturedNotesInTimeline: "Beliebte Notizen in der Chronik anzeigen"
objectStorage: "Object Storage"
useObjectStorage: "Object Storage verwenden"
@ -484,6 +544,8 @@ objectStorageUseProxy: "Über Proxy verbinden"
objectStorageUseProxyDesc: "Deaktiviere dies, falls du keinen Proxy für den Objektspeicher\
\ verwenden wirst"
objectStorageSetPublicRead: "Bei Upload auf \"public-read\" stellen"
serverLogs: "Serverprotokolle"
deleteAll: "Alle löschen"
showFixedPostForm: "Bereich zum Schreiben neuer Notizen am Anfang der Chronik anzeigen"
newNoteRecived: "Es gibt neue Notizen"
sounds: "Töne"
@ -494,6 +556,7 @@ popout: "Pop-Up"
volume: "Lautstärke"
masterVolume: "Gesamtlautstärke"
details: "Details"
chooseEmoji: "Emoji auswählen"
unableToProcess: "Der Vorgang konnte nicht abgeschlossen werden"
recentUsed: "Vor kurzem verwendet"
install: "Installieren"
@ -511,7 +574,9 @@ scratchpadDescription: "Die Testumgebung bietet einen Bereich für AiScript-Expe
\ Dort kannst du AiScript schreiben, ausführen sowie dessen Auswirkungen auf FoundKey\
\ überprüfen."
output: "Ausgabe"
script: "Skript"
updateRemoteUser: "Benutzerinformationen aktualisieren"
deleteAllFiles: "Alle Dateien löschen"
deleteAllFilesConfirm: "Möchtest du wirklich alle Dateien löschen?"
removeAllFollowing: "Allen gefolgten Benutzern entfolgen"
removeAllFollowingDescription: "Dies entfolgt allen Benutzerkonten von {host}. Bitte\
@ -529,7 +594,10 @@ addItem: "Element hinzufügen"
relays: "Relays"
addRelay: "Relay hinzufügen"
inboxUrl: "inbox-URL"
addedRelays: "Hinzugefügte Relays"
serviceworkerInfo: "Muss für Push-Benachrichtigungen aktiviert sein."
deletedNote: "Gelöschte Notiz"
invisibleNote: "Private Notiz"
enableInfiniteScroll: "Automatisch mehr laden"
visibility: "Sichtbarkeit"
poll: "Umfrage"
@ -539,12 +607,15 @@ disablePlayer: "Video-Player schließen"
themeEditor: "Farbschema-Editor"
description: "Beschreibung"
describeFile: "Beschreibung hinzufügen"
enterFileDescription: "Beschreibung eingeben"
author: "Autor"
leaveConfirm: "Es gibt unspeicherte Änderungen. Möchtest du diese verwerfen?"
manage: "Verwaltung"
plugins: "Plugins"
deck: "Deck"
undeck: "Deck verlassen"
useBlurEffectForModal: "Weichzeichnungseffekt für Modals verwenden"
useFullReactionPicker: "Vollständige Reaktionsauswahl verwenden"
width: "Breite"
height: "Höhe"
large: "Groß"
@ -557,6 +628,7 @@ disableAll: "Alle deaktivieren"
tokenRequested: "Zugriff zum Benutzerkonto gewähren"
pluginTokenRequestedDescription: "Dieses Plugin wird die hier konfigurierten Berechtigungen\
\ verwenden können."
notificationType: "Art der Benachrichtigung"
edit: "Bearbeiten"
useStarForReactionFallback: "Verwende ★ falls das Reaktions-Emoji unbekannt ist"
emailServer: "Email-Server"
@ -584,7 +656,10 @@ userSaysSomething: "{name} hat etwas gesagt"
makeActive: "Aktivieren"
display: "Anzeigeart"
copy: "Kopieren"
metrics: "Metriken"
overview: "Übersicht"
logs: "Logs"
delayed: "Verzögert"
database: "Datenbank"
channel: "Kanäle"
create: "Erstellen"
@ -602,6 +677,7 @@ setMultipleBySeparatingWithSpace: "Trenne Elemente durch ein Leerzeichen um mehr
\ Einstellungen zu kofigurieren."
fileIdOrUrl: "Datei-ID oder URL"
behavior: "Verhalten"
sample: "Beispiel"
abuseReports: "Meldungen"
reportAbuse: "Melden"
reportAbuseOf: "{name} melden"
@ -617,8 +693,13 @@ forwardReportIsAnonymous: "Anstatt deines Benutzerkontos wird bei der fremden In
send: "Senden"
abuseMarkAsResolved: "Meldung als gelöst markieren"
openInNewTab: "In neuem Tab öffnen"
openInSideView: "In Seitenansicht öffnen"
defaultNavigationBehaviour: "Standardnavigationsverhalten"
editTheseSettingsMayBreakAccount: "Bei Bearbeitung dieser Einstellungen besteht die\
\ Gefahr, dein Benutzerkonto zu beschädigen."
instanceTicker: "Instanz-Informationen von Notizen"
waitingFor: "Warte auf {x}"
random: "Zufällig"
system: "System"
switchUi: "UI wechseln"
desktop: "Desktop"
@ -657,6 +738,7 @@ loadRawImages: "Anstatt Vorschaubilder immer Originalbilder anzeigen"
disableShowingAnimatedImages: "Animierte Bilder nicht abspielen"
verificationEmailSent: "Eine Bestätigungsmail wurde an deine Email-Adresse versendet.\
\ Besuche den dort enthaltenen Link, um die Verifizierung abzuschließen."
notSet: "Nicht konfiguriert"
emailVerified: "Email-Adresse bestätigt"
noteFavoritesCount: "Anzahl an als Favorit markierter Notizen"
pageLikesCount: "Anzahl an als \"Gefällt mir\" markierter Seiten"
@ -664,6 +746,8 @@ pageLikedCount: "Anzahl erhaltener \"Gefällt mir\" auf Seiten"
contact: "Kontakt"
useSystemFont: "Standardschriftart des Systems verwenden"
clips: "Clips"
experimentalFeatures: "Experimentelle Funktionalitäten"
developer: "Entwickler"
makeExplorable: "Benutzerkonto in „Erkunden“ sichtbar machen"
makeExplorableDescription: "Ist diese Option deaktiviert, so ist dein Benutzerkonto\
\ nicht im „Erkunden“-Bereich sichtbar."
@ -677,16 +761,28 @@ reloadToApplySetting: "Diese Einstellung tritt nach einer Aktualisierung der Sei
\ in Kraft. Jetzt aktualisieren?"
needReloadToApply: "Diese Einstellung tritt nach einer Aktualisierung der Seite in\
\ Kraft."
showTitlebar: "Titelleiste anzeigen"
clearCache: "Cache leeren"
onlineUsersCount: "{n} Benutzer sind online"
nUsers: "{n} Benutzer"
nNotes: "{n} Notizen"
myTheme: "Mein Farbschema"
backgroundColor: "Hintergrundfarbe"
accentColor: "Akzentfarbe"
textColor: "Textfarbe"
saveAs: "Speichern als …"
advanced: "Fortgeschritten"
value: "Wert"
createdAt: "Erstellt am"
updatedAt: "Zuletzt geändert am"
saveConfirm: "Änderungen speichern?"
deleteConfirm: "Wirklich löschen?"
invalidValue: "Dieser Wert ist ungültig."
registry: "Registry"
closeAccount: "Benutzerkonto schließen"
currentVersion: "Momentane Version"
latestVersion: "Neuste Version"
youAreRunningUpToDateClient: "Du verwendest die neuste Version deines Clients."
newVersionOfClientAvailable: "Eine neuere Version deines Clients ist verfügbar."
usageAmount: "Verwendung"
capacity: "Kapazität"
@ -696,9 +792,11 @@ apply: "Anwenden"
receiveAnnouncementFromInstance: "Benachrichtigungen von dieser Instanz empfangen"
emailNotification: "Email-Benachrichtigungen"
publish: "Veröffentlichen"
inChannelSearch: "In Kanal suchen"
useReactionPickerForContextMenu: "Reaktionsauswahl durch Rechtsklick öffnen"
typingUsers: "{users} ist/sind am schreiben …"
jumpToSpecifiedDate: "Zu bestimmtem Datum springen"
showingPastTimeline: "Es wird eine alte Chronik angezeigt"
clear: "Zurückkehren"
markAllAsRead: "Alle als gelesen markieren"
goBack: "Zurück"
@ -713,6 +811,7 @@ notSpecifiedMentionWarning: "Diese Notiz enthält Erwähnungen von Nutzern, die
info: "Über"
userInfo: "Benutzerinformation"
unknown: "Unbekannt"
onlineStatus: "Onlinestatus"
hideOnlineStatus: "Onlinestatus verbergen"
hideOnlineStatusDescription: "Das Verbergen deines Onlinestatuses reduziert die Nützlichkeit\
\ von Funktionen wie der Suche."
@ -740,13 +839,22 @@ gallery: "Galerie"
recentPosts: "Neue Beiträge"
popularPosts: "Beliebte Beiträge"
shareWithNote: "Mit Notiz teilen"
expiration: "Frist"
memo: "Merkzettel"
priority: "Priorität"
high: "Hoch"
middle: "Mittel"
low: "Niedrig"
emailNotConfiguredWarning: "Keine Email-Adresse hinterlegt."
ratio: "Verhältnis"
previewNoteText: "Vorschau anzeigen"
customCss: "Benutzerdefiniertes CSS"
customCssWarn: "Verwende diese Einstellung nur, wenn du weißt, was sie tut. Ungültige\
\ Eingaben können dazu führen, dass der Client nicht mehr normal funktioniert."
global: "Global"
squareAvatars: "Profilbilder quadratisch anzeigen"
sent: "Gesendet"
received: "Erhalten"
searchResult: "Suchergebnisse"
hashtags: "Hashtags"
troubleshooting: "Problembehandlung"
@ -786,8 +894,7 @@ ffVisibility: "Sichtbarkeit von Gefolgten/Followern"
ffVisibilityDescription: "Konfiguriere wer sehen kann, wem du folgst sowie wer dir\
\ folgt."
continueThread: "Weiteren Threadverlauf anzeigen"
deleteAccountConfirm: "Das Benutzerkonto {handle} wird unwiderruflich gelöscht. Trotzdem\
\ fortfahren?"
deleteAccountConfirm: "Dein Benutzerkonto wird unwiderruflich gelöscht. Trotzdem fortfahren?"
incorrectPassword: "Falsches Passwort."
voteConfirm: "Wirklich für „{choice}“ abstimmen?"
hide: "Inhalt verbergen"
@ -846,6 +953,9 @@ _accountDelete:
requestAccountDelete: "Löschung deines Benutzerkontos anfordern"
started: "Die Löschung wurde eingeleitet."
inProgress: "Löschung in Bearbeitung"
_ad:
back: "Zurück"
reduceFrequencyOfThisAd: "Diese Werbung weniger anzeigen"
_forgotPassword:
enterEmail: "Gib die Email-Adresse ein, mit der du dich registriert hast. An diese\
\ wird ein Link gesendet, mit dem du dein Passwort zurücksetzen kannst."
@ -866,6 +976,7 @@ _email:
_plugin:
install: "Plugins installieren"
installWarn: "Installiere bitte nur vertrauenswürdige Plugins."
manage: "Plugins verwalten"
_registry:
scope: "Gültigkeitsbereich"
key: "Schlüssel"
@ -875,8 +986,10 @@ _registry:
_aboutMisskey:
about: "FoundKey ist Open-Source-Software, welche von syuilo seit 2014 entwickelt\
\ wird."
contributors: "Hauptmitwirkende"
allContributors: "Alle Mitwirkenden"
source: "Quellcode"
translation: "FoundKey übersetzen"
_nsfw:
respect: "Als NSFW markierte Bilder verbergen"
ignore: "Als NSFW markierte Bilder nicht verbergen"
@ -1008,6 +1121,68 @@ _theme:
alreadyInstalled: "Dieses Farbschema ist bereits installiert"
invalid: "Der Code dieses Farbschemas ist ungültig"
make: "Farbschema erstellen"
base: "Vorlage"
addConstant: "Konstante hinzufügen"
constant: "Konstante"
defaultValue: "Standardwert"
color: "Farbe"
refProp: "Eigenschaft referenzieren"
refConst: "Konstante referenzieren"
key: "Schlüssel"
func: "Funktionen"
funcKind: "Funktionsart"
argument: "Parameter"
basedProp: "Referenzierte Eigenschaft"
alpha: "Transparenz"
darken: "Verdunkeln"
lighten: "Erhellen"
inputConstantName: "Name der Konstanten eingeben"
importInfo: "Hier kannst du Farbschemencode einfügen, um ihn in den Editor zu importieren"
deleteConstantConfirm: "Die Konstante {const} wirklich löschen?"
keys:
accent: "Akzentfarbe"
bg: "Hintergrund"
fg: "Text"
focus: "Fokus"
indicator: "Indikator"
panel: "Panel"
shadow: "Schatten"
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"
hashtag: "Hashtag"
mention: "Erwähnung"
mentionMe: "Erwähnung (Ich)"
renote: "Renote"
modalBg: "Modalhintergrund"
divider: "Trenner"
scrollbarHandle: "Griff des Scrollbalkens"
scrollbarHandleHover: "Griff des Scrollbalkens (Mouseover)"
dateLabelFg: "Text von Datumsbeschriftungen"
infoBg: "Hintergrund von Informationen"
infoFg: "Text von Informationen"
infoWarnBg: "Hintergrund von Warnungen"
infoWarnFg: "Text von Warnungen"
cwBg: "Hintergrund des Inhaltswarnungsknopfs"
cwFg: "Text des Inhaltswarnungsknopfs"
cwHoverBg: "Hintergrund des Inhaltswarnungsknopfs (Mouseover)"
toastBg: "Hintergrund von Benachrichtigungen"
toastFg: "Text von Benachrichtigungen"
buttonBg: "Hintergrund von Schaltflächen"
buttonHoverBg: "Hintergrund von Schaltflächen (Mouseover)"
inputBorder: "Rahmen von Eingabefeldern"
listItemHoverBg: "Hintergrund von Listeneinträgen (Mouseover)"
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"
noteMy: "Meine Notizen"
@ -1299,6 +1474,7 @@ _relayStatus:
accepted: "Akzeptiert"
rejected: "Abgelehnt"
_notification:
fileUploaded: "Datei erfolgreich hochgeladen"
youGotMention: "{name} hat dich erwähnt"
youGotReply: "{name} hat dir geantwortet"
youGotQuote: "{name} hat dich zitiert"
@ -1314,6 +1490,7 @@ _notification:
pollEnded: "Umfrageergebnisse sind verfügbar"
emptyPushNotificationMessage: "Push-Benachrichtigungen wurden aktualisiert"
_types:
all: "Alle"
follow: "Neue Follower"
mention: "Erwähnungen"
reply: "Antworten"
@ -1387,29 +1564,3 @@ documentation: Dokumentation
signinHistoryExpires: Frühere Login-Versuche werden aus Datenschutzgründen nach 60
Tagen automatisch gelöscht.
unlimited: Unbegrenzt
stopActivityDeliveryDescription: Aktivitäten werden nicht an diese Instanz gesendet,
werden aber weiter empfangen.
blockThisInstanceDescription: Aktivitäten werden nicht an diese Instanz gesendet und
nicht von dieser Instanz empfangen.
federateBlocksDescription: Block-Aktivitäten werden nicht an andere Instanzen gesendet,
wenn dies ausgeschaltet ist.
setTag: Schlagwörter setzen
_translationService:
_libreTranslate:
authKey: LibreTranslate-Authorisierungs-Schlüssel (optional)
endpoint: LibreTranslate-API-Adresse
_deepl:
authKey: DeepL-Authorisierungs-Schlüssel
translationSettings: Übersetzung
translationService: Übersetzer
setCategory: Kategorie setzen
addTag: Schlagwörter hinzufügen
removeTag: Schlagwörter entfernen
exportAll: Alle exportieren
exportSelected: Gewählte exportieren
federateBlocks: Andere Instanzen mitteilen, wenn ich jemanden blockiere
selectMode: Auswählen
selectAll: Alle auswählen
renoteUnmute: Renotes zeigen
renoteMute: Renotes verstecken
externalCssSnippets: Einige CSS-Schnipsel zur Inspiration (nicht durch FoundKey verwaltet)

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Fetching from the Fediverse..."
ok: "OK"
gotIt: "Got it!"
cancel: "Cancel"
enterUsername: "Enter username"
renotedBy: "Renoted by {user}"
noNotes: "No notes"
noNotifications: "No notifications"
@ -29,12 +30,16 @@ login: "Sign In"
loggingIn: "Signing In"
logout: "Sign Out"
signup: "Sign Up"
uploading: "Uploading..."
save: "Save"
users: "Users"
addUser: "Add a user"
favorite: "Add to favorites"
favorites: "Favorites"
unfavorite: "Remove from favorites"
favorited: "Added to favorites."
alreadyFavorited: "Already added to favorites."
cantFavorite: "Couldn't add to favorites."
pin: "Pin to profile"
unpin: "Unpin from profile"
copyContent: "Copy contents"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Are you sure you want to delete this note and edit it? Yo
addToList: "Add to list"
sendMessage: "Send a message"
copyUsername: "Copy username"
searchUser: "Search for a user"
reply: "Reply"
loadMore: "Load more"
showMore: "Show more"
@ -70,6 +76,7 @@ exportRequested: "You've requested an export. This may take a while. It will be
\ to your Drive once completed."
importRequested: "You've requested an import. This may take a while."
lists: "Lists"
noLists: "You don't have any lists"
note: "Note"
notes: "Notes"
following: "Following"
@ -94,15 +101,21 @@ followRequest: "Send follow request"
followRequests: "Follow requests"
unfollow: "Unfollow"
followRequestPending: "Follow request pending"
enterEmoji: "Enter an emoji"
renote: "Renote"
unrenote: "Take back renote"
renoted: "Renoted."
cantRenote: "This post can't be renoted."
cantReRenote: "A renote can't be renoted."
quote: "Quote"
pinnedNote: "Pinned note"
pinned: "Pin to profile"
you: "You"
clickToShow: "Click to show"
sensitive: "NSFW"
add: "Add"
reaction: "Reactions"
reactionSetting: "Reactions to show in the reaction picker"
reactionSettingDescription2: "Drag to reorder, click to delete, press \"+\" to add."
attachCancel: "Remove attachment"
markAsSensitive: "Mark as NSFW"
@ -128,7 +141,10 @@ editWidgetsExit: "Done"
customEmojis: "Custom Emoji"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Emoji name"
emojiUrl: "Emoji URL"
addEmoji: "Add an emoji"
settingGuide: "Recommended settings"
cacheRemoteFiles: "Cache remote files"
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded\
\ directly from the remote instance. Disabling this will decrease storage usage,\
@ -148,8 +164,10 @@ addAccount: "Add account"
loginFailed: "Failed to sign in"
showOnRemote: "View on remote instance"
general: "General"
wallpaper: "Wallpaper"
setWallpaper: "Set wallpaper"
removeWallpaper: "Remove wallpaper"
searchWith: "Search: {q}"
youHaveNoLists: "You don't have any lists"
followConfirm: "Are you sure that you want to follow {name}?"
proxyAccount: "Proxy account"
@ -162,21 +180,27 @@ selectUser: "Select a user"
recipient: "Recipient"
annotation: "Comments"
federation: "Federation"
instances: "Instances"
registeredAt: "Registered at"
latestRequestSentAt: "Last request sent"
latestRequestReceivedAt: "Last request received"
latestStatus: "Latest status"
storageUsage: "Storage usage"
charts: "Charts"
perHour: "Per Hour"
perDay: "Per Day"
stopActivityDelivery: "Stop sending activities"
stopActivityDeliveryDescription: "Local activities will not be sent to this instance. Receiving activities works as before."
blockThisInstance: "Block this instance"
blockThisInstanceDescription: "Local activites will not be sent to this instance. Activites from this instance will be discarded."
operations: "Operations"
software: "Software"
version: "Version"
metadata: "Metadata"
withNFiles: "{n} file(s)"
monitor: "Monitor"
jobQueue: "Job Queue"
cpuAndMemory: "CPU and Memory"
network: "Network"
disk: "Disk"
instanceInfo: "Instance Information"
statistics: "Statistics"
clearQueue: "Clear queue"
@ -209,6 +233,9 @@ all: "All"
subscribing: "Subscribing"
publishing: "Publishing"
notResponding: "Not responding"
instanceFollowing: "Following on instance"
instanceFollowers: "Followers of instance"
instanceUsers: "Users of this instance"
changePassword: "Change password"
security: "Security"
retypedNotMatch: "The inputs do not match."
@ -224,6 +251,7 @@ lookup: "Lookup"
announcements: "Announcements"
imageUrl: "Image URL"
remove: "Delete"
removed: "Successfully deleted"
removeAreYouSure: "Are you sure that you want to remove \"{x}\"?"
deleteAreYouSure: "Are you sure that you want to delete \"{x}\"?"
resetAreYouSure: "Really reset?"
@ -265,6 +293,7 @@ lightThemes: "Light themes"
darkThemes: "Dark themes"
syncDeviceDarkMode: "Sync Dark Mode with your device settings"
drive: "Drive"
fileName: "Filename"
selectFile: "Select a file"
selectFiles: "Select files"
selectFolder: "Select a folder"
@ -318,6 +347,7 @@ enableLocalTimeline: "Enable local timeline"
enableGlobalTimeline: "Enable global timeline"
disablingTimelinesInfo: "Adminstrators and Moderators will always have access to all\
\ timelines, even if they are not enabled."
registration: "Register"
enableRegistration: "Enable new user registration"
invite: "Invite"
driveCapacityPerLocalAccount: "Drive capacity per local user"
@ -326,13 +356,26 @@ inMb: "In megabytes"
iconUrl: "Icon URL"
bannerUrl: "Banner image URL"
backgroundImageUrl: "Background image URL"
basicInfo: "Basic info"
pinnedUsers: "Pinned users"
pinnedUsersDescription: "List usernames separated by line breaks to be pinned in the\
\ \"Explore\" tab."
pinnedPages: "Pinned Pages"
pinnedPagesDescription: "Enter the paths of the Pages you want to pin to the top page\
\ of this instance, separated by line breaks."
pinnedClipId: "ID of the clip to pin"
pinnedNotes: "Pinned notes"
hcaptcha: "hCaptcha"
enableHcaptcha: "Enable hCaptcha"
hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Enable reCAPTCHA"
recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret key"
avoidMultiCaptchaConfirm: "Using multiple Captcha systems may cause interference between\
\ them. Would you like to disable the other Captcha systems currently active? If\
\ you would like them to stay enabled, press cancel."
antennas: "Antennas"
manageAntennas: "Manage Antennas"
name: "Name"
@ -343,6 +386,7 @@ antennaKeywordsDescription: "Separate with spaces for an AND condition or with l
\ breaks for an OR condition."
notifyAntenna: "Notify about new notes"
withFileAntenna: "Only notes with files"
enableServiceworker: "Enable ServiceWorker"
antennaUsersDescription: "List one username per line"
caseSensitive: "Case sensitive"
withReplies: "Include replies"
@ -357,8 +401,11 @@ popularUsers: "Popular users"
recentlyUpdatedUsers: "Recently active users"
recentlyRegisteredUsers: "Newly joined users"
recentlyDiscoveredUsers: "Newly discovered users"
exploreUsersCount: "There are {count} users"
exploreFediverse: "Explore the Fediverse"
popularTags: "Popular tags"
userList: "Lists"
about: "About"
aboutMisskey: "About FoundKey"
administrator: "Administrator"
token: "Token"
@ -378,6 +425,7 @@ share: "Share"
notFound: "Not found"
notFoundDescription: "No page corresponding to this URL could be found."
uploadFolder: "Default folder for uploads"
cacheClear: "Clear cache"
markAsReadAllNotifications: "Mark all notifications as read"
markAsReadAllUnreadNotes: "Mark all notes as read"
markAsReadAllTalkMessages: "Mark all messages as read"
@ -408,6 +456,7 @@ noMessagesYet: "No messages yet"
newMessageExists: "There are new messages"
onlyOneFileCanBeAttached: "You can only attach one file to a message"
signinRequired: "Please sign in"
invitations: "Invites"
invitationCode: "Invitation code"
checking: "Checking..."
available: "Available"
@ -427,6 +476,7 @@ or: "Or"
language: "Language"
uiLanguage: "User interface language"
groupInvited: "You've been invited to a group"
aboutX: "About {x}"
useOsNativeEmojis: "Use OS native Emoji"
disableDrawer: "Don't use drawer-style menus"
youHaveNoGroups: "You have no groups"
@ -436,19 +486,27 @@ signinHistory: "Login history"
signinHistoryExpires: "Data about past login attempts is automatically deleted after\
\ 60 days to comply with privacy regulations."
disableAnimatedMfm: "Disable MFM with animation"
doing: "Processing..."
category: "Category"
tags: "Tags"
docSource: "Source of this document"
createAccount: "Create account"
existingAccount: "Existing account"
regenerate: "Regenerate"
fontSize: "Font size"
noFollowRequests: "You don't have any pending follow requests"
openImageInNewTab: "Open images in new tab"
dashboard: "Dashboard"
local: "Local"
remote: "Remote"
total: "Total"
weekOverWeekChanges: "Changes to last week"
dayOverDayChanges: "Changes to yesterday"
appearance: "Appearance"
clientSettings: "Client Settings"
accountSettings: "Account Settings"
numberOfDays: "Number of days"
hideThisNote: "Hide this note"
showFeaturedNotesInTimeline: "Show featured notes in timelines"
objectStorage: "Object Storage"
useObjectStorage: "Use object storage"
@ -475,6 +533,8 @@ objectStorageUseProxy: "Connect over Proxy"
objectStorageUseProxyDesc: "Turn this off if you are not going to use a Proxy for\
\ API connections"
objectStorageSetPublicRead: "Set \"public-read\" on upload"
serverLogs: "Server logs"
deleteAll: "Delete all"
showFixedPostForm: "Display the posting form at the top of the timeline"
newNoteRecived: "There are new notes"
sounds: "Sounds"
@ -485,6 +545,7 @@ popout: "Pop-out"
volume: "Volume"
masterVolume: "Master volume"
details: "Details"
chooseEmoji: "Select an emoji"
unableToProcess: "The operation could not be completed"
recentUsed: "Recently used"
install: "Install"
@ -502,7 +563,9 @@ scratchpadDescription: "The Scratchpad provides an environment for AiScript expe
\ You can write, execute, and check the results of it interacting with FoundKey\
\ in it."
output: "Output"
script: "Script"
updateRemoteUser: "Update remote user information"
deleteAllFiles: "Delete all files"
deleteAllFilesConfirm: "Are you sure that you want to delete all files?"
removeAllFollowing: "Unfollow all followed users"
removeAllFollowingDescription: "Executing this unfollows all accounts from {host}.\
@ -519,7 +582,10 @@ addItem: "Add Item"
relays: "Relays"
addRelay: "Add Relay"
inboxUrl: "Inbox URL"
addedRelays: "Added Relays"
serviceworkerInfo: "Must be enabled for push notifications."
deletedNote: "Deleted note"
invisibleNote: "Invisible note"
enableInfiniteScroll: "Automatically load more"
visibility: "Visiblility"
poll: "Poll"
@ -529,12 +595,15 @@ disablePlayer: "Close video player"
themeEditor: "Theme editor"
description: "Description"
describeFile: "Add caption"
enterFileDescription: "Enter caption"
author: "Author"
leaveConfirm: "There are unsaved changes. Do you want to discard them?"
manage: "Management"
plugins: "Plugins"
deck: "Deck"
undeck: "Leave Deck"
useBlurEffectForModal: "Use blur effect for modals"
useFullReactionPicker: "Use full-size reaction picker"
width: "Width"
height: "Height"
large: "Big"
@ -547,6 +616,7 @@ disableAll: "Disable all"
tokenRequested: "Grant access to account"
pluginTokenRequestedDescription: "This plugin will be able to use the permissions\
\ set here."
notificationType: "Notification type"
edit: "Edit"
useStarForReactionFallback: "Use ★ as fallback if the reaction emoji is unknown"
emailServer: "Email server"
@ -573,7 +643,10 @@ userSaysSomething: "{name} said something"
makeActive: "Activate"
display: "Display"
copy: "Copy"
metrics: "Metrics"
overview: "Overview"
logs: "Logs"
delayed: "Delayed"
database: "Database"
channel: "Channels"
create: "Create"
@ -590,6 +663,7 @@ regenerateLoginTokenDescription: "Regenerates the token used internally during l
setMultipleBySeparatingWithSpace: "Separate multiple entries with spaces."
fileIdOrUrl: "File ID or URL"
behavior: "Behavior"
sample: "Sample"
abuseReports: "Reports"
reportAbuse: "Report"
reportAbuseOf: "Report {name}"
@ -604,8 +678,12 @@ forwardReportIsAnonymous: "Instead of your account, an anonymous system account
send: "Send"
abuseMarkAsResolved: "Mark report as resolved"
openInNewTab: "Open in new tab"
openInSideView: "Open in side view"
defaultNavigationBehaviour: "Default navigation behavior"
editTheseSettingsMayBreakAccount: "Editing these settings may damage your account."
instanceTicker: "Instance information of notes"
waitingFor: "Waiting for {x}"
random: "Random"
system: "System"
switchUi: "Switch UI"
desktop: "Desktop"
@ -644,6 +722,7 @@ loadRawImages: "Load original images instead of showing thumbnails"
disableShowingAnimatedImages: "Don't play animated images"
verificationEmailSent: "A verification email has been sent. Please follow the included\
\ link to complete verification."
notSet: "Not set"
emailVerified: "Email has been verified"
noteFavoritesCount: "Number of favorite notes"
pageLikesCount: "Number of liked Pages"
@ -651,6 +730,8 @@ pageLikedCount: "Number of received Page likes"
contact: "Contact"
useSystemFont: "Use the system's default font"
clips: "Clips"
experimentalFeatures: "Experimental features"
developer: "Developer"
makeExplorable: "Make account visible in \"Explore\""
makeExplorableDescription: "If you turn this off, your account will not show up in\
\ the \"Explore\" section."
@ -662,16 +743,28 @@ wide: "Wide"
narrow: "Narrow"
reloadToApplySetting: "This setting will only apply after a page reload. Reload now?"
needReloadToApply: "A reload is required for this to be reflected."
showTitlebar: "Show title bar"
clearCache: "Clear cache"
onlineUsersCount: "{n} users are online"
nUsers: "{n} Users"
nNotes: "{n} Notes"
myTheme: "My theme"
backgroundColor: "Background color"
accentColor: "Accent color"
textColor: "Text color"
saveAs: "Save as..."
advanced: "Advanced"
value: "Value"
createdAt: "Created at"
updatedAt: "Updated at"
saveConfirm: "Save changes?"
deleteConfirm: "Really delete?"
invalidValue: "Invalid value."
registry: "Registry"
closeAccount: "Close account"
currentVersion: "Current version"
latestVersion: "Newest version"
youAreRunningUpToDateClient: "You are using the newest version of your client."
newVersionOfClientAvailable: "There is a newer version of your client available."
usageAmount: "Usage"
capacity: "Capacity"
@ -681,9 +774,11 @@ apply: "Apply"
receiveAnnouncementFromInstance: "Receive notifications from this instance"
emailNotification: "Email notifications"
publish: "Publish"
inChannelSearch: "Search in channel"
useReactionPickerForContextMenu: "Open reaction picker on right-click"
typingUsers: "{users} is/are typing..."
jumpToSpecifiedDate: "Jump to specific date"
showingPastTimeline: "Currently displaying an old timeline"
clear: "Return"
markAllAsRead: "Mark all as read"
goBack: "Back"
@ -698,11 +793,10 @@ notSpecifiedMentionWarning: "This note contains mentions of users not included a
info: "About"
userInfo: "User information"
unknown: "Unknown"
onlineStatus: "Online status"
hideOnlineStatus: "Hide online status"
hideOnlineStatusDescription: "Hiding your online status reduces the convenience of\
\ some features such as the search."
federateBlocks: "Federate blocks"
federateBlocksDescription: "If disabled, block activities won't be sent."
online: "Online"
active: "Active"
offline: "Offline"
@ -727,13 +821,22 @@ gallery: "Gallery"
recentPosts: "Recent posts"
popularPosts: "Popular posts"
shareWithNote: "Share with note"
expiration: "Deadline"
memo: "Memo"
priority: "Priority"
high: "High"
middle: "Medium"
low: "Low"
emailNotConfiguredWarning: "Email address not set."
ratio: "Ratio"
previewNoteText: "Show preview"
customCss: "Custom CSS"
customCssWarn: "This setting should only be used if you know what it does. Entering\
\ improper values may cause the client to stop functioning normally."
global: "Global"
squareAvatars: "Display squared avatars"
sent: "Sent"
received: "Received"
searchResult: "Search results"
hashtags: "Hashtags"
troubleshooting: "Troubleshooting"
@ -743,8 +846,6 @@ misskeyUpdated: "FoundKey has been updated!"
whatIsNew: "Show changes"
translate: "Translate"
translatedFrom: "Translated from {x}"
translationSettings: "Translation Settings"
translationService: "Translation Service"
accountDeletionInProgress: "Account deletion is currently in progress."
usernameInfo: "A name that identifies your account from others on this server. You\
\ can use the alphabet (a~z, A~Z), digits (0~9) or underscores (_). Usernames cannot\
@ -774,7 +875,7 @@ ffVisibility: "Follows/Followers Visibility"
ffVisibilityDescription: "Allows you to configure who can see who you follow and who\
\ follows you."
continueThread: "View thread continuation"
deleteAccountConfirm: "This will irreversibly delete the account {handle}. Proceed?"
deleteAccountConfirm: "This will irreversibly delete your account. Proceed?"
incorrectPassword: "Incorrect password."
voteConfirm: "Confirm your vote for \"{choice}\"?"
hide: "Hide"
@ -853,6 +954,9 @@ _accountDelete:
requestAccountDelete: "Request account deletion"
started: "Deletion has been started."
inProgress: "Deletion is currently in progress"
_ad:
back: "Back"
reduceFrequencyOfThisAd: "Show this ad less"
_forgotPassword:
enterEmail: "Enter the email address you used to register. A link with which you\
\ can reset your password will then be sent to it."
@ -873,6 +977,7 @@ _email:
_plugin:
install: "Install plugins"
installWarn: "Please do not install untrustworthy plugins."
manage: "Manage plugins"
_registry:
scope: "Scope"
key: "Key"
@ -881,8 +986,10 @@ _registry:
createKey: "Create key"
_aboutMisskey:
about: "FoundKey is a fork of Misskey developed since July 2022."
contributors: "Main contributors"
allContributors: "All contributors"
source: "Source code"
translation: "Translate FoundKey"
_nsfw:
respect: "Hide NSFW media"
ignore: "Don't hide NSFW media"
@ -1009,6 +1116,68 @@ _theme:
alreadyInstalled: "This theme is already installed"
invalid: "The format of this theme is invalid"
make: "Make a theme"
base: "Base"
addConstant: "Add constant"
constant: "Constant"
defaultValue: "Default value"
color: "Color"
refProp: "Reference a property"
refConst: "Reference a constant"
key: "Key"
func: "Functions"
funcKind: "Function type"
argument: "Argument"
basedProp: "Referenced property"
alpha: "Opacity"
darken: "Darken"
lighten: "Lighten"
inputConstantName: "Enter a name for this constant"
importInfo: "If you enter theme code here, you can import it to the theme editor"
deleteConstantConfirm: "Do you really want to delete the constant {const}?"
keys:
accent: "Accent"
bg: "Background"
fg: "Text"
focus: "Focus"
indicator: "Indicator"
panel: "Panel"
shadow: "Shadow"
header: "Header"
navBg: "Sidebar background"
navFg: "Sidebar text"
navHoverFg: "Sidebar text (Hover)"
navActive: "Sidebar text (Active)"
navIndicator: "Sidebar indicator"
link: "Link"
hashtag: "Hashtag"
mention: "Mention"
mentionMe: "Mentions (Me)"
renote: "Renote"
modalBg: "Modal background"
divider: "Divider"
scrollbarHandle: "Scrollbar handle"
scrollbarHandleHover: "Scrollbar handle (Hover)"
dateLabelFg: "Date label text"
infoBg: "Information background"
infoFg: "Information text"
infoWarnBg: "Warning background"
infoWarnFg: "Warning text"
cwBg: "CW button background"
cwFg: "CW button text"
cwHoverBg: "CW button background (Hover)"
toastBg: "Notification background"
toastFg: "Notification text"
buttonBg: "Button background"
buttonHoverBg: "Button background (Hover)"
inputBorder: "Input field border"
listItemHoverBg: "List item background (Hover)"
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"
noteMy: "Own note"
@ -1289,6 +1458,7 @@ _relayStatus:
accepted: "Accepted"
rejected: "Rejected"
_notification:
fileUploaded: "File successfully uploaded"
youGotMention: "{name} mentioned you"
youGotReply: "{name} replied to you"
youGotQuote: "{name} quoted you"
@ -1303,6 +1473,7 @@ _notification:
pollEnded: "Poll results have become available"
emptyPushNotificationMessage: "Push notifications have been updated"
_types:
all: "All"
follow: "New followers"
mention: "Mentions"
reply: "Replies"
@ -1351,9 +1522,3 @@ _services:
_github:
connected: "GitHub: @{login} connected to FoundKey: @{userName}!"
disconnected: "GitHub linkage has been removed."
_translationService:
_deepl:
authKey: "DeepL Auth Key"
_libreTranslate:
endpoint: "LibreTranslate API Endpoint"
authKey: "LibreTranslate Auth Key (optional)"

View file

@ -15,6 +15,7 @@ fetchingAsApObject: "Buscando en el fediverso"
ok: "OK"
gotIt: "Entendido"
cancel: "Cancelar"
enterUsername: "Introduce el nombre de usuario"
renotedBy: "Renotado por {user}"
noNotes: "No hay notas"
noNotifications: "No hay notificaciones"
@ -30,12 +31,16 @@ login: "Iniciar sesión"
loggingIn: "Iniciando sesión"
logout: "Cerrar sesión"
signup: "Registrarse"
uploading: "Cargando"
save: "Guardar"
users: "Usuarios"
addUser: "Agregar usuario"
favorite: "Favorito"
favorites: "Favoritos"
unfavorite: "Quitar de favoritos"
favorited: "Añadido a favoritos"
alreadyFavorited: "Ya había sido añadido a favoritos"
cantFavorite: "No fue añadido a favoritos"
pin: "Fijar"
unpin: "Desfijar"
copyContent: "Copiar contenido"
@ -47,6 +52,7 @@ deleteAndEditConfirm: "¿Quieres borrar y editar este nota? Las reacciones, reno
addToList: "Agregar a lista"
sendMessage: "Énviar mensaje"
copyUsername: "Copiar nombre de usuario"
searchUser: "Búsqueda de usuarios"
reply: "Responder"
loadMore: "Ver más"
showMore: "Ver más"
@ -68,6 +74,7 @@ exportRequested: "Se ha solicitado la exportación. Puede tomar un tiempo. Cuand
\ la exportación, se añadirá en el drive"
importRequested: "Se ha solicitado la importación. Puede tomar un tiempo."
lists: "Listas"
noLists: "No tiene listas"
note: "Notas"
notes: "Notas"
following: "Siguiendo"
@ -93,15 +100,21 @@ followRequest: "Solicitud de seguimiento"
followRequests: "Solicitudes de seguimiento"
unfollow: "Dejar de seguir"
followRequestPending: "Solicitudes de seguimiento pendientes"
enterEmoji: "Ingresar emojis"
renote: "Renotar"
unrenote: "Quitar renota"
renoted: "Renotado"
cantRenote: "No se puede renotar este post"
cantReRenote: "No se puede renotar una renota"
quote: "Citar"
pinnedNote: "Nota fijada"
pinned: "Fijar"
you: "Tú"
clickToShow: "Click para ver"
sensitive: "Marcado como sensible"
add: "Agregar"
reaction: "Reacción"
reactionSetting: "Reacciones para mostrar en el menú de reacciones"
reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete\
\ la tecla + para añadir."
attachCancel: "Quitar adjunto"
@ -126,7 +139,10 @@ editWidgetsExit: "Terminar edición"
customEmojis: "Emojis personalizados"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Nombre del emoji"
emojiUrl: "URL de la imágen del emoji"
addEmoji: "Agregar emoji"
settingGuide: "Configuración sugerida"
cacheRemoteFiles: "Mantener en cache los archivos remotos"
cacheRemoteFilesDescription: "Si desactiva esta configuración, Los archivos remotos\
\ se cargarán desde el link directo sin usar la caché. Con eso se puede ahorrar\
@ -148,8 +164,10 @@ addAccount: "Agregar Cuenta"
loginFailed: "Error al iniciar sesión."
showOnRemote: "Ver en una instancia remota"
general: "General"
wallpaper: "Fondo de pantalla"
setWallpaper: "Establecer fondo de pantalla"
removeWallpaper: "Quitar fondo de pantalla"
searchWith: "Buscar: {q}"
youHaveNoLists: "No tienes listas"
followConfirm: "¿Desea seguir a {name}?"
proxyAccount: "Cuenta proxy"
@ -163,19 +181,27 @@ selectUser: "Elegir usuario"
recipient: "Recipiente"
annotation: "Anotación"
federation: "Federación"
instances: "Instancia"
registeredAt: "Registrado en"
latestRequestSentAt: "Ultimo pedido enviado"
latestRequestReceivedAt: "Ultimo pedido recibido"
latestStatus: "Último status"
storageUsage: "Almacenamiento usado"
charts: "Chat"
perHour: "por hora"
perDay: "por día"
stopActivityDelivery: "Dejar de enviar actividades"
blockThisInstance: "Bloquear instancia"
operations: "Operaciones"
software: "Software"
version: "Versión"
metadata: "Metadatos"
withNFiles: "{n} archivos"
monitor: "Monitor"
jobQueue: "Cola de trabajos"
cpuAndMemory: "CPU y Memoria"
network: "Red"
disk: "Disco"
instanceInfo: "información de la instancia"
statistics: "Estadísticas"
clearQueue: "Limpiar cola"
@ -209,6 +235,9 @@ all: "Todo"
subscribing: "Suscribiendo"
publishing: "Publicando"
notResponding: "Sin respuestas"
instanceFollowing: "Siguiendo instancias"
instanceFollowers: "Seguidores de la instancia"
instanceUsers: "Usuarios de la instancia"
changePassword: "Cambiar contraseña"
security: "Seguridad"
retypedNotMatch: "No hay coincidencia"
@ -224,6 +253,7 @@ lookup: "Búsqueda"
announcements: "Anuncios"
imageUrl: "URL de la imágen"
remove: "Borrar"
removed: "Borrado"
removeAreYouSure: "¿Desea borrar \"{x}\"?"
deleteAreYouSure: "¿Desea borrar \"{x}\"?"
resetAreYouSure: "¿Desea reestablecer?"
@ -265,6 +295,7 @@ lightThemes: "Tema claro"
darkThemes: "Tema oscuro"
syncDeviceDarkMode: "Sincronice el Modo Oscuro con la configuración de su dispositivo"
drive: "Drive"
fileName: "Nombre de archivo"
selectFile: "Elegir archivo"
selectFiles: "Elegir archivos"
selectFolder: "Seleccione una carpeta"
@ -318,6 +349,7 @@ enableLocalTimeline: "Habilitar linea de tiempo local"
enableGlobalTimeline: "Habilitar linea de tiempo global"
disablingTimelinesInfo: "Aunque se desactiven estas lineas de tiempo, por conveniencia\
\ el administrador y los moderadores pueden seguir usándolos"
registration: "Registro"
enableRegistration: "Permitir nuevos registros"
invite: "Invitar"
driveCapacityPerLocalAccount: "Capacidad del drive por usuario local"
@ -326,13 +358,26 @@ inMb: "En megabytes"
iconUrl: "URL de la imagen del avatar"
bannerUrl: "URL de la imagen del banner"
backgroundImageUrl: "URL de la imagen de fondo"
basicInfo: "Información básica"
pinnedUsers: "Usuarios fijados"
pinnedUsersDescription: "Describir los usuarios que quiere fijar en la página \"Descubrir\"\
\ separados por una linea nueva"
pinnedPages: "Páginas fijadas"
pinnedPagesDescription: "Describa las rutas de las páginas que desea fijar a la página\
\ principal de la instancia, separadas por lineas nuevas"
pinnedClipId: "Id del clip fijado"
pinnedNotes: "Nota fijada"
hcaptcha: "hCaptcha"
enableHcaptcha: "Habilitar hCaptcha"
hcaptchaSiteKey: "Clave del sitio"
hcaptchaSecretKey: "Clave secreta"
recaptcha: "reCAPTCHA"
enableRecaptcha: "activar reCAPTCHA"
recaptchaSiteKey: "Clave del sitio"
recaptchaSecretKey: "Clave secreta"
avoidMultiCaptchaConfirm: "El uso de múltiples Captchas puede causar interferencia.\
\ ¿Desea desactivar el otro Captcha? Puede dejar múltiples Captchas habilitadas\
\ presionando cancelar."
antennas: "Antenas"
manageAntennas: "Administrar antenas"
name: "Nombre"
@ -343,6 +388,7 @@ antennaKeywordsDescription: "Separar con espacios es una declaración AND, separ
\ con una linea nueva es una declaración OR"
notifyAntenna: "Notificar nueva nota"
withFileAntenna: "Sólo notas con archivos adjuntados"
enableServiceworker: "Activar ServiceWorker"
antennaUsersDescription: "Elegir nombres de usuarios separados por una linea nueva"
caseSensitive: "Distinguir mayúsculas de minúsculas"
withReplies: "Incluir respuestas"
@ -357,8 +403,11 @@ popularUsers: "Usuarios populares"
recentlyUpdatedUsers: "Usuarios activos recientemente"
recentlyRegisteredUsers: "Usuarios registrados recientemente"
recentlyDiscoveredUsers: "Usuarios descubiertos recientemente"
exploreUsersCount: "Hay {count} usuarios"
exploreFediverse: "Explorar fediverso"
popularTags: "Etiquetas populares"
userList: "Lista"
about: "Información"
aboutMisskey: "Sobre FoundKey"
administrator: "Administrador"
token: "Token"
@ -378,6 +427,7 @@ share: "Compartir"
notFound: "No se encuentra"
notFoundDescription: "No se encontró la página correspondiente a la URL elegida"
uploadFolder: "Carpeta de subidas por defecto"
cacheClear: "Borrar caché"
markAsReadAllNotifications: "Marcar todas las notificaciones como leídas"
markAsReadAllUnreadNotes: "Marcar todas las notas como leídas"
markAsReadAllTalkMessages: "Marcar todos los chats como leídos"
@ -408,6 +458,7 @@ noMessagesYet: "Aún no hay chat"
newMessageExists: "Tienes un mensaje nuevo"
onlyOneFileCanBeAttached: "Solo se puede añadir un archivo al mensaje"
signinRequired: "Iniciar sesión"
invitations: "Invitar"
invitationCode: "Código de invitación"
checking: "Comprobando"
available: "Disponible"
@ -428,6 +479,7 @@ or: "O"
language: "Idioma"
uiLanguage: "Idioma de visualización de la interfaz"
groupInvited: "Invitado al grupo"
aboutX: "Acerca de {x}"
useOsNativeEmojis: "Usa los emojis nativos de la plataforma"
disableDrawer: "No mostrar los menús en cajones"
youHaveNoGroups: "Sin grupos"
@ -436,19 +488,27 @@ joinOrCreateGroup: "Obtenga una invitación para unirse al grupos o puede crear
noHistory: "No hay datos en el historial"
signinHistory: "Historial de ingresos"
disableAnimatedMfm: "Deshabilitar MFM que tiene animaciones"
doing: "Voy en camino"
category: "Categoría"
tags: "Etiqueta"
docSource: "Fuente de este documento"
createAccount: "Crear cuenta"
existingAccount: "Cuenta existente"
regenerate: "Regenerar"
fontSize: "Tamaño de la letra"
noFollowRequests: "No hay solicitudes de seguimiento"
openImageInNewTab: "Abrir imagen en nueva pestaña"
dashboard: "Panel de control"
local: "Local"
remote: "Remoto"
total: "Total"
weekOverWeekChanges: "Dif semanal"
dayOverDayChanges: "Dif diaria"
appearance: "Apariencia"
clientSettings: "Configuración del cliente"
accountSettings: "Ajustes de cuenta"
numberOfDays: "Cantidad de dias"
hideThisNote: "Ocultar esta nota"
showFeaturedNotesInTimeline: "Mostrar notas destacadas en la línea de tiempo"
objectStorage: "Almacenamiento de objetos"
useObjectStorage: "Usar almacenamiento de objetos"
@ -476,6 +536,8 @@ objectStorageUseProxy: "Conectarse a través de Proxy"
objectStorageUseProxyDesc: "Desactive esto si no va a usar Proxy para la conexión\
\ de Almacenamiento de objetos"
objectStorageSetPublicRead: "Seleccionar \"public-read\" al subir "
serverLogs: "Registros del servidor"
deleteAll: "Eliminar todos"
showFixedPostForm: "Mostrar el formulario de las entradas encima de la línea de tiempo"
newNoteRecived: "Tienes una nota nuevo"
sounds: "Sonidos"
@ -486,6 +548,7 @@ popout: "Popout"
volume: "Volumen"
masterVolume: "Volumen principal"
details: "Detalles"
chooseEmoji: "Elije un emoji"
unableToProcess: "La operación no se puede llevar a cabo"
recentUsed: "Usado recientemente"
install: "Instalación"
@ -502,7 +565,9 @@ scratchpad: "Scratch pad"
scratchpadDescription: "Scratchpad proporciona un entorno experimental para AiScript.\
\ Puede escribir, ejecutar y verificar los resultados que interactúan con FoundKey."
output: "Salida"
script: "Script"
updateRemoteUser: "Actualizar información de usuario remoto"
deleteAllFiles: "Borrar todos los archivos"
deleteAllFilesConfirm: "¿Desea borrar todos los archivos?"
removeAllFollowing: "Retener todos los siguientes"
removeAllFollowingDescription: "Cancelar todos los siguientes del servidor {host}.\
@ -519,7 +584,10 @@ addItem: "Agregar elemento"
relays: "Relés"
addRelay: "Agregar relé"
inboxUrl: "Inbox URL"
addedRelays: "Relés añadidos"
serviceworkerInfo: "Se necesita activar para usar las notificaciones push"
deletedNote: "Nota eliminada"
invisibleNote: "Nota oculta"
enableInfiniteScroll: "Activar scroll infinito"
visibility: "Visibilidad"
poll: "Encuesta"
@ -529,12 +597,15 @@ disablePlayer: "Cerrar reproductor"
themeEditor: "Editor de temas"
description: "Descripción"
describeFile: "Añade una descripción"
enterFileDescription: "Introducir un título"
author: "Autor"
leaveConfirm: "Hay modificaciones sin guardar. ¿Desea descartarlas?"
manage: "Administrar"
plugins: "Plugins"
deck: "Deck"
undeck: "Quitar deck"
useBlurEffectForModal: "Usar efecto borroso en modales"
useFullReactionPicker: "Reacción"
width: "Ancho"
height: "Altura"
large: "Grande"
@ -546,6 +617,7 @@ enableAll: "Activar todo"
disableAll: "Desactivar todo"
tokenRequested: "Permiso de acceso a la cuenta"
pluginTokenRequestedDescription: "Este plugin podrá usar los permisos descritos aquí"
notificationType: "Tipo de notificación"
edit: "Editar"
useStarForReactionFallback: "En caso de que los emojis de reacciones no sean claros,\
\ usar en su lugar una estrella"
@ -570,7 +642,10 @@ userSaysSomething: "{name} dijo algo"
makeActive: "Activar"
display: "Apariencia"
copy: "Copiar"
metrics: "Métricas"
overview: "Resumen"
logs: "Registros"
delayed: "atrasado"
database: "Base de datos"
channel: "Canal"
create: "Crear"
@ -587,6 +662,7 @@ regenerateLoginTokenDescription: "Regenerar el token usado internamente durante
setMultipleBySeparatingWithSpace: "Puedes añadir mas de uno, separado por espacios."
fileIdOrUrl: "Id del archivo o URL"
behavior: "Comportamiento"
sample: "Muestra"
abuseReports: "Reportes"
reportAbuse: "Reportar"
reportAbuseOf: "Reportar a {name}"
@ -600,8 +676,12 @@ forwardReportIsAnonymous: "No puede ver su información de la instancia remota y
send: "Enviar"
abuseMarkAsResolved: "Marcar reporte como resuelto"
openInNewTab: "Abrir en una Nueva Pestaña"
openInSideView: "Abrir en una vista al costado"
defaultNavigationBehaviour: "Navegación por defecto"
editTheseSettingsMayBreakAccount: "Editar estas configuraciones puede dañar su cuenta."
instanceTicker: "Información de notas de la instancia"
waitingFor: "Esperando a {x}"
random: "Aleatorio"
system: "Sistema"
switchUi: "Cambiar interfaz de usuario"
desktop: "Escritorio"
@ -642,6 +722,7 @@ disableShowingAnimatedImages: "No reproducir imágenes animadas"
verificationEmailSent: "Se le ha enviado un correo electrónico de confirmación. Por\
\ favor, acceda al enlace proporcionado en el correo electrónico para completar\
\ la configuración."
notSet: "Sin especificar"
emailVerified: "Su dirección de correo electrónico ha sido verificada."
noteFavoritesCount: "Número de notas favoritas"
pageLikesCount: "Número de favoritos en la página"
@ -649,6 +730,8 @@ pageLikedCount: "Número de favoritos de su página"
contact: "Contacto"
useSystemFont: "Utilizar la tipografía por defecto del sistema"
clips: "Clip"
experimentalFeatures: "Características experimentales"
developer: "Desarrolladores"
makeExplorable: "Hacer visible la cuenta en \"Explorar\""
makeExplorableDescription: "Si desactiva esta opción, su cuenta no aparecerá en la\
\ sección \"Explorar\"."
@ -661,16 +744,28 @@ narrow: "Estrecho"
reloadToApplySetting: "Esta configuración sólo se aplicará después de recargar la\
\ página. ¿Recargar ahora?"
needReloadToApply: "Se requiere un reinicio para la aplicar los cambios"
showTitlebar: "Mostrar la barra de título"
clearCache: "Limpiar caché"
onlineUsersCount: "{n} usuarios en línea"
nUsers: "{n} Usuarios"
nNotes: "{n} Notas"
myTheme: "Mi Tema"
backgroundColor: "Fondo"
accentColor: "Acento"
textColor: "Texto"
saveAs: "Guardar como…"
advanced: "Avanzado"
value: "Valores"
createdAt: "Fecha de creación"
updatedAt: "Actualizado"
saveConfirm: "¿Guardar cambios?"
deleteConfirm: "¿Desea eliminarlo?"
invalidValue: "Este no es un valor válido."
registry: "Registro"
closeAccount: "Cerrar cuenta"
currentVersion: "Versión actual"
latestVersion: "Última versión"
youAreRunningUpToDateClient: "Está utilizando la versión más reciente de su cliente."
newVersionOfClientAvailable: "Hay una versión más nueva de su cliente disponible."
usageAmount: "Uso"
capacity: "Capacidad"
@ -680,10 +775,12 @@ apply: "Aplicar"
receiveAnnouncementFromInstance: "Recibir notificaciones de la instancia"
emailNotification: "Notificaciones por correo electrónico"
publish: "Publicar"
inChannelSearch: "Buscar en el canal"
useReactionPickerForContextMenu: "Haga clic con el botón derecho para abrir el menu\
\ de reacciones"
typingUsers: "{users} está escribiendo"
jumpToSpecifiedDate: "Saltar a una fecha específica"
showingPastTimeline: "Mostrar líneas de tiempo antiguas"
clear: "Limpiar"
markAllAsRead: "Marcar todo como leído"
goBack: "Deseleccionar"
@ -696,6 +793,7 @@ notSpecifiedMentionWarning: "Algunas menciones no están incluidas en el destino
info: "Información"
userInfo: "Información del usuario"
unknown: "Desconocido"
onlineStatus: "En línea"
hideOnlineStatus: "mostrarse como desconectado"
hideOnlineStatusDescription: "Ocultar su estado en línea puede reducir la eficacia\
\ de algunas funciones, como la búsqueda"
@ -722,13 +820,22 @@ gallery: "Galería"
recentPosts: "Posts recientes"
popularPosts: "Más vistos"
shareWithNote: "Compartir con una nota"
expiration: "Termina el"
memo: "Notas"
priority: "Prioridad"
high: "Alta"
middle: "Mediano"
low: "Baja"
emailNotConfiguredWarning: "No se ha configurado una dirección de correo electrónico."
ratio: "Proporción"
previewNoteText: "Mostrar vista preliminar"
customCss: "CSS personalizado"
customCssWarn: "Este ajuste sólo debe utilizarse si se sabe lo que hace. Introducir\
\ valores inadecuados puede hacer que el cliente deje de funcionar con normalidad."
global: "Global"
squareAvatars: "Mostrar iconos cuadrados"
sent: "Enviar"
received: "Recibido"
searchResult: "Resultados de búsqueda"
hashtags: "Hashtag"
troubleshooting: "Solución de problemas"
@ -768,6 +875,8 @@ _ffVisibility:
public: "Publicar"
_accountDelete:
accountDelete: "Eliminar Cuenta"
_ad:
back: "Deseleccionar"
_forgotPassword:
contactAdmin: "Esta instancia no admite el uso de direcciones de correo electrónico,\
\ póngase en contacto con el administrador de la instancia para restablecer su\
@ -785,6 +894,7 @@ _email:
_plugin:
install: "Instalar plugins"
installWarn: "Por favor no instale plugins que no son de confianza"
manage: "Gestionar plugins"
_registry:
scope: "Alcance"
key: "Clave"
@ -794,8 +904,10 @@ _registry:
_aboutMisskey:
about: "FoundKey es un software de código abierto, desarrollado por syuilo desde\
\ el 2014"
contributors: "Principales colaboradores"
allContributors: "Todos los colaboradores"
source: "Código fuente"
translation: "Traducir FoundKey"
_nsfw:
respect: "Ocultar medios NSFW"
ignore: "No esconder medios NSFW "
@ -876,6 +988,68 @@ _theme:
alreadyInstalled: "Este tema ya está instalado"
invalid: "El formato del tema no es válido"
make: "Crear tema"
base: "Base"
addConstant: "Agregar constante"
constant: "Constante"
defaultValue: "Valor predeterminado"
color: "Color"
refProp: "Hacer referencia a propiedad"
refConst: "Hacer referencia a constante"
key: "Clave"
func: "funciones"
funcKind: "Tipo de función"
argument: "Argumento"
basedProp: "Nombre de la propiedad referenciada"
alpha: "Opacidad"
darken: "Oscuridad"
lighten: "Brillo"
inputConstantName: "Por favor ingrese el nombre de la constante"
importInfo: "Pegando el código del tema aquí, puede importarlo al editor"
deleteConstantConfirm: "¿Desea borrar la constante {const}?"
keys:
accent: "Acento"
bg: "Fondo"
fg: "Texto"
focus: "Enfoque"
indicator: "Indicador"
panel: "Panel"
shadow: "Sombra"
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"
hashtag: "Hashtag"
mention: "Menciones"
mentionMe: "Menciones (yo)"
renote: "Renotar"
modalBg: "Fondo modal"
divider: "Divisor"
scrollbarHandle: "Cuadro de la barra de desplazamiento"
scrollbarHandleHover: "Cuadro de la barra de desplazamiento (hover)"
dateLabelFg: "Texto de la etiqueta de fecha"
infoBg: "Fondo de información"
infoFg: "Texto de información"
infoWarnBg: "Fondo de advertencias"
infoWarnFg: "Texto de advertencias"
cwBg: "Fondo del botón CW"
cwFg: "Texto del botón CW"
cwHoverBg: "Fondo del botón CW (hover)"
toastBg: "Fondo de notificaciones"
toastFg: "Texto de notificaciones"
buttonBg: "Fondo de botón"
buttonHoverBg: "Fondo de botón (hover)"
inputBorder: "Borde de los campos de entrada"
listItemHoverBg: "Fondo de elemento de listas (hover)"
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"
noteMy: "Nota (a mí mismo)"
@ -1138,6 +1312,7 @@ _relayStatus:
accepted: "Aceptar"
rejected: "Rechazada"
_notification:
fileUploaded: "Archivo subido"
youGotMention: "Mención de {name}"
youGotReply: "Respuesta de {name}"
youGotQuote: "Citado por {name}"
@ -1150,6 +1325,7 @@ _notification:
yourFollowRequestAccepted: "Tu solicitud de seguimiento fue aceptada"
youWereInvitedToGroup: "Invitado al grupo"
_types:
all: "Todo"
follow: "Siguiendo"
mention: "Menciones"
reply: "Respuestas"

View file

@ -15,6 +15,7 @@ fetchingAsApObject: "Récupération depuis le fédiverse …"
ok: "OK"
gotIt: "Jai compris !"
cancel: "Annuler"
enterUsername: "Entrer un nom dutilisateur·rice"
renotedBy: "Renoté par {user}"
noNotes: "Aucune note"
noNotifications: "Aucune notification"
@ -31,12 +32,16 @@ login: "Se connecter"
loggingIn: "Connexion en cours"
logout: "Se déconnecter"
signup: "Sinscrire"
uploading: "Envoi en cours"
save: "Enregistrer"
users: "Utilisateur·rice·s"
addUser: "Ajouter un·e utilisateur·rice"
favorite: "Ajouter aux favoris"
favorites: "Favoris"
unfavorite: "Retirer des favoris"
favorited: "Ajouté à mes favoris"
alreadyFavorited: "Déjà ajouté aux favoris."
cantFavorite: "Impossible d'ajouter aux favoris."
pin: "Épingler sur le profil"
unpin: "Désépingler"
copyContent: "Copier le contenu"
@ -48,9 +53,10 @@ deleteAndEditConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note et la
addToList: "Ajouter à une liste"
sendMessage: "Envoyer un message"
copyUsername: "Copier le nom dutilisateur·rice"
searchUser: "Chercher un·e utilisateur·rice"
reply: "Répondre"
loadMore: "Afficher plus"
showMore: "Afficher plus"
loadMore: "Afficher plus"
showMore: "Afficher plus"
youGotNewFollower: "Vous suit"
receiveFollowRequest: "Demande dabonnement reçue"
followRequestAccepted: "La demande dabonnement a été acceptée"
@ -69,6 +75,7 @@ exportRequested: "Vous avez demandé une exportation. Lopération pourrait pr
\ un peu de temps. Une terminée, le fichier résultant sera ajouté au Drive."
importRequested: "Vous avez initié un import. Cela pourrait prendre un peu de temps."
lists: "Listes"
noLists: "Vous navez aucune liste"
note: "Notes"
notes: "Notes"
following: "Abonnements"
@ -79,7 +86,7 @@ manageLists: "Gérer les listes"
error: "Erreur"
somethingHappened: "Une erreur est survenue"
retry: "Réessayer"
pageLoadError: "Le chargement de la page a échoué."
pageLoadError: "Le chargement de la page a échoué"
pageLoadErrorDescription: "Cela est généralement causé par le cache du navigateur\
\ ou par un problème réseau. Veuillez vider votre cache ou attendre un peu et réessayer."
serverIsDead: "Le serveur ne répond pas. Patientez quelques instants puis essayez\
@ -95,15 +102,21 @@ followRequest: "Demande dabonnement"
followRequests: "Demandes dabonnement"
unfollow: "Se désabonner"
followRequestPending: "Demande d'abonnement en attente de confirmation"
enterEmoji: "Insérer un émoji"
renote: "Renoter"
unrenote: "Annuler la Renote"
renoted: "Renoté !"
cantRenote: "Ce message ne peut pas être renoté."
cantReRenote: "Impossible de renoter une Renote."
quote: "Citer"
pinnedNote: "Note épinglée"
pinned: "Épingler sur le profil"
you: "Vous"
clickToShow: "Cliquer pour afficher"
sensitive: "Contenu sensible"
add: "Ajouter"
reaction: "Réactions"
reactionSetting: "Réactions à afficher dans le sélecteur de réactions"
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser\
\ « + » pour ajouter."
attachCancel: "Supprimer le fichier attaché"
@ -128,7 +141,10 @@ editWidgetsExit: "Valider les modifications"
customEmojis: "Émojis personnalisés"
emoji: "Émoji"
emojis: "Émoji"
emojiName: "Nom de lémoji"
emojiUrl: "URL de lémoji"
addEmoji: "Ajouter un émoji"
settingGuide: "Configuration proposée"
cacheRemoteFiles: "Mise en cache des fichiers distants"
cacheRemoteFilesDescription: "Lorsque cette option est désactivée, les fichiers distants\
\ sont chargés directement depuis linstance distante. La désactiver diminuera certes\
@ -148,8 +164,10 @@ addAccount: "Ajouter un compte"
loginFailed: "Échec de la connexion"
showOnRemote: "Voir sur linstance distante"
general: "Général"
wallpaper: "Fond décran"
setWallpaper: "Définir le fond décran"
removeWallpaper: "Supprimer le fond décran"
searchWith: "Recherche : {q}"
youHaveNoLists: "Vous navez aucune liste"
followConfirm: "Êtes-vous sûr·e de vouloir suivre {name} ?"
proxyAccount: "Compte proxy"
@ -164,19 +182,27 @@ selectUser: "Sélectionner un·e utilisateur·rice"
recipient: "Destinataire"
annotation: "Commentaires"
federation: "Fédération"
instances: "Instance"
registeredAt: "Premier contact le"
latestRequestSentAt: "Dernière requête envoyée"
latestRequestReceivedAt: "Dernière requête reçue"
latestStatus: "Dernier statut"
storageUsage: "Stockage utilisé"
charts: "Graphiques"
perHour: "par heure"
perDay: "par jour"
stopActivityDelivery: "Arrêter lenvoi de lactivité"
blockThisInstance: "Bloquer cette instance"
operations: "Opérations"
software: "Logiciel"
version: "Version"
metadata: "Métadonnées"
withNFiles: "{n} fichier(s)"
monitor: "Contrôle"
jobQueue: "File dattente"
cpuAndMemory: "Processeur et mémoire"
network: "Réseau"
disk: "Disque"
instanceInfo: "Informations sur linstance"
statistics: "Statistiques"
clearQueue: "Vider la file dattente"
@ -198,7 +224,7 @@ noteDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note ?"
pinLimitExceeded: "Vous ne pouvez plus épingler dautres notes."
intro: "Linstallation de FoundKey est terminée ! Veuillez créer un compte administrateur."
done: "Terminé"
processing: "Traitement en cours..."
processing: "Traitement en cours"
preview: "Aperçu"
default: "Par défaut"
noCustomEmojis: "Il n'y a pas démoji"
@ -210,6 +236,9 @@ all: "Tous"
subscribing: "Abonné"
publishing: "Publié"
notResponding: "Ne répond pas"
instanceFollowing: "Abonnements de l'instance"
instanceFollowers: "Abonné·e·s de linstance"
instanceUsers: "Utilisateur·rice·s de cette linstance"
changePassword: "Modifier votre mot de passe"
security: "Sécurité"
retypedNotMatch: "Les saisies ne correspondent pas."
@ -225,8 +254,9 @@ lookup: "Recherche"
announcements: "Annonces"
imageUrl: "URL de limage"
remove: "Supprimer"
removeAreYouSure: "Êtes-vous sûr·e de vouloir supprimer \"{x}\" ?"
deleteAreYouSure: "Êtes-vous sûr·e de vouloir supprimer \"{x}\" ?"
removed: "Supprimé"
removeAreYouSure: "Êtes-vous sûr·e de vouloir supprimer「{x}」?"
deleteAreYouSure: "Êtes-vous sûr·e de vouloir supprimer「{x}」?"
resetAreYouSure: "Voulez-vous réinitialiser ?"
saved: "Enregistré"
messaging: "Discuter"
@ -265,6 +295,7 @@ lightThemes: "Thèmes clairs"
darkThemes: "Thèmes sombres"
syncDeviceDarkMode: "Utiliser le mode sombre de votre appareil"
drive: "Drive"
fileName: "Nom du fichier"
selectFile: "Choisir le fichier"
selectFiles: "Choisir les fichiers"
selectFolder: "Sélectionnez un dossier"
@ -293,7 +324,7 @@ whenServerDisconnected: "Lorsque la connexion au serveur est perdue"
disconnectedFromServer: "Déconnecté·e du serveur"
reload: "Rafraîchir"
doNothing: "Ignorer"
reloadConfirm: "Voulez-vous rafraichir la timeline ?"
reloadConfirm: "Voulez-vous recharger?"
watch: "Surveiller"
unwatch: "Ne plus surveiller"
accept: "Autoriser"
@ -318,6 +349,7 @@ enableLocalTimeline: "Activer le fil local"
enableGlobalTimeline: "Activer le fil global"
disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur·rice·s\
\ et les modérateur·rice·s pourront toujours y accéder."
registration: "Sinscrire"
enableRegistration: "Autoriser les nouvelles inscriptions"
invite: "Inviter"
driveCapacityPerLocalAccount: "Volume du Drive par utilisateur local"
@ -326,13 +358,26 @@ inMb: "en mégaoctets"
iconUrl: "URL de l'icône"
bannerUrl: "URL de limage de la bannière"
backgroundImageUrl: "URL de l'image d'arrière-plan"
basicInfo: "Informations basiques"
pinnedUsers: "Utilisateur·rice épinglé·e"
pinnedUsersDescription: "Listez les utilisateur·rice·s que vous souhaitez voir épinglé·e·s\
\ sur la page \"Découvrir\", un·e par ligne."
pinnedPages: "Pages épinglées"
pinnedPagesDescription: "Inscrivez le chemin des pages que vous souhaitez épingler\
\ en haut de la page de l'instance. Séparez les pages d'un retour à la ligne."
pinnedClipId: "Identifiant du clip épinglé"
pinnedNotes: "Note épinglée"
hcaptcha: "hCaptcha"
enableHcaptcha: "Activer hCaptcha"
hcaptchaSiteKey: "Clé du site"
hcaptchaSecretKey: "Clé secrète"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Activer reCAPTCHA"
recaptchaSiteKey: "Clé du site"
recaptchaSecretKey: "Clé secrète"
avoidMultiCaptchaConfirm: "Lutilisation de plusieurs Captchas peut provoquer des\
\ interférences. Souhaitez-vous désactiver lautre Captcha ? Vous pouvez laisser\
\ plusieurs Captcha activés en appuyant sur Annuler."
antennas: "Antennes"
manageAntennas: "Gestion des antennes"
name: "Nom"
@ -343,6 +388,7 @@ antennaKeywordsDescription: "Séparer avec des espaces pour la condition AND. S
\ avec un saut de ligne pour une condition OR."
notifyAntenna: "Je souhaite recevoir les notifications des nouvelles notes"
withFileAntenna: "Notes ayant des attachements uniquement"
enableServiceworker: "Activer ServiceWorker"
antennaUsersDescription: "Saisissez un seul nom dutilisateur·rice par ligne"
caseSensitive: "Sensible à la casse"
withReplies: "Inclure les réponses"
@ -359,8 +405,11 @@ popularUsers: "Utilisateur·rice·s populaires"
recentlyUpdatedUsers: "Utilisateur·rice·s actif·ve·s récemment"
recentlyRegisteredUsers: "Utilisateur·rice·s récemment inscrit·e·s"
recentlyDiscoveredUsers: "Utilisateur·rice·s récemment découvert·e·s"
exploreUsersCount: "Il y a {count} utilisateur·rice·s"
exploreFediverse: "Explorer le Fediverse"
popularTags: "Mots-clés populaires"
userList: "Listes"
about: "Informations"
aboutMisskey: "À propos de FoundKey"
administrator: "Administrateur"
token: "Jeton"
@ -380,6 +429,7 @@ share: "Partager"
notFound: "Non trouvé"
notFoundDescription: "Aucune page ne correspond à lURL spécifiée."
uploadFolder: "Emplacement de téléversement par défaut"
cacheClear: "Vider le cache"
markAsReadAllNotifications: "Marquer toutes les notifications comme lues"
markAsReadAllUnreadNotes: "Marquer toutes les notes comme lues"
markAsReadAllTalkMessages: "Marquer toutes les discussions comme lues"
@ -410,12 +460,13 @@ noMessagesYet: "Pas encore de discussion"
newMessageExists: "Vous avez un nouveau message"
onlyOneFileCanBeAttached: "Vous ne pouvez joindre quun seul fichier au message"
signinRequired: "Veuillez vous connecter"
invitations: "Invitations"
invitationCode: "Code dinvitation"
checking: "Vérification en cours..."
available: "Disponible"
unavailable: "Non disponible"
usernameInvalidFormat: "Le nom d'utilisateur peut contenir uniquement des lettres\
\ (minuscules et/ou majuscules), des chiffres et des tirets bas."
\ (minuscules et/ou majuscules), des chiffres et des _"
tooShort: "Trop court"
tooLong: "Trop long"
weakPassword: "Mot de passe faible"
@ -431,6 +482,7 @@ or: "OU"
language: "Langue"
uiLanguage: "Langue daffichage de linterface"
groupInvited: "Invité au groupe"
aboutX: "À propos de {x}"
useOsNativeEmojis: "Utiliser les émojis natifs du système"
youHaveNoGroups: "Vous navez aucun groupe"
joinOrCreateGroup: "Vous pouvez être invité·e à rejoindre des groupes existants ou\
@ -438,25 +490,33 @@ joinOrCreateGroup: "Vous pouvez être invité·e à rejoindre des groupes exista
noHistory: "Pas d'historique"
signinHistory: "Historique de connexion"
disableAnimatedMfm: "Désactiver MFM ayant des animations"
doing: "En cours..."
category: "Catégorie"
tags: "Étiquettes"
docSource: "Source de ce document"
createAccount: "Créer un compte"
existingAccount: "Compte existant"
regenerate: "Générer à nouveau"
fontSize: "Taille de la police"
noFollowRequests: "Vous navez aucune demande dabonnement en attente"
openImageInNewTab: "Ouvrir les images dans un nouvel onglet"
dashboard: "Tableau de bord"
local: "Local"
remote: "Distant"
total: "Total"
weekOverWeekChanges: "Hebdomadaire"
dayOverDayChanges: "Journalier"
appearance: "Apparence"
clientSettings: "Paramètres du client"
accountSettings: "Paramètres du compte"
numberOfDays: "Nombre de jours"
hideThisNote: "Masquer cette note"
showFeaturedNotesInTimeline: "Afficher les notes des Tendances dans le fil d'actualité"
objectStorage: "Stockage d'objets"
useObjectStorage: "Utiliser le stockage d'objets"
objectStorageBaseUrl: "URL de base"
objectStorageBaseUrl: "Base URL"
objectStorageBaseUrlDesc: "Préfixe dURL utilisé pour construire lURL vers le référencement\
\ dobjet (média). \nSpécifiez son URL si vous utilisez un CDN ou un proxy, sinon\
\ dobjet (média). Spécifiez son URL si vous utilisez un CDN ou un proxy, sinon\
\ spécifiez ladresse accessible au public selon le guide de service que vous allez\
\ utiliser. P.ex. 'https://<bucket>.s3.amazonaws.com' pour AWS S3 et 'https://storage.googleapis.com/<bucket>'\
\ pour GCS."
@ -467,7 +527,7 @@ objectStoragePrefix: "Prefix"
objectStoragePrefixDesc: "Les fichiers seront stockés sous le répertoire de ce préfixe."
objectStorageEndpoint: "Endpoint"
objectStorageEndpointDesc: "Laissez ce champ vide si vous utilisez AWS S3, sinon spécifiez\
\ le point de terminaison comme '<host>' ou '<host>:<port>' selon le guide de service\
\ le point de terminaison comme '<host>' ou '<host>: <port>' selon le guide de service\
\ que vous allez utiliser."
objectStorageRegion: "Région"
objectStorageRegionDesc: "Spécifiez une région comme 'xx-east-1'. Si votre service\
@ -479,6 +539,8 @@ objectStorageUseProxy: "Se connecter via proxy"
objectStorageUseProxyDesc: "Désactivez cette option si vous n'utilisez pas de proxy\
\ pour la connexion API"
objectStorageSetPublicRead: "Régler sur « public » lors de l'envoi"
serverLogs: "Journal du serveur"
deleteAll: "Supprimer tout"
showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité"
newNoteRecived: "Voir les nouvelles notes"
sounds: "Sons"
@ -489,7 +551,8 @@ popout: "Fenêtre contextuelle"
volume: "Volume"
masterVolume: "Volume principal"
details: "Détails"
unableToProcess: "Lopération na pas réussi"
chooseEmoji: "Choisissez un émoji"
unableToProcess: "Lopération na pas pu être complétée."
recentUsed: "Utilisé récemment"
install: "Installation"
uninstall: "Désinstaller"
@ -506,7 +569,9 @@ scratchpadDescription: "ScratchPad fournit un environnement expérimental pour A
\ Vous pouvez vérifier la rédaction de votre code, sa bonne exécution et le résultat\
\ de son interaction avec FoundKey."
output: "Sortie"
script: "Script"
updateRemoteUser: "Mettre à jour les informations de lutilisateur·rice distant·e"
deleteAllFiles: "Supprimer tous les fichiers"
deleteAllFilesConfirm: "Êtes-vous sûr·e de vouloir supprimer tous les fichiers ?"
removeAllFollowing: "Retenir tous les abonnements"
removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Veuillez\
@ -523,8 +588,11 @@ divider: "Séparateur"
addItem: "Ajouter un élément"
relays: "Relais"
addRelay: "Ajouter un relais"
inboxUrl: "URL de la boite de réception"
inboxUrl: "Inbox URL"
addedRelays: "Relais ajoutés"
serviceworkerInfo: "Devrait être activé pour les notifications push."
deletedNote: "Note supprimée"
invisibleNote: "Note invisible"
enableInfiniteScroll: "Activer le défilement infini"
visibility: "Visibilité"
poll: "Sondage"
@ -534,13 +602,16 @@ disablePlayer: "Fermer le lecteur vidéo"
themeEditor: "Éditeur de thèmes"
description: "Description"
describeFile: "Ajouter une description d'image"
enterFileDescription: "Saisissez une description"
author: "Auteur·rice"
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer\
\ ?"
manage: "Gestion"
plugins: "Extensions"
deck: "Cartes"
deck: "Deck"
undeck: "Quitter le deck"
useBlurEffectForModal: "Utiliser un effet de flou pour les modals"
useFullReactionPicker: "Utiliser l'intégralité du panneau de réactions"
width: "Largeur"
height: "Hauteur"
large: "Grand"
@ -553,14 +624,15 @@ disableAll: "Tout désactiver"
tokenRequested: "Autoriser l'accès au compte"
pluginTokenRequestedDescription: "Ce plugin pourra utiliser les autorisations définies\
\ ici."
notificationType: "Type de notifications"
edit: "Editer"
useStarForReactionFallback: "Utiliser ★ comme alternative si lémoji de réaction est\
\ inconnu"
emailServer: "Serveur mail"
enableEmail: "Activer la distribution de courriel"
emailConfigInfo: "Utilisé pour confirmer votre adresse de courriel et la réinitialisation\
\ de votre mot de passe en cas doubli"
email: "E-mail"
\ de votre mot de passe en cas doubli."
email: "E-mail "
emailAddress: "Adresses e-mail"
smtpConfig: "Paramètres du serveur SMTP"
smtpHost: "Serveur distant"
@ -570,7 +642,7 @@ smtpPass: "Mot de passe"
emptyToDisableSmtpAuth: "Laisser le nom dutilisateur et le mot de passe vides pour\
\ désactiver la vérification SMTP"
smtpSecure: "Utiliser SSL/TLS implicitement dans les connexions SMTP"
smtpSecureInfo: "Désactiver cette option lorsque STARTTLS est utilisé."
smtpSecureInfo: "Désactiver cette option lorsque STARTTLS est utilisé"
testEmail: "Tester la distribution de courriel"
wordMute: "Filtre de mots"
regexpError: "Erreur dexpression régulière"
@ -579,12 +651,15 @@ userSaysSomething: "{name} a dit quelque chose"
makeActive: "Activer"
display: "Affichage"
copy: "Copier"
metrics: "Métriques"
overview: "Aperçu"
logs: "Journaux"
delayed: "en retard"
database: "Base de données"
channel: "Canaux"
create: "Créer"
notificationSetting: "Paramètres des notifications"
notificationSettingDesc: "Sélectionnez le type de notification à afficher."
notificationSetting: "Paramètres des notifications "
notificationSettingDesc: "Sélectionnez le type de notification à afficher"
useGlobalSetting: "Utiliser paramètre général"
useGlobalSettingDesc: "S'il est activé, les paramètres de notification de votre compte\
\ seront utilisés. S'il est désactivé, des configurations individuelles peuvent\
@ -593,11 +668,12 @@ other: "Autre"
regenerateLoginToken: "Régénérer le jeton de connexion"
regenerateLoginTokenDescription: "Générer un nouveau jeton d'authentification. Cette\
\ opération ne devrait pas être nécessaire ; lors de la génération d'un nouveau\
\ jeton, tous les appareils seront déconnectés."
\ jeton, tous les appareils seront déconnectés. "
setMultipleBySeparatingWithSpace: "Vous pouvez en définir plusieurs, en les séparant\
\ par des espaces."
fileIdOrUrl: "ID du fichier ou URL"
behavior: "Comportement"
sample: "Exemple"
abuseReports: "Signalements"
reportAbuse: "Signaler"
reportAbuseOf: "Signaler {name}"
@ -610,8 +686,13 @@ forwardReport: "Transférer le signalement à linstance distante"
send: "Envoyer"
abuseMarkAsResolved: "Marquer le signalement comme résolu"
openInNewTab: "Ouvrir dans un nouvel onglet"
openInSideView: "Ouvrir en vue latérale"
defaultNavigationBehaviour: "Navigation par défaut"
editTheseSettingsMayBreakAccount: "La modification de ces paramètres peut endommager\
\ votre compte."
instanceTicker: "Nom de l'instance d'origine des notes"
waitingFor: "En attente de {x}"
random: "Aléatoire"
system: "Système"
switchUi: "Modifier l'interface utilisateur"
desktop: "Bureau"
@ -623,7 +704,7 @@ public: "Public"
i18nInfo: "FoundKey est traduit dans différentes langues par des bénévoles. Vous pouvez\
\ contribuer à {link}."
manageAccessTokens: "Gérer les jetons d'accès"
accountInfo: "Informations du compte"
accountInfo: " Informations du compte "
notesCount: "Nombre de notes"
repliesCount: "Nombre de réponses envoyées"
renotesCount: "Nombre de notes que vous avez renotées"
@ -650,14 +731,17 @@ loadRawImages: "Affichage complet des images jointes au lieu des vignettes"
disableShowingAnimatedImages: "Désactiver l'animation des images"
verificationEmailSent: "Un e-mail de vérification a été envoyé. Veuillez accéder au\
\ lien pour compléter la vérification."
emailVerified: "Votre adresse e-mail a été vérifiée"
notSet: "Non défini"
emailVerified: "Votre adresse e-mail a été vérifiée."
noteFavoritesCount: "Nombre de notes dans les favoris"
pageLikesCount: "Nombre de pages aimées"
pageLikedCount: "Nombre de vos pages aimées"
contact: "Contact"
useSystemFont: "Utiliser la police par défaut du système"
clips: "Clips"
makeExplorable: "Rendre le compte visible sur la page \"Découvrir\""
experimentalFeatures: "Fonctionnalités expérimentales"
developer: "Développeur"
makeExplorable: "Rendre le compte visible sur la page \"Découvrir\"."
makeExplorableDescription: "Si vous désactivez cette option, votre compte n'apparaîtra\
\ pas sur la page \"Découvrir\"."
showGapBetweenNotesInTimeline: "Afficher un écart entre les notes sur la Timeline"
@ -669,16 +753,28 @@ narrow: "Condensé"
reloadToApplySetting: "Vos paramètres seront appliqués lorsque vous rechargerez la\
\ page. Souhaitez-vous recharger ?"
needReloadToApply: "Ce paramètre s'appliquera après un rechargement."
showTitlebar: "Afficher la barre de titre"
clearCache: "Vider le cache"
onlineUsersCount: "{n} utilisateur(s) en ligne"
nUsers: "{n} utilisateur·rice·s"
nNotes: "{n} Notes"
myTheme: "Mes thèmes"
backgroundColor: "Arrière-plan"
accentColor: "Accentuation"
textColor: "Texte"
saveAs: "Enregistrer sous ..."
advanced: "Avancé"
value: "Valeur"
createdAt: "Date de création"
updatedAt: "Mis à jour le"
deleteConfirm: "Confirmez-vous la suppression ?"
saveConfirm: "Voulez-vous sauvegarder les modifications?"
deleteConfirm: "Confirmez-vous la suppression?"
invalidValue: "Cette valeur est invalide."
registry: "Registre"
closeAccount: "Fermer le compte"
currentVersion: "Version actuelle"
latestVersion: "Dernière version "
youAreRunningUpToDateClient: "Votre client est à jour."
newVersionOfClientAvailable: "Une nouvelle version de votre client est disponible."
usageAmount: "Utilisation"
capacity: "Capacité "
@ -688,9 +784,11 @@ apply: "Appliquer"
receiveAnnouncementFromInstance: "Recevoir les messages d'information de l'instance"
emailNotification: "Notifications par mail"
publish: "Public"
inChannelSearch: "Chercher dans le canal"
useReactionPickerForContextMenu: "Clic-droit pour ouvrir le panneau de réactions"
typingUsers: "{users} est en train d'écrire..."
typingUsers: "{users} est en train d'écrire"
jumpToSpecifiedDate: "Se rendre à la date"
showingPastTimeline: "Un fil ancien est affiché"
clear: "Effacer"
markAllAsRead: "Tout marquer comme lu"
goBack: "Retour"
@ -705,6 +803,7 @@ notSpecifiedMentionWarning: "Vous avez mentionné des utilisateur·rice·s qui n
info: "Informations"
userInfo: "Informations sur l'utilisateur"
unknown: "Inconnu"
onlineStatus: "Statut"
hideOnlineStatus: "Se rendre invisible"
hideOnlineStatusDescription: "Rendre votre statut invisible peut diminuer les performances\
\ de certaines fonctionnalités, telles que la Recherche."
@ -731,6 +830,12 @@ gallery: "Galerie"
recentPosts: "Les plus récentes"
popularPosts: "Les plus consultées"
shareWithNote: "Partager dans une note"
expiration: "Échéance"
memo: "Pense-bête"
priority: "Priorité"
high: "Haute"
middle: "Moyen"
low: "Basse"
emailNotConfiguredWarning: "Vous n'avez pas configuré d'adresse e-mail."
ratio: "Ratio"
previewNoteText: "Voir l'aperçu"
@ -738,7 +843,10 @@ customCss: "CSS personnalisé"
customCssWarn: "Utilisez cette fonctionnalité uniquement si vous savez exactement\
\ ce que vous faites. Une configuration inadaptée peut empêcher le client de s'exécuter\
\ normalement."
global: "Global"
squareAvatars: "Avatars carrés"
sent: "Envoyer"
received: "Reçu"
searchResult: "Résultats de la recherche"
hashtags: "Hashtags"
troubleshooting: "Résolution de problèmes"
@ -748,7 +856,7 @@ misskeyUpdated: "FoundKey a été mis à jour !"
whatIsNew: "Voir les derniers changements"
translate: "Traduire"
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\
@ -776,8 +884,7 @@ ffVisibility: "Visibilité des abonnés/abonnements"
ffVisibilityDescription: "Permet de configurer qui peut voir les personnes que tu\
\ suis et les personnes qui te suivent."
continueThread: "Afficher la suite du fil"
deleteAccountConfirm: "Le compte {handle} sera définitivement supprimé. Êtes vous\
\ certain ?"
deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?"
incorrectPassword: "Le mot de passe est incorrect."
voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?"
hide: "Masquer"
@ -805,7 +912,6 @@ _emailUnavailable:
format: "Le format de cette adresse de courriel est invalide"
mx: "Ce serveur de courriels est invalide"
smtp: "Ce serveur de courriels ne répond pas"
disposable: Il ne faut pas utiliser d'adresses email jetables
_ffVisibility:
public: "Public"
followers: "Visible uniquement pour les abonné·e·s"
@ -826,6 +932,9 @@ _accountDelete:
requestAccountDelete: "Demander la suppression de votre compte"
started: "La procédure de suppression a commencé."
inProgress: "Suppression en cours"
_ad:
back: "Retour"
reduceFrequencyOfThisAd: "Voir cette publicité moins souvent"
_forgotPassword:
enterEmail: "Entrez ici l'adresse e-mail que vous avez enregistrée pour votre compte.\
\ Un lien vous permettant de réinitialiser votre mot de passe sera envoyé à cette\
@ -837,7 +946,7 @@ _forgotPassword:
\ de votre mot de passe."
_gallery:
my: "Mes publications"
liked: "Publications que j'ai aimées"
liked: " Publications que j'ai aimées"
like: "J'aime"
unlike: "Je naime pas"
_email:
@ -848,16 +957,19 @@ _email:
_plugin:
install: "Installation de plugin"
installWarn: "Ninstallez que des extensions provenant de sources de confiance."
manage: "Gestion des plugins"
_registry:
scope: "Portée"
key: "Clé"
keys: "Clés"
key: "Clé "
keys: "Clé "
domain: "Domaine"
createKey: "Créer une clé"
_aboutMisskey:
about: "FoundKey est un logiciel libre et ouvert, développé par syuilo depuis 2014."
contributors: "Principaux contributeurs"
allContributors: "Tous les contributeurs"
source: "Code source"
translation: "Traduire FoundKey"
_nsfw:
respect: "Cacher les médias marqués comme contenu sensible"
ignore: "Afficher les médias sensibles"
@ -869,10 +981,10 @@ _mfm:
dummy: "La Fédiverse s'agrandit avec FoundKey"
mention: "Mentionner"
mentionDescription: "Vous pouvez afficher un utilisateur spécifique en indiquant\
\ une arobase suivie d'un nom d'utilisateur."
\ une arobase suivie d'un nom d'utilisateur"
hashtag: "Hashtags"
hashtagDescription: "Vous pouvez afficher un mot-dièse en utilisant un croisillon\
\ et du texte."
\ et du texte"
url: "URL"
urlDescription: "L'adresse web peut être affichée."
link: "Lien"
@ -883,13 +995,13 @@ _mfm:
small: "Diminuer l'emphase"
smallDescription: "Le contenu peut être affiché en petit et fin."
center: "Centrer"
centerDescription: "Centrer l'affichage du contenu."
centerDescription: "Le contenu peut être centré"
inlineCode: "Code (inline)"
inlineCodeDescription: "Coloration syntaxique des lignes de code."
blockCode: "Bloc de code"
blockCodeDescription: "Coloration syntaxique des lignes de code pour les blocs multi-lignes."
inlineMath: "Formule mathématique (inline)"
inlineMathDescription: "Afficher les formules mathématiques (KaTeX) dans le texte."
inlineMathDescription: "Afficher les formules mathématiques (KaTeX)."
blockMath: "Formule mathématique (bloc)"
blockMathDescription: "Afficher les formules mathématiques (KaTeX) multi-lignes\
\ dans un bloc."
@ -900,11 +1012,11 @@ _mfm:
search: "Rechercher"
searchDescription: "Affiche une boîte de recherche avec du texte pré-saisi."
flip: "Inverser"
flipDescription: "Rotation verticale ou horizontale du contenu."
flipDescription: "Rotation verticale ou horizontale du contenu"
jelly: "Animation (Gelée)"
jellyDescription: "Donne une animation d'étirement."
tada: "Animation (Tada)"
tadaDescription: "Donne une animation qui donne une impression de \"Tada !\"."
tadaDescription: "Donne une animation qui donne une impression de \"Tada !\""
jump: "Animation (Saut)"
jumpDescription: "Donne une animation qui saute."
bounce: "Animation (Rebond)"
@ -931,9 +1043,8 @@ _mfm:
sparkle: "Paillettes"
sparkleDescription: "Ajoute un effet scintillant au contenu."
rotate: "Pivoter"
rotateDescription: Rotation du contenu selon l'angle spécifié.
_instanceTicker:
none: "Cacher"
none: "Cacher "
remote: "Montrer pour les utilisateur·ice·s distant·e·s"
always: "Toujours afficher"
_serverDisconnectedBehavior:
@ -972,9 +1083,6 @@ _instanceMute:
instanceMuteDescription2: "Séparer avec de nouvelles lignes"
title: "Masque les notes venant des instances listées."
heading: "Instances à mettre en sourdine"
instanceMuteDescription: Cela va mettre en sourdine toutes les notes/renotes des
instances listées, y compris celles des utilisateurs répondant à un utilisateur
à partir d'une instance désactivée.
_theme:
explore: "Explorer les thèmes"
install: "Installer un thème"
@ -987,6 +1095,70 @@ _theme:
alreadyInstalled: "Ce thème est déjà installé"
invalid: "Le format du thème n'est pas valide"
make: "Créer un thème"
base: "Base"
addConstant: "Ajouter une constante"
constant: "Constante"
defaultValue: "Valeur par défaut"
color: "Couleur"
refProp: "Appeler une propriété"
refConst: "Appeler une constante"
key: "Clé "
func: "Fonction"
funcKind: "Type de fonction"
argument: "Argument"
basedProp: "Nom de la propriété référencée"
alpha: "Transparence"
darken: "Sombre"
lighten: "Clair"
inputConstantName: "Insérez un nom de constante"
importInfo: "Vous pouvez importer un thème vers léditeur de thèmes en saisissant\
\ son code ici."
deleteConstantConfirm: "Êtes-vous sûr·e de vouloir supprimer la constante {const}\
\ ?"
keys:
accent: "Accentuation"
bg: "Arrière-plan"
fg: "Texte"
focus: "Mise au point"
indicator: "Indicateur"
panel: "Panneau"
shadow: "Ombre"
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"
hashtag: "Hashtags"
mention: "Mentionner"
mentionMe: "Mentions (Moi)"
renote: "Renoter"
modalBg: "Modal d'arrière-plan"
divider: "Séparateur"
scrollbarHandle: "Poignée de la barre de navigation"
scrollbarHandleHover: "Poignée de la barre de navigation (survolée)"
dateLabelFg: "Texte de l'étiquette de la date"
infoBg: "Arrière-plan pour les informations"
infoFg: "Texte d'information"
infoWarnBg: "Arrière-plan des avertissements"
infoWarnFg: "Texte davertissement"
cwBg: "Arrière-plan du CW"
cwFg: "Texte du bouton CW"
cwHoverBg: "Arrière-plan du bouton CW (survolé)"
toastBg: "Arrière-plan de la bulle de notification"
toastFg: "Texte de la bulle de notification"
buttonBg: "Arrière-plan du bouton"
buttonHoverBg: "Arrière-plan du bouton (survolé)"
inputBorder: "Cadre de la zone de texte"
listItemHoverBg: "Arrière-plan d'item de liste (survolé)"
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"
noteMy: "Ma note"
@ -1012,7 +1184,7 @@ _time:
day: "j"
_tutorial:
title: "Comment utiliser FoundKey"
step1_1: "Bienvenue !"
step1_1: "Bienvenue,"
step1_2: "Cette page est appelée « un fil ». Elle affiche les « notes » des personnes\
\ auxquelles vous êtes abonné dans un ordre chronologique."
step1_3: "Votre fil est actuellement vide vu que vous ne suivez aucun compte et\
@ -1026,7 +1198,7 @@ _tutorial:
\ sur licône crayon sur lécran."
step3_3: "Remplissez le cadran et cliquez sur le bouton en haut à droite pour envoyer."
step3_4: "Vous navez rien à dire ? Essayez décrire « Jai commencé à utiliser\
\ FoundKey » !"
\ FoundKey »."
step4_1: "Avez-vous publié votre première note ?"
step4_2: "Youpi ! Celle-ci est maintenant affichée sur votre fil dactualité."
step5_1: "Maintenant, essayons de nous abonner à dautres personnes afin de rendre\
@ -1064,8 +1236,6 @@ _2fa:
\ davantage le processus de connexion grâce à une clé de sécurité matérielle qui\
\ prend en charge FIDO2, ou bien en configurant l'authentification par empreinte\
\ digitale ou par code PIN sur votre appareil."
step2Url: 'Vous pouvez aussi entrer cette URL si vous utilisez un client lourd sur
ordinateur :'
_permissions:
"read:account": "Afficher les informations du compte"
"write:account": "Mettre à jour les informations de votre compte"
@ -1102,8 +1272,8 @@ _permissions:
_auth:
shareAccess: "Autoriser \"{name}\" à accéder à votre compte ?"
shareAccessAsk: "Voulez-vous vraiment autoriser cette application à accéder à votre\
\ compte ?"
permissionAsk: "Cette application nécessite les autorisations suivantes"
\ compte?"
permissionAsk: "Cette application nécessite les autorisations suivantes :"
pleaseGoBack: "Veuillez retourner à lapplication"
callback: "Retour vers lapplication"
denied: "Accès refusé"
@ -1141,10 +1311,9 @@ _widgets:
serverMetric: "Statistiques du serveur"
aiscript: "Console AiScript"
aichan: "Ai"
rssMarquee: Flux RSS
_cw:
hide: "Masquer"
show: "Afficher plus"
show: "Afficher plus"
chars: "{count} caractères"
files: "{count} fichiers"
_poll:
@ -1154,8 +1323,8 @@ _poll:
canMultipleVote: "Autoriser le multi-choix"
expiration: "Fin du sondage"
infinite: "Illimité"
at: "Fin a..."
after: "Fin après..."
at: "Choisir une date"
after: "Choisir la durée"
deadlineDate: "Date de fin"
deadlineTime: "Heure de fin"
duration: "Durée"
@ -1183,13 +1352,13 @@ _visibility:
_postForm:
replyPlaceholder: "Répondre à cette note ..."
quotePlaceholder: "Citez cette note ..."
channelPlaceholder: "Publier vers le canal..."
channelPlaceholder: "Publier vers le canal"
_placeholders:
a: "Quoi de neuf ?"
b: "Il s'est passé quelque chose ?"
c: "Quavez-vous en tête ?"
d: "Désirez-vous publier quelques mots ?"
e: "Écrivez ici..."
e: "Écrivez ici"
f: "En attente de vos écrits ..."
_profile:
name: "Nom"
@ -1247,8 +1416,8 @@ _pages:
newPage: "Créer une page"
editPage: "Modifier une page"
readPage: "Affichage de la source en cours"
created: "La page a été créée"
updated: "La page a été mise à jour"
created: "La page a été créée !"
updated: "La page a été mise à jour !"
deleted: "La page a été supprimée"
pageSetting: "Paramètres de la Page"
nameAlreadyExists: "L'URL de page spécifiée existe déjà"
@ -1279,6 +1448,7 @@ _relayStatus:
accepted: "Accepté"
rejected: "Refusée"
_notification:
fileUploaded: "Le fichier a été téléversé !"
youGotMention: "{name} vous a mentionné"
youGotReply: "Réponse de {name}"
youGotQuote: "Cité·e par {name}"
@ -1289,8 +1459,9 @@ _notification:
youWereFollowed: "Vous suit"
youReceivedFollowRequest: "Vous avez reçu une demande dabonnement"
yourFollowRequestAccepted: "Votre demande dabonnement a été accepté"
youWereInvitedToGroup: "{userName} Invité·e au groupe"
youWereInvitedToGroup: "Invité·e au groupe"
_types:
all: "Toutes"
follow: "Nouvel·le abonné·e"
mention: "Mentions"
reply: "Réponses"
@ -1302,13 +1473,9 @@ _notification:
followRequestAccepted: "Demande d'abonnement acceptée"
groupInvited: "Invitation à un groupe"
app: "Notifications provenant des apps"
pollEnded: Sondages terminés
_actions:
reply: "Répondre"
renote: "Renoter"
followBack: vous suis aussi
pollEnded: Les résultats d'un sondage sont disponibles
emptyPushNotificationMessage: L'envoi des notifications à été mis à jour
_deck:
alwaysShowMainColumn: "Toujours afficher la colonne principale"
columnAlign: "Aligner les colonnes"
@ -1331,84 +1498,4 @@ _deck:
list: "Listes"
mentions: "Mentions"
direct: "Direct"
_services:
_discord:
connected: '@{username}#{discriminator} sur Discord est connecté à @{mkUsername}
sur FoundKey !'
disconnected: La liaison avec Discord à été supprimée.
_twitter:
connected: '@{twitterUserName} sur Twitter est connecté à @{userName} sur FoundKey
!'
disconnected: La liaison avec Twitter à été supprimée.
_github:
disconnected: La liaison avec Github à été supprimée.
connected: '@{login} sur Github est connecté à @{userName} sur FoundKey !'
exportAll: Tout exporter
stopActivityDeliveryDescription: L'activité locale ne sera pas envoyé à cette instance.
La réception de l'activité continuera de fonctionner comme avant.
blockThisInstanceDescription: L'activité locale ne sera pas envoyée à cette instance.
L'activité de cette instance sera ignorée.
signinHistoryExpires: Les données des connexions précédentes seront effacées automatiquement
après 60 jours conformément à la règlementation sur la vie privée.
reflectMayTakeTime: Il se peut que cet affichage ne soit pas immédiat.
failedToFetchAccountInformation: Impossible de récupérer les informations du compte
cropImageAsk: Voulez-vous rogner cette image ?
numberOfPageCache: Nombre de pages en cache
numberOfPageCacheDescription: Augmenter cette valeur améliorera l'expérience utilisateur
mais la charge du serveur et la consommation mémoire vont augmenter.
confirmToUnclipAlreadyClippedNote: Cette note est déjà associée avec le groupe "{name}".
Voulez-vous plutôt l'enlever ?
selectMode: Sélection multiple
maxCustomEmojiPicker: Nombre maximum d'émoticônes personnalisés proposés dans la sélection
maxUnicodeEmojiPicker: Nombre maximum d'émoticônes unicodes proposés dans la sélection
threadMuteNotificationsDesc: Sélectionnez les notifications que vous souhaitez voir
depuis ce fil. Les paramètres de notifications généraux s'appliquent aussi. Les
désactivations sont prioritaires.
renoteMute: Cacher les notes
renoteUnmute: Montrer les notes
translationSettings: Paramètres de traduction
translationService: Service de traduction
rateLimitExceeded: Dépassement de la limite de débit
cropImage: Rognez l'image
recentNHours: '{n} dernières heures'
recentNDays: '{n} derniers jours'
isSystemAccount: Un compte créé et géré automatiquement par le système.
typeToConfirm: Entrez {x} pour confirmer SVP
deleteAccount: Supprimer le compte
documentation: Documentation
file: Fichier
unclip: Déclipser
noEmailServerWarning: Le serveur de messagerie n'est pas configuré.
thereIsUnresolvedAbuseReportWarning: Il y a des signalements non traités.
recommended: Recommandé
check: Vérifier
unlimited: Illimité
selectAll: Tout sélectionner
setCategory: Définir la catégorie
addTag: Ajouter une étiquette
setTag: Définir une étiquette
removeTag: Enlever une étiquette
externalCssSnippets: Quelques CSS pour vous inspirer (pas gérés par FoundKey)
_translationService:
_deepl:
authKey: Clé d'authentification pour DeepL
_libreTranslate:
endpoint: Point de connexion pour l'API LibreTranslate
authKey: Clé d'authentification pour LibreTranslate (optionnel)
exportSelected: Exporter la sélection
instanceDefaultThemeDescription: Saisissez le code de thème au format objet.
federateBlocks: Fédérations bloquées
federateBlocksDescription: Si désactivé, les blocages d'activités ne seront pas envoyé.
showLess: Afficher moins
flagShowTimelineRepliesDescription: Afficher les réponses des utilisateurs aux notes
des autres utilisateurs dans le fil.
keepOriginalUploadingDescription: Enregistre l'image importée d'origine tel quel.
Si désactivé, une version affichable sur internet sera générée après l'import.
disableDrawer: Ne pas utiliser de menus à tiroir
regexpErrorDescription: "Il y a une erreur dans l'expression régulière de la ligne\
\ {line} de vos mots ignorées {tab} :"
forwardReportIsAnonymous: Un compte système anonyme sera affiché, à la place de votre
compte, lors du signalement à l'instance distante.
attachmentRequired: Un attachement au moins est nécessaire.
useDrawerReactionPickerForMobile: Sur mobile afficher un tiroir pour le panneau de
réaction
_services: {}

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Mengambil data dari Fediverse..."
ok: "OK"
gotIt: "Saya mengerti"
cancel: "Batalkan"
enterUsername: "Masukkan nama pengguna"
renotedBy: "direnote oleh {user}"
noNotes: "Tidak ada catatan"
noNotifications: "Tidak ada pemberitahuan"
@ -29,12 +30,16 @@ login: "Masuk"
loggingIn: "Sedang masuk"
logout: "Keluar"
signup: "Daftar"
uploading: "Sedang mengunggah"
save: "Simpan"
users: "Pengguna"
addUser: "Tambah pengguna"
favorite: "Favorit"
favorites: "Favorit"
unfavorite: "Hapus favorit"
favorited: "Ditambahkan ke favorit"
alreadyFavorited: "Telah ditambahkan ke favorit"
cantFavorite: "Tidak dapat menambahkan ke favorit"
pin: "Sematkan ke profil"
unpin: "Lepas sematan dari profil"
copyContent: "Salin konten"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Apakah kamu yakin ingin menghapus note ini dan menyunting
addToList: "Tambahkan ke daftar"
sendMessage: "Kirim pesan"
copyUsername: "Salin nama pengguna"
searchUser: "Cari pengguna"
reply: "Balas"
loadMore: "Selebihnya"
showMore: "Selebihnya"
@ -66,6 +72,7 @@ exportRequested: "Kamu telah meminta ekspor. Ini akan memakan waktu sesaat. Sete
\ ekspor selesai, berkas yang dihasilkan akan ditambahkan ke Drive"
importRequested: "Kamu telah meminta impor. Ini akan memakan waktu sesaat."
lists: "Daftar"
noLists: "Kamu tidak memiliki daftar apapun"
note: "Catat"
notes: "Catatan"
following: "Ikuti"
@ -91,15 +98,21 @@ followRequest: "Permintaan mengikuti"
followRequests: "Permintaan mengikuti"
unfollow: "Berhenti mengikuti"
followRequestPending: "Permintaan mengikuti yang menunggu"
enterEmoji: "Masukkan emoji"
renote: "Renote"
unrenote: "Hapus renote"
renoted: "Telah direnote"
cantRenote: "Postingan ini tidak dapat direnote"
cantReRenote: "Renote tidak dapat direnote"
quote: "Kutip"
pinnedNote: "Catatan yang disematkan"
pinned: "Sematkan ke profil"
you: "Kamu"
clickToShow: "Klik untuk melihat"
sensitive: "Konten sensitif"
add: "Tambahkan"
reaction: "Reaksi"
reactionSetting: "Reaksi untuk dimunculkan di bilah reaksi"
reactionSettingDescription2: "Geser untuk memindah urutkan, klik untuk menghapus,\
\ tekan \"+\" untuk menambahkan"
attachCancel: "Hapus lampiran"
@ -124,7 +137,10 @@ editWidgetsExit: "Selesai"
customEmojis: "Emoji kustom"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Nama emoji"
emojiUrl: "URL Emoji"
addEmoji: "Tambahkan emoji"
settingGuide: "Pengaturan rekomendasi"
cacheRemoteFiles: "Tembolokkan berkas remote"
cacheRemoteFilesDescription: "Ketika pengaturan ini dinonaktifkan, berkas luar akan\
\ dimuat langsung dari instansi luar. Menonaktifkan ini akan mengurangi penggunaan\
@ -146,8 +162,10 @@ addAccount: "Tambahkan akun"
loginFailed: "Gagal untuk masuk"
showOnRemote: "Lihat profil asli"
general: "Umum"
wallpaper: "Wallpaper"
setWallpaper: "Atur wallpaper"
removeWallpaper: "Hapus wallpaper"
searchWith: "Cari: {q}"
youHaveNoLists: "Kamu tidak memiliki daftar apapun"
followConfirm: "Apakah kamu yakin ingin mengikuti {name}?"
proxyAccount: "Akun proksi"
@ -161,19 +179,27 @@ selectUser: "Pilih pengguna"
recipient: "Penerima"
annotation: "Keterangan konten"
federation: "Federasi"
instances: "Instansi"
registeredAt: "Terdaftar"
latestRequestSentAt: "Permintaan terakhir dikirim pada"
latestRequestReceivedAt: "Permintaan terakhir diterima pada"
latestStatus: "Status terakhir"
storageUsage: "Penggunaan penyimpanan"
charts: "Grafik"
perHour: "per Jam"
perDay: "per Hari"
stopActivityDelivery: "Berhenti mengirim aktivitas"
blockThisInstance: "Blokir instansi ini"
operations: "Tindakan"
software: "Perangkat lunak"
version: "Versi"
metadata: "Metadata"
withNFiles: "{n} berkas"
monitor: "Pantau"
jobQueue: "Antrian kerja"
cpuAndMemory: "CPU dan Memori"
network: "Jaringan"
disk: "Diska"
instanceInfo: "Informasi Instansi"
statistics: "Statistik"
clearQueue: "Bersihkan antrian"
@ -208,6 +234,9 @@ all: "Semua"
subscribing: "Berlangganan"
publishing: "Sedang menyiarkan langsung"
notResponding: "Tidak ada respon"
instanceFollowing: "Mengikuti instance"
instanceFollowers: "Pengikut instance"
instanceUsers: "Pengguna pada instance ini"
changePassword: "Ubah kata sandi"
security: "Keamanan"
retypedNotMatch: "Input tidak sama"
@ -223,6 +252,7 @@ lookup: "Mencari"
announcements: "Pengumuman"
imageUrl: "URL Gambar"
remove: "Hapus"
removed: "Telah dihapus"
removeAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?"
deleteAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?"
resetAreYouSure: "Yakin mau atur ulang?"
@ -264,6 +294,7 @@ lightThemes: "Tema Terang"
darkThemes: "Tema gelap"
syncDeviceDarkMode: "Sinkronkan mode gelap dengan pengaturan perangkat"
drive: "Drive"
fileName: "Nama berkas"
selectFile: "Pilih berkas"
selectFiles: "Pilih berkas"
selectFolder: "Pilih folder"
@ -317,6 +348,7 @@ enableLocalTimeline: "Nyalakan linimasa lokal"
enableGlobalTimeline: "Nyalakan linimasa global"
disablingTimelinesInfo: "Admin dan Moderator akan selalu memiliki akses ke semua linimasa\
\ meskipun linimasa tersebut tidak diaktifkan."
registration: "Pendaftaran"
enableRegistration: "Nyalakan pendaftaran pengguna baru"
invite: "Undang"
driveCapacityPerLocalAccount: "Kapasitas drive per pengguna lokal"
@ -325,13 +357,26 @@ inMb: "dalam Megabytes"
iconUrl: "URL Gambar ikon"
bannerUrl: "URL Banner"
backgroundImageUrl: "URL Gambar latar"
basicInfo: "Informasi Umum"
pinnedUsers: "Pengguna yang disematkan"
pinnedUsersDescription: "Tuliskan satu nama pengguna dalam satu baris. Pengguna yang\
\ dituliskan disini akan disematkan dalam bilah \"Jelajahi\"."
pinnedPages: "Halaman yang disematkan"
pinnedPagesDescription: "Masukkan tautan dari halaman yang kamu ingin sematkan ke\
\ halaman utama dari instansi ini, dipisah dengan membuat baris baru."
pinnedClipId: "ID dari klip yang disematkan"
pinnedNotes: "Catatan yang disematkan"
hcaptcha: "hCaptcha"
enableHcaptcha: "Nyalakan hCaptcha"
hcaptchaSiteKey: "Site Key"
hcaptchaSecretKey: "Secret Key"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Nyalakan reCAPTCHA"
recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret Key"
avoidMultiCaptchaConfirm: "Menggunakan banyak Captcha dapat menyebabkan gangguan.\
\ Apakah kamu ingin untuk menonaktifkan Captcha yang lain? Kamu dapat membiarkan\
\ fitur ini tetap aktif dengan menekan tombol batal."
antennas: "Antena"
manageAntennas: "Pengelola Antena"
name: "Nama"
@ -342,6 +387,7 @@ antennaKeywordsDescription: "Pisahkan dengan spasi untuk kondisi AND. Pisahkan d
\ baris baru untuk kondisi OR."
notifyAntenna: "Beritahu untuk catatan baru"
withFileAntenna: "Hanya tampilkan catatan dengan berkas yang dilampirkan"
enableServiceworker: "Aktifkan ServiceWorker"
antennaUsersDescription: "Tuliskan satu nama pengguna per baris"
caseSensitive: "Peka huruf besar dan huruf kecil"
withReplies: "Termasuk balasan"
@ -356,8 +402,11 @@ popularUsers: "Pengguna populer"
recentlyUpdatedUsers: "Pengguna dengan aktivitas terkini"
recentlyRegisteredUsers: "Pengguna baru saja bergabung"
recentlyDiscoveredUsers: "Pengguna baru saja dilihat"
exploreUsersCount: "Terdapat {count} pengguna"
exploreFediverse: "Jelajahi Fediverse"
popularTags: "Tag populer"
userList: "Daftar"
about: "Informasi"
aboutMisskey: "Tentang FoundKey"
administrator: "Admin"
token: "Token"
@ -377,6 +426,7 @@ share: "Bagikan"
notFound: "Tidak dapat ditemukan"
notFoundDescription: "Tidak ada halaman sesuai dengan URL yang ditentukan."
uploadFolder: "Lokasi unggah folder bawaan"
cacheClear: "Bersihkan tembolok"
markAsReadAllNotifications: "Tandai semua pemberitahuan telah dibaca"
markAsReadAllUnreadNotes: "Tandai semua catatan telah dibaca"
markAsReadAllTalkMessages: "Tandai semua pesan telah dibaca"
@ -407,6 +457,7 @@ noMessagesYet: "Tidak ada pesan"
newMessageExists: "Kamu mendapatkan pesan baru"
onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan"
signinRequired: "Silahkan login"
invitations: "Undang"
invitationCode: "Kode undangan"
checking: "Memeriksa"
available: "Tersedia"
@ -427,6 +478,7 @@ or: "atau"
language: "Bahasa"
uiLanguage: "Bahasa antarmuka pengguna"
groupInvited: "Telah diundang ke grup"
aboutX: "Tentang {x}"
useOsNativeEmojis: "Gunakan Emoji bawaan sistem operasi"
disableDrawer: "Jangan gunakan menu bergaya laci"
youHaveNoGroups: "Kamu tidak memiliki grup"
@ -434,19 +486,27 @@ joinOrCreateGroup: "Bergabunglah dengan grup atau kamu dapat membuat grupmu send
noHistory: "Tidak ada riwayat"
signinHistory: "Riwayat masuk"
disableAnimatedMfm: "Nonaktifkan MFM dengan animasi"
doing: "Sedang berkerja..."
category: "Kategori"
tags: "Tandai"
docSource: "Sumber dari dokumen ini"
createAccount: "Buat akun"
existingAccount: "Akun yang ada"
regenerate: "Buat ulang"
fontSize: "Ukuran huruf"
noFollowRequests: "Kamu tidak memiliki permintaan mengikuti yang menunggu"
openImageInNewTab: "Buka gambar di tab baru"
dashboard: "Dasbor"
local: "Lokal"
remote: "Remote"
total: "Jumlah"
weekOverWeekChanges: "Mingguan"
dayOverDayChanges: "Harian"
appearance: "Tampilan"
clientSettings: "Pengaturan Klien"
accountSettings: "Pengaturan Akun"
numberOfDays: "Jumlah hari"
hideThisNote: "Sembunyikan catatan ini"
showFeaturedNotesInTimeline: "Tampilkan catatan yang diunggulkan di linimasa"
objectStorage: "Object Storage"
useObjectStorage: "Gunakan object storage"
@ -475,6 +535,8 @@ objectStorageUseProxy: "Hubungkan melalui Proxy"
objectStorageUseProxyDesc: "Matikan ini jika kamu tidak akan menggunakan Proxy untuk\
\ koneksi ObjectStorage"
objectStorageSetPublicRead: "Setel \"public-read\" disaat mengunggah"
serverLogs: "Log Server"
deleteAll: "Hapus semua"
showFixedPostForm: "Tampilkan form posting di atas linimasa."
newNoteRecived: "Kamu mendapat catatan baru"
sounds: "Bunyi"
@ -485,6 +547,7 @@ popout: "Pop-out"
volume: "Volume"
masterVolume: "Master volume"
details: "Selengkapnya"
chooseEmoji: "Pilih emoji"
unableToProcess: "Operasi tersebut tidak dapat diselesaikan."
recentUsed: "Baru saja digunakan"
install: "Pasang"
@ -502,7 +565,9 @@ scratchpadDescription: "Scratchpad menyediakan lingkungan eksperimen untuk AiScr
\ Kamu bisa menulis, mengeksuksi, serta mengecek hasil yang berinteraksi dengan\
\ FoundKey."
output: "Keluaran"
script: "Script"
updateRemoteUser: "Perbaharui informasi pengguna luar"
deleteAllFiles: "Hapus semua berkas"
deleteAllFilesConfirm: "Apakah kamu yakin ingin menghapus semua berkas?"
removeAllFollowing: "Tahan semua mengikuti"
removeAllFollowingDescription: "Batal mengikuti semua akun dari {host}. Mohon jalankan\
@ -519,7 +584,10 @@ addItem: "Tambahkan item"
relays: "Relay"
addRelay: "Tambahkan relay"
inboxUrl: "URL Kotak masuk"
addedRelays: "Relay yang ditambahkan"
serviceworkerInfo: "Harus diaktifkan untuk pemberitahuan push."
deletedNote: "Catatan yang dihapus"
invisibleNote: "Catatan yang disembunyikan"
enableInfiniteScroll: "Aktifkan gulir tak terbatas"
visibility: "Visibilitas"
poll: "Angket"
@ -529,12 +597,15 @@ disablePlayer: "Tutup pemutar video"
themeEditor: "Penyunting tema"
description: "Deskripsi"
describeFile: "Tambahkan keterangan"
enterFileDescription: "Masukkan keterangan"
author: "Pembuat"
leaveConfirm: "Ada perubahan yang belum disimpan. Apakah kamu ingin membuangnya?"
manage: "Manajemen"
plugins: "Plugin"
deck: "Dek"
undeck: "Keluar dari dek"
useBlurEffectForModal: "Gunakan efek buram untuk modal"
useFullReactionPicker: "Gunakan pemilih reaksi ukuran penuh"
width: "Lebar"
height: "Tinggi"
large: "Besar"
@ -546,6 +617,7 @@ enableAll: "Aktifkan semua"
disableAll: "Nonaktifkan semua"
tokenRequested: "Berikan ijin akses ke akun"
pluginTokenRequestedDescription: "Plugin ini dapat menggunakan setelan ijin disini."
notificationType: "Jenis pemberitahuan"
edit: "Sunting"
useStarForReactionFallback: "Gunakan ★ sebagai fallback jika reaksi emoji tidak diketahui"
emailServer: "Server surel"
@ -573,7 +645,10 @@ userSaysSomething: "{name} mengatakan sesuatu"
makeActive: "Aktifkan"
display: "Tampilkan"
copy: "Salin"
metrics: "Metrik"
overview: "Ikhtisar"
logs: "Log"
delayed: "Terlambat"
database: "Basis data"
channel: "Kanal"
create: "Buat"
@ -591,6 +666,7 @@ setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkann
\ menggunakan spasi."
fileIdOrUrl: "File-ID atau URL"
behavior: "Perilaku"
sample: "Contoh"
abuseReports: "Laporkan"
reportAbuse: "Laporkan"
reportAbuseOf: "Laporkan {name}"
@ -605,8 +681,13 @@ forwardReportIsAnonymous: "Untuk melindungi privasi akun kamu, akun anonim dari
send: "Kirim"
abuseMarkAsResolved: "Tandai laporan sebagai selesai"
openInNewTab: "Buka di tab baru"
openInSideView: "Buka di tampilan samping"
defaultNavigationBehaviour: "Navigasi bawaan"
editTheseSettingsMayBreakAccount: "Menyunting pengaturan ini memiliki kemungkinan\
\ untuk merusak akun kamu."
instanceTicker: "Informasi pengguna pada instansi"
waitingFor: "Menunggu untuk {x}"
random: "Acak"
system: "Sistem"
switchUi: "Ubah UI"
desktop: "Desktop"
@ -645,6 +726,7 @@ loadRawImages: "Tampilkan lampiran gambar secara penuh daripada thumbnail"
disableShowingAnimatedImages: "Jangan mainkan gambar bergerak"
verificationEmailSent: "Surel verifikasi telah dikirimkan. Mohon akses tautan yang\
\ telah disertakan untuk menyelesaikan verifikasi."
notSet: "Tidak disetel"
emailVerified: "Surel telah diverifikasi"
noteFavoritesCount: "Jumlah catatan yang difavoritkan"
pageLikesCount: "Jumlah suka yang diterima Halaman"
@ -652,6 +734,8 @@ pageLikedCount: "Jumlah Halaman yang disukai"
contact: "Kontak"
useSystemFont: "Gunakan font bawaan sistem operasi"
clips: "Klip"
experimentalFeatures: "Fitur eksperimental"
developer: "Pengembang"
makeExplorable: "Buat akun tampil di \"Jelajahi\""
makeExplorableDescription: "Jika kamu mematikan ini, akun kamu tidak akan muncul di\
\ bagian \"Jelajahi:"
@ -664,16 +748,28 @@ narrow: "Sempit"
reloadToApplySetting: "Pengaturan ini akan diterapkan saat memuat halaman kembali.\
\ Apakah kamu ingin memuat halaman kembali sekarang?"
needReloadToApply: "Pengaturan ini hanya akan diterapkan setelah memuat ulang halaman."
showTitlebar: "Tampilkan bilah judul"
clearCache: "Hapus tembolok"
onlineUsersCount: "{n} orang sedang daring"
nUsers: "{n} Pengguna"
nNotes: "{n} Catatan"
myTheme: "Tema saya"
backgroundColor: "Latar Belakang"
accentColor: "Aksen"
textColor: "Teks"
saveAs: "Simpan sebagai…"
advanced: "Tingkat lanjut"
value: "Nilai"
createdAt: "Dibuat pada"
updatedAt: "Diperbarui pada"
saveConfirm: "Simpan perubahan?"
deleteConfirm: "Yakin hapus?"
invalidValue: "Nilai tidak valid."
registry: "Registri"
closeAccount: "Tutup akun"
currentVersion: "Versi saat ini"
latestVersion: "Versi terkini"
youAreRunningUpToDateClient: "Kamu menggunakan versi terkini dari klienmu."
newVersionOfClientAvailable: "Versi terbaru dari klien kamu telah tersedia."
usageAmount: "Penggunaan"
capacity: "Kapasitas"
@ -683,9 +779,11 @@ apply: "Terapkan"
receiveAnnouncementFromInstance: "Terima pemberitahuan surel dari instansi ini"
emailNotification: "Pemberitahuan surel"
publish: "Terbitkan"
inChannelSearch: "Cari di kanal"
useReactionPickerForContextMenu: "Buka pemilih reaksi dengan klik-kanan"
typingUsers: "{users} sedang mengetik..."
jumpToSpecifiedDate: "Loncat ke tanggal spesifik"
showingPastTimeline: "Sedang menampilkan linimasa lama"
clear: "Bersihkan"
markAllAsRead: "Tandai semua telah dibaca"
goBack: "Kembali"
@ -700,6 +798,7 @@ notSpecifiedMentionWarning: "Catatan ini mengandung sebutan dari pengguna yang t
info: "Informasi"
userInfo: "Informasi pengguna"
unknown: "Tidak diketahui"
onlineStatus: "Status daring"
hideOnlineStatus: "Sembunyikan status daring"
hideOnlineStatusDescription: "Menyembunyikan status daring kamu umengurangi kenyamanan\
\ untuk beberapa fungsi seperti contohnya pencarian."
@ -726,13 +825,22 @@ gallery: "Galeri"
recentPosts: "Postingan terbaru"
popularPosts: "Postingan populer"
shareWithNote: "Bagikan dengan catatan"
expiration: "Batas akhir"
memo: "Memo"
priority: "Prioritas"
high: "Tinggi"
middle: "Sedang"
low: "Rendah"
emailNotConfiguredWarning: "Alamat surel tidak disetel."
ratio: "Rasio"
previewNoteText: "Tampilkan pratinjau"
customCss: "Custom CSS"
customCssWarn: "Pengaturan ini seharusnya digunakan jika kamu tahu cara kerjanya.\
\ Memasukkan nilai yang tidak tepat dapat menyebabkan klien tidak berfungsi semestinya."
global: "Global"
squareAvatars: "Tampilkan avatar sebagai persegi"
sent: "Kirim"
received: "Diterima"
searchResult: "Hasil Penelusuran"
hashtags: "Tagar"
troubleshooting: "Penyelesaian Masalah"
@ -825,6 +933,9 @@ _accountDelete:
requestAccountDelete: "Minta penghapusan akun"
started: "Penghapusan telah dimulai"
inProgress: "Penghapusan sedang dalam proses"
_ad:
back: "Kembali"
reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit"
_forgotPassword:
enterEmail: "Masukkan alamat surel yang kamu gunakan pada saat mendaftar. Sebuah\
\ tautan untuk mengatur ulang kata sandi kamu akan dikirimkan ke alamat surel\
@ -846,6 +957,7 @@ _email:
_plugin:
install: "Memasang plugin"
installWarn: "Mohon jangan memasang plugin yang tidak dapat dipercayai."
manage: "Manajemen plugin"
_registry:
scope: "Lingkup"
key: "Kunci"
@ -855,8 +967,10 @@ _registry:
_aboutMisskey:
about: "FoundKey adalah perangkat lunak sumber terbuka yang sedang dikembangkan\
\ oleh syuilo sejak 2014."
contributors: "Kontributor utama"
allContributors: "Seluruh kontributor"
source: "Sumber kode"
translation: "Terjemahkan FoundKey"
_nsfw:
respect: "Sembunyikan media NSFW"
ignore: "Jangan sembunyikan media NSFW"
@ -986,6 +1100,69 @@ _theme:
alreadyInstalled: "Tema telah dipasang"
invalid: "Format tema tidak valid"
make: "Buat tema"
base: "Dasar"
addConstant: "Tambah konstanta"
constant: "Konstanta"
defaultValue: "Nilai bawaan"
color: "Warna"
refProp: "Referensikan properti"
refConst: "Referensikan konstanta"
key: "Kunci"
func: "Fungsi"
funcKind: "Tipe fungsi"
argument: "Argumen"
basedProp: "Mereferensikan properti"
alpha: "Opasitas"
darken: "Mengelamkan"
lighten: "Menerangkan"
inputConstantName: "Masukkan nama untuk konstanta"
importInfo: "Jika kamu memasukkan kode tema disini, kamu dapat mengimpornya ke penyunting\
\ tema"
deleteConstantConfirm: "apakah kamu ingin menghapus konstanta {const}?"
keys:
accent: "Aksen"
bg: "Latar belakang"
fg: "Teks"
focus: "Fokus"
indicator: "Indikator"
panel: "Panel"
shadow: "Bayangan"
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"
hashtag: "Tagar"
mention: "Sebut"
mentionMe: "Sebutan (saya)"
renote: "Renote"
modalBg: "Latar belakang modal"
divider: "Pembagi"
scrollbarHandle: "Pegangan bilah gulir"
scrollbarHandleHover: "Pegangan bilah gulir (Mengambang)"
dateLabelFg: "Teks label tanggal"
infoBg: "Latar belakang informasi"
infoFg: "Teks informasi"
infoWarnBg: "Latar belakang peringatan"
infoWarnFg: "Teks peringatan"
cwBg: "Latar belakang tombol Sembunyikan Konten"
cwFg: "Teks tombol Sembunyikan Konten"
cwHoverBg: "Latar belakang tombol Sembunyikan Konten (Mengambang)"
toastBg: "Latar belakang pemberitahuan"
toastFg: "Teks pemberitahuan"
buttonBg: "Latar belakang tombol"
buttonHoverBg: "Latar belakang tombol (Mengambang)"
inputBorder: "Batas bidang masukan"
listItemHoverBg: "Latar belakang daftar item (Mengambang)"
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"
noteMy: "Catatan (Saya)"
@ -1273,6 +1450,7 @@ _relayStatus:
accepted: "Disetujui"
rejected: "Ditolak"
_notification:
fileUploaded: "Berkas telah berhasil diunggah"
youGotMention: "{name} meyebut kamu"
youGotReply: "{name} membalas kamu"
youGotQuote: "{name} mengutip kamu"
@ -1287,6 +1465,7 @@ _notification:
pollEnded: "Hasil Kuesioner telah keluar"
emptyPushNotificationMessage: "Pembaruan notifikasi dorong"
_types:
all: "Semua"
follow: "Ikuti"
mention: "Sebut"
reply: "Balasan"

View file

@ -15,6 +15,7 @@ fetchingAsApObject: "Recuperando dal Fediverso..."
ok: "OK"
gotIt: "Ho capito"
cancel: "Annulla"
enterUsername: "Inserisci un nome utente"
renotedBy: "Rinotato da {user}"
noNotes: "Nessuna nota!"
noNotifications: "Nessuna notifica"
@ -30,12 +31,16 @@ login: "Accedi"
loggingIn: "Accesso in corso..."
logout: "Esci"
signup: "Iscriviti"
uploading: "Caricamento..."
save: "Salva"
users: "Utente"
addUser: "Aggiungi utente"
favorite: "Preferiti"
favorites: "Preferiti"
unfavorite: "Rimuovi nota dai preferiti"
favorited: "Aggiunta ai tuoi preferiti."
alreadyFavorited: "Già tra i tuoi preferiti."
cantFavorite: "Impossibile aggiungere la nota ai preferiti."
pin: "Fissa sul profilo"
unpin: "Non fissare sul profilo"
copyContent: "Copia il contenuto"
@ -47,6 +52,7 @@ deleteAndEditConfirm: "Vuoi davvero cancellare questa nota e scriverla di nuovo?
addToList: "Aggiungi alla lista"
sendMessage: "Invia messaggio"
copyUsername: "Copia nome utente"
searchUser: "Cerca utente"
reply: "Rispondi"
loadMore: "Mostra di più"
showMore: "Mostra di più"
@ -68,6 +74,7 @@ exportRequested: "Hai richiesto un'esportazione, e potrebbe volerci tempo. Quand
\ sarà compiuta, il file verrà aggiunto direttamente al Drive."
importRequested: "Hai richiesto un'importazione. Può volerci tempo. "
lists: "Liste"
noLists: "Nessuna lista"
note: "Nota"
notes: "Note"
following: "Follows"
@ -93,15 +100,21 @@ followRequest: "Richiesta di follow"
followRequests: "Richieste di follow"
unfollow: "Smetti di seguire"
followRequestPending: "La richiesta di follow deve essere approvata"
enterEmoji: "Inserisci emoji"
renote: "Rinota"
unrenote: "Annulla rinota"
renoted: "Rinotato!"
cantRenote: "È impossibile rinotare questa nota."
cantReRenote: "È impossibile rinotare una Rinota."
quote: "Cita"
pinnedNote: "Nota fissata"
pinned: "Fissa sul profilo"
you: "Tu"
clickToShow: "Clicca per visualizzare"
sensitive: "Contenuto sensibile"
add: "Aggiungi"
reaction: "Reazione"
reactionSetting: "Reazioni visualizzate sul pannello"
reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa\
\ il pulsante \"+\" per aggiungere."
attachCancel: "Rimuovi allegato"
@ -126,7 +139,10 @@ editWidgetsExit: "Modifica fine"
customEmojis: "Emoji personalizzati"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Nome dell'emoji"
emojiUrl: "URL dell'emoji"
addEmoji: "Aggiungi un emoji"
settingGuide: "Configurazione suggerita"
cacheRemoteFiles: "Memorizzazione nella cache dei file remoti"
cacheRemoteFilesDescription: "Disabilitando questa opzione, i file remoti verranno\
\ linkati direttamente senza essere memorizzati nella cache. Sarà possibile risparmiare\
@ -146,8 +162,10 @@ addAccount: "Aggiungi account"
loginFailed: "Accesso non riuscito"
showOnRemote: "Sfoglia sull'istanza remota"
general: "Generali"
wallpaper: "Sfondo"
setWallpaper: "Imposta sfondo"
removeWallpaper: "Elimina lo sfondo"
searchWith: "Cerca: {q}"
youHaveNoLists: "Non hai ancora creato nessuna lista"
followConfirm: "Sei sicur@ di voler seguire {name}?"
proxyAccount: "Account proxy"
@ -160,19 +178,27 @@ selectUser: "Seleziona utente"
recipient: "Destinatario"
annotation: "Descrizione"
federation: "Federazione"
instances: "Istanza"
registeredAt: "Registrato presso"
latestRequestSentAt: "Ultima richiesta inviata"
latestRequestReceivedAt: "Ultima richiesta ricevuta"
latestStatus: "Ultimo stato"
storageUsage: "Volume di dischi"
charts: "Grafici"
perHour: "All'ora"
perDay: "al giorno"
stopActivityDelivery: "Interrompi la distribuzione di attività"
blockThisInstance: "Blocca l'istanza"
operations: "Operazioni"
software: "Software"
version: "Versione"
metadata: "Metadato"
withNFiles: "{n} file in allegato"
monitor: "Monitorare"
jobQueue: "Coda di lavoro"
cpuAndMemory: "CPU e Memoria"
network: "Rete"
disk: "Disco"
instanceInfo: "Informazioni sull'istanza"
statistics: "Statistiche"
clearQueue: "Svuota coda"
@ -205,6 +231,9 @@ all: "Tutti"
subscribing: "Iscrivendo"
publishing: "Pubblicando"
notResponding: "Nessuna risposta"
instanceFollowing: "Seguiti dall'istanza"
instanceFollowers: "Followers dell'istanza"
instanceUsers: "Utenti dell'istanza"
changePassword: "Aggiorna Password"
security: "Sicurezza"
retypedNotMatch: "Le password non corrispondono."
@ -220,6 +249,7 @@ lookup: "Cercare"
announcements: "Annunci"
imageUrl: "URL dell'immagine"
remove: "Elimina"
removed: "Il tuo Tweet è stato eliminato"
removeAreYouSure: "Eliminare \"{x}\"?"
deleteAreYouSure: "Eliminare \"{x}\"?"
resetAreYouSure: "Reimposta"
@ -258,6 +288,7 @@ lightThemes: "Tema Chiaro"
darkThemes: "Tema Scuro"
syncDeviceDarkMode: "Sincronizza il tema scuro con le impostazioni del dispositivo"
drive: "Drive"
fileName: "Nome dell'allegato"
selectFile: "Scelta allegato"
selectFiles: "Scelta allegato"
selectFolder: "Seleziona cartella"
@ -311,6 +342,7 @@ enableLocalTimeline: "Abilita Timeline locale"
enableGlobalTimeline: "Abilita Timeline federata"
disablingTimelinesInfo: "Anche se disabiliti queste timeline, gli amministratori e\
\ i moderatori potranno sempre accederci."
registration: "Iscriviti"
enableRegistration: "Permettere nuove registrazioni"
invite: "Invita"
driveCapacityPerLocalAccount: "Volume del Drive per utente locale"
@ -319,13 +351,26 @@ inMb: "in Megabytes"
iconUrl: "URL di icona (favicon, ecc.)"
bannerUrl: "URL dell'immagine d'intestazione"
backgroundImageUrl: "URL dello sfondo"
basicInfo: "Informazioni fondamentali"
pinnedUsers: "Utenti in evidenza"
pinnedUsersDescription: "Elenca gli/le utenti che vuoi fissare in cima alla pagina\
\ \"Esplora\", un@ per riga."
pinnedPages: "Pagine in evidenza"
pinnedPagesDescription: "Specifica il percorso delle pagine che vuoi fissare in cima\
\ alla pagina dell'istanza. Una pagina per riga."
pinnedClipId: "ID della clip in evidenza"
pinnedNotes: "Nota fissata"
hcaptcha: "hCaptcha"
enableHcaptcha: "Abilita hCaptcha"
hcaptchaSiteKey: "Chiave del sito"
hcaptchaSecretKey: "Chiave segreta"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Abilita reCAPTCHA"
recaptchaSiteKey: "Chiave del sito"
recaptchaSecretKey: "Chiave segreta"
avoidMultiCaptchaConfirm: "Utilizzare diversi Captcha può causare interferenze. Vuoi\
\ disattivare l'altro Captcha? Puoi lasciare diversi Captcha attivi premendo \"\
Cancella\"."
antennas: "Antenne"
manageAntennas: "Gestore delle antenne"
name: "Nome"
@ -336,6 +381,7 @@ antennaKeywordsDescription: "Separare con uno spazio indica la condizione \"E\".
\ con un'interruzzione riga indica la condizione \"O\"."
notifyAntenna: "Invia notifiche delle nuove note"
withFileAntenna: "Solo note con file in allegato"
enableServiceworker: "Abilita ServiceWorker"
antennaUsersDescription: "Inserisci solo un nome utente per riga"
caseSensitive: "Sensibile alla distinzione tra maiuscole e minuscole"
withReplies: "Includere le risposte"
@ -350,8 +396,11 @@ popularUsers: "Utenti popolari"
recentlyUpdatedUsers: "Utenti attivi di recente"
recentlyRegisteredUsers: "Utenti registrati di recente"
recentlyDiscoveredUsers: "Utenti scoperti di recente"
exploreUsersCount: "Ci sono {count} utenti"
exploreFediverse: "Esplora il Fediverso"
popularTags: "Tag di tendenza"
userList: "Liste"
about: "Informazioni"
aboutMisskey: "Informazioni di FoundKey"
administrator: "Amministratore"
token: "Token"
@ -371,6 +420,7 @@ share: "Condividi"
notFound: "Non trovato"
notFoundDescription: "Nessuna pagina corrisponde all'URL indicata."
uploadFolder: "Destinazione caricamento predefinita"
cacheClear: "Svuota cache"
markAsReadAllNotifications: "Segna tutte le notifiche come lette"
markAsReadAllUnreadNotes: "Segna tutte le note come lette"
markAsReadAllTalkMessages: "Segna tutte le chat come lette"
@ -401,6 +451,7 @@ noMessagesYet: "Ancora nessuna chat"
newMessageExists: "Hai ricevuto un nuovo messaggio"
onlyOneFileCanBeAttached: "È possibile allegare al messaggio soltanto uno file"
signinRequired: "Devi essere registrat@ nel tuo account"
invitations: "Invita"
invitationCode: "Codice di invito"
checking: "Confermando"
available: "Consigliati"
@ -420,6 +471,7 @@ or: "oppure"
language: "Lingua"
uiLanguage: "Lingua di visualizzazione dell'interfaccia"
groupInvited: "Invitat@ al gruppo"
aboutX: "Informazioni su {x}"
useOsNativeEmojis: "Usare le emoji native del sistema operativo"
disableDrawer: "Non mostrare il menù sul drawer"
youHaveNoGroups: "Nessun gruppo"
@ -427,19 +479,27 @@ joinOrCreateGroup: "Puoi creare il tuo gruppo o essere invitat@ a gruppi che gi
noHistory: "Nessuna cronologia"
signinHistory: "Cronologia di accesso all'account"
disableAnimatedMfm: "Disabilità i MFM animati"
doing: "In corso..."
category: "Categoria"
tags: "Tag"
docSource: "Sorgente della scheda"
createAccount: "Crea il tuo account"
existingAccount: "Account esistente"
regenerate: "Generare di nuovo"
fontSize: "Dimensione carattere"
noFollowRequests: "Non hai alcuna richiesta di follow"
openImageInNewTab: "Aprire immagini in una nuova scheda"
dashboard: "Pannello di controllo"
local: "Locale"
remote: "Remoto"
total: "Totale"
weekOverWeekChanges: "Settimanale"
dayOverDayChanges: "Giornaliero"
appearance: "Aspetto"
clientSettings: "Impostazioni client"
accountSettings: "Impostazioni account"
numberOfDays: "Numero di giorni"
hideThisNote: "Nasconda la nota"
showFeaturedNotesInTimeline: "Mostrare le note di tendenza nella tua timeline"
objectStorage: "Stoccaggio oggetti"
useObjectStorage: "Utilizza stoccaggio oggetti"
@ -465,6 +525,8 @@ objectStorageUseProxy: "Usa proxy"
objectStorageUseProxyDesc: "Disabilita quest'opzione se non usi proxy per la connessione\
\ API."
objectStorageSetPublicRead: "Imposta \"visibilità pubblica\" al momento di caricare"
serverLogs: "Log del server"
deleteAll: "Cancella cronologia"
showFixedPostForm: "Visualizzare la finestra di pubblicazione in cima alla timeline"
newNoteRecived: "Vedi le nuove note"
sounds: "Impostazioni suoni"
@ -475,6 +537,7 @@ popout: "Finestra pop-out"
volume: "Volume"
masterVolume: "Volume principale"
details: "Dettagli"
chooseEmoji: "Scegli emoji"
unableToProcess: "Impossibile compiere l'operazione"
recentUsed: "Usato di recente"
install: "Installa"
@ -492,7 +555,9 @@ scratchpadDescription: "Lo Scratchpad offre un ambiente per esperimenti di AiScr
\ È possibile scrivere, eseguire e confermare i risultati dell'interazione del codice\
\ con FoundKey."
output: "Uscita"
script: "Script"
updateRemoteUser: "Aggiornare le informazioni di utente remot@"
deleteAllFiles: "Elimina tutti i file"
deleteAllFilesConfirm: "Vuoi davvero eliminare tutti i file?"
removeAllFollowing: "Cancella tutti i follows"
removeAllFollowingDescription: "Cancella tutti i follows del server {host}. Per favore,\
@ -509,7 +574,10 @@ addItem: "Aggiungi elemento"
relays: "Ripetitori"
addRelay: "Aggiungi ripetitore"
inboxUrl: "Inbox URL"
addedRelays: "Ripetitori configurati"
serviceworkerInfo: "Deve essere abilitato per le notifiche push. "
deletedNote: "Nota eliminata"
invisibleNote: "Nota invisibile"
enableInfiniteScroll: "Abilita scorrimento infinito"
visibility: "Visibilità"
poll: "Sondaggio"
@ -519,12 +587,15 @@ disablePlayer: "Chiudi lettore video"
themeEditor: "Editor di temi"
description: "Descrizione"
describeFile: "Aggiungi una descrizione d'immagine"
enterFileDescription: "Inserisci descrizione"
author: "Autore"
leaveConfirm: "Ci sono delle modifiche ancora non salvate. Vuoi cancellarle?"
manage: "Gestione"
plugins: "Estensioni"
deck: "Deck"
undeck: "Esci dal deck"
useBlurEffectForModal: "Utilizza effetto sfocatura per i modali"
useFullReactionPicker: "Usa la totalità del pannello di reazioni"
width: "Larghezza"
height: "Altezza"
large: "Grande"
@ -537,6 +608,7 @@ disableAll: "Disabilita tutto"
tokenRequested: "Autorizza accesso all'account"
pluginTokenRequestedDescription: "Il plugin potrà utilizzare le autorizzazioni impostate\
\ qui."
notificationType: "Tipo di notifiche"
edit: "Modifica"
useStarForReactionFallback: "Se è sconosciuto l'emoji di reazione, usare la ★ come\
\ alternativa."
@ -562,7 +634,10 @@ userSaysSomething: "{name} ha detto qualcosa"
makeActive: "Attiva"
display: "Visualizza"
copy: "Copia"
metrics: "Statistiche"
overview: "Anteprima"
logs: "Log"
delayed: "Ritardo"
database: "Base di dati"
channel: "Canale"
create: "Crea"
@ -579,6 +654,7 @@ regenerateLoginTokenDescription: "Genera un nuovo token di autenticazione. Solit
setMultipleBySeparatingWithSpace: "È possibile creare multiple voci separate da spazi."
fileIdOrUrl: "ID o URL del file"
behavior: "Comportamento"
sample: "Esempio"
abuseReports: "Segnalazioni"
reportAbuse: "Segnalazioni"
reportAbuseOf: "Segnala {name}"
@ -590,8 +666,13 @@ reporterOrigin: "Origine del segnalatore"
send: "Inviare"
abuseMarkAsResolved: "Contrassegna la segnalazione come risolta"
openInNewTab: "Apri in una nuova scheda"
openInSideView: "Apri in vista laterale"
defaultNavigationBehaviour: "Navigazione preimpostata"
editTheseSettingsMayBreakAccount: "Modificare queste impostazioni può danneggiare\
\ l'account."
instanceTicker: "Informazioni sull'istanza da cui vengono le note"
waitingFor: "Aspettando {x}"
random: "Casuale"
system: "Sistema"
switchUi: "Cambiare interfaccia utente"
desktop: "Desktop"
@ -630,6 +711,7 @@ loadRawImages: "Visualizza le intere immagini allegate invece delle miniature."
disableShowingAnimatedImages: "Disabilita le immagini animate"
verificationEmailSent: "Una mail di verifica è stata inviata. Si prega di accedere\
\ al collegamento per compiere la verifica."
notSet: "Non impostato"
emailVerified: "Il tuo indirizzo email è stato verificato"
noteFavoritesCount: "Conteggio note tra i preferiti"
pageLikesCount: "Numero di pagine che ti piacciono"
@ -637,6 +719,8 @@ pageLikedCount: "Numero delle tue pagine che hanno ricevuto \"Mi piace\""
contact: "Contatti"
useSystemFont: "Usa il carattere predefinito del sistema"
clips: "Clip"
experimentalFeatures: "Funzioni sperimentali"
developer: "Sviluppatore"
makeExplorable: "Account visibile sulla pagina \"Esplora\""
makeExplorableDescription: "Se disabiliti l'opzione, il tuo account non verrà visualizzato\
\ sulla pagina \"Esplora\"."
@ -648,15 +732,26 @@ wide: "Largo"
reloadToApplySetting: "Le tue preferenze verranno impostate dopo il ricaricamento\
\ della pagina. Vuoi ricaricare adesso?"
needReloadToApply: "È necessario riavviare per rendere effettive le modifiche."
showTitlebar: "Visualizza la barra del titolo"
clearCache: "Svuota cache"
onlineUsersCount: "{n} utenti online"
nUsers: "{n} utenti"
nNotes: "{n}Note"
myTheme: "I miei temi"
backgroundColor: "Sfondo"
textColor: "Testo"
saveAs: "Salva con nome"
value: "Valore"
createdAt: "Data di creazione"
updatedAt: "Aggiornato il"
saveConfirm: "Vuoi salvare le modifiche?"
deleteConfirm: "Rimuovere?"
invalidValue: "Questo non è un valore valido."
registry: "Registro"
closeAccount: "Disattiva account"
currentVersion: "Versione attuale"
latestVersion: "Ultima versione"
youAreRunningUpToDateClient: "Stai usando la versione più recente del client."
newVersionOfClientAvailable: "Una nuova versione del tuo client è disponibile."
usageAmount: "In utilizzo"
capacity: "Capacità"
@ -666,10 +761,12 @@ apply: "Applica"
receiveAnnouncementFromInstance: "Ricevi i messaggi informativi dall'istanza"
emailNotification: "Eventi per notifiche via mail"
publish: "Pubblico"
inChannelSearch: "Cerca in canale"
useReactionPickerForContextMenu: "Cliccare sul tasto destro per aprire il pannello\
\ di reazioni"
typingUsers: "{users} sta(nno) scrivendo"
jumpToSpecifiedDate: "Vai alla data "
showingPastTimeline: "Stai visualizzando una vecchia timeline"
clear: "Cancella"
markAllAsRead: "Segna tutti come già letti"
goBack: "Indietro"
@ -684,6 +781,7 @@ notSpecifiedMentionWarning: "Sono menzionati account che non vengono inclusi fra
info: "Informazioni"
userInfo: "Informazioni utente"
unknown: "Sconosciuto"
onlineStatus: "Stato di connessione"
hideOnlineStatus: "Stato invisibile"
hideOnlineStatusDescription: "Abilitare l'opzione di stato invisibile può guastare\
\ la praticità di singole funzioni, come la ricerca."
@ -709,11 +807,20 @@ gallery: "Galleria"
recentPosts: "Le più recenti"
popularPosts: "Le più visualizzate"
shareWithNote: "Condividere in nota"
expiration: "Scadenza"
memo: "Promemoria"
priority: "Priorità"
high: "Alta"
middle: "Media"
low: "Bassa"
emailNotConfiguredWarning: "Non hai impostato nessun indirizzo e-mail."
ratio: "Rapporto"
previewNoteText: "Anteprima del testo"
customCss: "CSS personalizzato"
global: "Federata"
squareAvatars: "Mostra l'immagine del profilo come quadrato"
sent: "Inviare"
received: "Ricevuto"
searchResult: "Risultati della Ricerca"
hashtags: "Hashtag"
troubleshooting: "Risoluzione problemi"
@ -775,6 +882,9 @@ _accountDelete:
requestAccountDelete: "Richiesta di cancellazione account"
started: "Il processo di cancellazione è iniziato."
inProgress: "Cancellazione in corso"
_ad:
back: "Indietro"
reduceFrequencyOfThisAd: "Visualizza questa pubblicità meno spesso"
_forgotPassword:
enterEmail: "Inserisci l'indirizzo di posta elettronica che hai registrato nel tuo\
\ profilo. Il collegamento necessario per ripristinare la password verrà inviato\
@ -798,6 +908,7 @@ _plugin:
install: "Installa estensioni"
installWarn: "Si prega di installare soltanto estensioni che provengono da fonti\
\ affidabili."
manage: "Gestisci estensioni"
_registry:
key: "Dati"
keys: "Dati"
@ -805,8 +916,10 @@ _registry:
createKey: "Crea chiave"
_aboutMisskey:
about: "FoundKey è un software libero e open source, sviluppato da syuilo dal 2014."
contributors: "Principali sostenitori"
allContributors: "Tutti i sostenitori"
source: "Codice sorgente"
translation: "Tradurre FoundKey"
_nsfw:
respect: "Nascondere i media segnati come sensibli"
ignore: "Visualizzare i media segnati come sensibili"
@ -897,6 +1010,56 @@ _theme:
alreadyInstalled: "Questo tema è già installato"
invalid: "Il formato tema non è valido"
make: "Crea un tema"
base: "Base"
addConstant: "Aggiungi costante"
constant: "Costante"
defaultValue: "Valore predefinito"
color: "Colore"
refConst: "Chiama costante"
key: "Chiave"
func: "Funzione"
funcKind: "Tipo di funzione"
argument: "Argomento"
alpha: "Opacità"
darken: "Scuro"
lighten: "Chiaro"
inputConstantName: "Inserisci un nome per la costante"
deleteConstantConfirm: "Vuoi davvero eliminare la costante {const}?"
keys:
bg: "Sfondo"
fg: "Testo"
focus: "Focalizzazione"
indicator: "Indicatore"
panel: "Pannello"
shadow: "Ombra"
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"
divider: "Interruzione di linea"
infoBg: "Sfondo informazioni"
infoFg: "Testo di informazioni"
infoWarnBg: "Sfondo degli avvisi"
infoWarnFg: "Testo di avviso"
cwBg: "Sfondo del CW"
cwFg: "Testo del pulsante CW"
cwHoverBg: "Sfondo del pulsante CW (sorvolato)"
toastBg: "Sfondo di notifica a comparsa"
toastFg: "Testo di notifica a comparsa"
buttonBg: "Sfondo del pulsante"
buttonHoverBg: "Sfondo del pulsante (sorvolato)"
inputBorder: "Inquadra casella di testo"
listItemHoverBg: "Sfondo della voce di elenco (sorvolato)"
driveFolderBg: "Sfondo della cartella di disco"
badge: "Distintivo"
messageBg: "Sfondo della chat"
_sfx:
note: "Nota"
noteMy: "Mia nota"
@ -1163,6 +1326,7 @@ _relayStatus:
accepted: "Approvato"
rejected: "Respinto"
_notification:
fileUploaded: "File caricato correttamente"
youGotMention: "{name} ti ha menzionato"
youGotReply: "{name} ti ha risposto"
youGotQuote: "{name} ha citato il tuo Nota e ha detto"
@ -1175,6 +1339,7 @@ _notification:
yourFollowRequestAccepted: "La tua richiesta di follow è stata accettata"
youWereInvitedToGroup: "Invitat@ al gruppo"
_types:
all: "Tutto"
follow: "Nuovə follower"
mention: "Menzioni"
reply: "Risposte"

View file

@ -13,6 +13,7 @@ fetchingAsApObject: "連合に照会中"
ok: "OK"
gotIt: "わかった"
cancel: "キャンセル"
enterUsername: "ユーザー名を入力"
renotedBy: "{user}がRenote"
noNotes: "ノートはありません"
noNotifications: "通知はありません"
@ -28,12 +29,16 @@ login: "ログイン"
loggingIn: "ログイン中"
logout: "ログアウト"
signup: "新規登録"
uploading: "アップロード中"
save: "保存"
users: "ユーザー"
addUser: "ユーザーを追加"
favorite: "お気に入り"
favorites: "お気に入り"
unfavorite: "お気に入り解除"
favorited: "お気に入りに登録しました。"
alreadyFavorited: "既にお気に入りに登録されています。"
cantFavorite: "お気に入りに登録できませんでした。"
pin: "ピン留め"
unpin: "ピン留め解除"
copyContent: "内容をコピー"
@ -44,6 +49,7 @@ deleteAndEditConfirm: "このノートを削除してもう一度編集します
addToList: "リストに追加"
sendMessage: "メッセージを送信"
copyUsername: "ユーザー名をコピー"
searchUser: "ユーザーを検索"
reply: "返信"
loadMore: "もっと見る"
showMore: "もっと見る"
@ -64,6 +70,7 @@ unfollowConfirm: "{name}のフォローを解除しますか?"
exportRequested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、「ドライブ」に追加されます。"
importRequested: "インポートをリクエストしました。これには時間がかかる場合があります。"
lists: "リスト"
noLists: "リストはありません"
note: "ノート"
notes: "ノート"
following: "フォロー"
@ -87,15 +94,21 @@ followRequest: "フォロー申請"
followRequests: "フォロー申請"
unfollow: "フォロー解除"
followRequestPending: "フォロー許可待ち"
enterEmoji: "絵文字を入力"
renote: "Renote"
unrenote: "Renote解除"
renoted: "Renoteしました。"
cantRenote: "この投稿はRenoteできません。"
cantReRenote: "RenoteをRenoteすることはできません。"
quote: "引用"
pinnedNote: "ピン留めされたノート"
pinned: "ピン留め"
you: "あなた"
clickToShow: "クリックして表示"
sensitive: "閲覧注意"
add: "追加"
reaction: "リアクション"
reactionSetting: "ピッカーに表示するリアクション"
reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。"
attachCancel: "添付取り消し"
markAsSensitive: "閲覧注意にする"
@ -119,7 +132,10 @@ editWidgetsExit: "編集を終了"
customEmojis: "カスタム絵文字"
emoji: "絵文字"
emojis: "絵文字"
emojiName: "絵文字名"
emojiUrl: "絵文字画像URL"
addEmoji: "絵文字を追加"
settingGuide: "おすすめ設定"
cacheRemoteFiles: "リモートのファイルをキャッシュする"
cacheRemoteFilesDescription: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクするようになります。サーバーのストレージを節約できますが、サムネイルが生成されないので通信量が増加します。"
flagAsBot: "Botとして設定"
@ -133,8 +149,10 @@ addAccount: "アカウントを追加"
loginFailed: "ログインに失敗しました"
showOnRemote: "リモートで表示"
general: "全般"
wallpaper: "壁紙"
setWallpaper: "壁紙を設定"
removeWallpaper: "壁紙を削除"
searchWith: "検索: {q}"
youHaveNoLists: "リストがありません"
followConfirm: "{name}をフォローしますか?"
proxyAccount: "プロキシアカウント"
@ -144,19 +162,27 @@ selectUser: "ユーザーを選択"
recipient: "宛先"
annotation: "注釈"
federation: "連合"
instances: "インスタンス"
registeredAt: "初観測"
latestRequestSentAt: "直近のリクエスト送信"
latestRequestReceivedAt: "直近のリクエスト受信"
latestStatus: "直近のステータス"
storageUsage: "ストレージ使用量"
charts: "チャート"
perHour: "1時間ごと"
perDay: "1日ごと"
stopActivityDelivery: "アクティビティの配送を停止"
blockThisInstance: "このインスタンスをブロック"
operations: "操作"
software: "ソフトウェア"
version: "バージョン"
metadata: "メタデータ"
withNFiles: "{n}つのファイル"
monitor: "モニター"
jobQueue: "ジョブキュー"
cpuAndMemory: "CPUとメモリ"
network: "ネットワーク"
disk: "ディスク"
instanceInfo: "インスタンス情報"
statistics: "統計"
clearQueue: "キューをクリア"
@ -187,6 +213,9 @@ all: "全て"
subscribing: "購読中"
publishing: "配信中"
notResponding: "応答なし"
instanceFollowing: "インスタンスのフォロー"
instanceFollowers: "インスタンスのフォロワー"
instanceUsers: "インスタンスのユーザー"
changePassword: "パスワードを変更"
security: "セキュリティ"
retypedNotMatch: "入力が一致しません。"
@ -202,6 +231,7 @@ lookup: "照会"
announcements: "お知らせ"
imageUrl: "画像URL"
remove: "削除"
removed: "削除しました"
removeAreYouSure: "「{x}」を削除しますか?"
deleteAreYouSure: "「{x}」を削除しますか?"
resetAreYouSure: "リセットしますか?"
@ -241,6 +271,7 @@ lightThemes: "明るいテーマ"
darkThemes: "暗いテーマ"
syncDeviceDarkMode: "デバイスのダークモードと同期する"
drive: "ドライブ"
fileName: "ファイル名"
selectFile: "ファイルを選択"
selectFiles: "ファイルを選択"
selectFolder: "フォルダーを選択"
@ -292,6 +323,7 @@ disconnectService: "切断する"
enableLocalTimeline: "ローカルタイムラインを有効にする"
enableGlobalTimeline: "グローバルタイムラインを有効にする"
disablingTimelinesInfo: "これらのタイムラインを無効化しても、利便性のため管理者およびモデレーターは引き続き利用することができます。"
registration: "登録"
enableRegistration: "誰でも新規登録できるようにする"
invite: "招待"
driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量"
@ -300,12 +332,22 @@ inMb: "メガバイト単位"
iconUrl: "アイコン画像のURL (faviconなど)"
bannerUrl: "バナー画像のURL"
backgroundImageUrl: "背景画像のURL"
basicInfo: "基本情報"
pinnedUsers: "ピン留めユーザー"
pinnedUsersDescription: "「みつける」ページなどにピン留めしたいユーザーを改行で区切って記述します。"
pinnedPages: "ピン留めページ"
pinnedPagesDescription: "インスタンスのトップページにピン留めしたいページのパスを改行で区切って記述します。"
pinnedClipId: "ピン留めするクリップのID"
pinnedNotes: "ピン留めされたノート"
hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptchaを有効にする"
hcaptchaSiteKey: "サイトキー"
hcaptchaSecretKey: "シークレットキー"
recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHAを有効にする"
recaptchaSiteKey: "サイトキー"
recaptchaSecretKey: "シークレットキー"
avoidMultiCaptchaConfirm: "複数のCaptchaを使用すると干渉を起こす可能性があります。他のCaptchaを無効にしますかキャンセルして複数のCaptchaを有効化したままにすることも可能です。"
antennas: "アンテナ"
manageAntennas: "アンテナの管理"
name: "名前"
@ -315,6 +357,7 @@ antennaExcludeKeywords: "除外キーワード"
antennaKeywordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります"
notifyAntenna: "新しいノートを通知する"
withFileAntenna: "ファイルが添付されたノートのみ"
enableServiceworker: "ブラウザへのプッシュ通知を有効にする"
antennaUsersDescription: "ユーザー名を改行で区切って指定します"
caseSensitive: "大文字小文字を区別する"
withReplies: "返信を含む"
@ -329,8 +372,11 @@ popularUsers: "人気のユーザー"
recentlyUpdatedUsers: "最近投稿したユーザー"
recentlyRegisteredUsers: "最近登録したユーザー"
recentlyDiscoveredUsers: "最近発見されたユーザー"
exploreUsersCount: "{count}のユーザーがいます"
exploreFediverse: "Fediverseを探索"
popularTags: "人気のタグ"
userList: "リスト"
about: "情報"
aboutMisskey: "FoundKeyについて"
administrator: "管理者"
token: "トークン"
@ -350,6 +396,7 @@ share: "共有"
notFound: "見つかりません"
notFoundDescription: "指定されたURLに該当するページはありませんでした。"
uploadFolder: "既定アップロード先"
cacheClear: "キャッシュを削除"
markAsReadAllNotifications: "すべての通知を既読にする"
markAsReadAllUnreadNotes: "すべての投稿を既読にする"
markAsReadAllTalkMessages: "すべてのチャットを既読にする"
@ -380,6 +427,7 @@ noMessagesYet: "まだチャットはありません"
newMessageExists: "新しいメッセージがあります"
onlyOneFileCanBeAttached: "メッセージに添付できるファイルはひとつです"
signinRequired: "続行する前に、サインアップまたはサインインが必要です"
invitations: "招待"
invitationCode: "招待コード"
checking: "確認しています"
available: "利用できます"
@ -399,6 +447,7 @@ or: "もしくは"
language: "言語"
uiLanguage: "UIの表示言語"
groupInvited: "グループに招待されました"
aboutX: "{x}について"
useOsNativeEmojis: "OSネイティブの絵文字を使用"
disableDrawer: "メニューをドロワーで表示しない"
youHaveNoGroups: "グループがありません"
@ -406,19 +455,27 @@ joinOrCreateGroup: "既存のグループに招待してもらうか、新しく
noHistory: "履歴はありません"
signinHistory: "ログイン履歴"
disableAnimatedMfm: "動きのあるMFMを無効にする"
doing: "やっています"
category: "カテゴリ"
tags: "タグ"
docSource: "このドキュメントのソース"
createAccount: "アカウントを作成"
existingAccount: "既存のアカウント"
regenerate: "再生成"
fontSize: "フォントサイズ"
noFollowRequests: "フォロー申請はありません"
openImageInNewTab: "画像を新しいタブで開く"
dashboard: "ダッシュボード"
local: "ローカル"
remote: "リモート"
total: "合計"
weekOverWeekChanges: "前週比"
dayOverDayChanges: "前日比"
appearance: "アピアランス"
clientSettings: "クライアント設定"
accountSettings: "アカウント設定"
numberOfDays: "日数"
hideThisNote: "このノートを非表示"
showFeaturedNotesInTimeline: "タイムラインにおすすめのノートを表示する"
objectStorage: "オブジェクトストレージ"
useObjectStorage: "オブジェクトストレージを使用"
@ -438,6 +495,8 @@ objectStorageUseSSLDesc: "API接続にhttpsを使用しない場合はオフに
objectStorageUseProxy: "Proxyを利用する"
objectStorageUseProxyDesc: "API接続にproxyを利用しない場合はオフにしてください"
objectStorageSetPublicRead: "アップロード時に'public-read'を設定する"
serverLogs: "サーバーログ"
deleteAll: "全て削除"
showFixedPostForm: "タイムライン上部に投稿フォームを表示する"
newNoteRecived: "新しいノートがあります"
sounds: "サウンド"
@ -448,6 +507,7 @@ popout: "ポップアウト"
volume: "音量"
masterVolume: "マスター音量"
details: "詳細"
chooseEmoji: "絵文字を選択"
unableToProcess: "操作を完了できません"
recentUsed: "最近使用"
install: "インストール"
@ -463,7 +523,9 @@ descendingOrder: "降順"
scratchpad: "スクラッチパッド"
scratchpadDescription: "スクラッチパッドは、AiScriptの実験環境を提供します。FoundKeyと対話するコードの記述、実行、結果の確認ができます。"
output: "出力"
script: "スクリプト"
updateRemoteUser: "リモートユーザー情報の更新"
deleteAllFiles: "すべてのファイルを削除"
deleteAllFilesConfirm: "すべてのファイルを削除しますか?"
removeAllFollowing: "フォローを全解除"
removeAllFollowingDescription: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
@ -477,7 +539,10 @@ addItem: "項目を追加"
relays: "リレー"
addRelay: "リレーの追加"
inboxUrl: "inboxのURL"
addedRelays: "追加済みのリレー"
serviceworkerInfo: "プッシュ通知を行うには有効する必要があります。"
deletedNote: "削除された投稿"
invisibleNote: "非公開の投稿"
enableInfiniteScroll: "自動でもっと見る"
visibility: "公開範囲"
poll: "アンケート"
@ -487,12 +552,15 @@ disablePlayer: "プレイヤーを閉じる"
themeEditor: "テーマエディター"
description: "説明"
describeFile: "キャプションを付ける"
enterFileDescription: "キャプションを入力"
author: "作者"
leaveConfirm: "未保存の変更があります。破棄しますか?"
manage: "管理"
plugins: "プラグイン"
deck: "デッキ"
undeck: "デッキ解除"
useBlurEffectForModal: "モーダルにぼかし効果を使用"
useFullReactionPicker: "フル機能リアクションピッカーを使用"
width: "幅"
height: "高さ"
large: "大"
@ -504,6 +572,7 @@ enableAll: "全て有効にする"
disableAll: "全て無効にする"
tokenRequested: "アカウントへのアクセス許可"
pluginTokenRequestedDescription: "このプラグインはここで設定した権限を行使できるようになります。"
notificationType: "通知の種類"
edit: "編集"
useStarForReactionFallback: "リアクション絵文字が不明な場合、代わりに★を使う"
emailServer: "メールサーバー"
@ -528,7 +597,10 @@ userSaysSomething: "{name}が何かを言いました"
makeActive: "アクティブにする"
display: "表示"
copy: "コピー"
metrics: "メトリクス"
overview: "概要"
logs: "ログ"
delayed: "遅延"
database: "データベース"
channel: "チャンネル"
create: "作成"
@ -542,6 +614,7 @@ regenerateLoginTokenDescription: "ログインに使用される内部トーク
setMultipleBySeparatingWithSpace: "スペースで区切って複数設定できます。"
fileIdOrUrl: "ファイルIDまたはURL"
behavior: "動作"
sample: "サンプル"
abuseReports: "通報"
reportAbuse: "通報"
reportAbuseOf: "{name}を通報する"
@ -555,8 +628,12 @@ forwardReportIsAnonymous: "リモートインスタンスからはあなたの
send: "送信"
abuseMarkAsResolved: "対応済みにする"
openInNewTab: "新しいタブで開く"
openInSideView: "サイドビューで開く"
defaultNavigationBehaviour: "デフォルトのナビゲーション"
editTheseSettingsMayBreakAccount: "これらの設定を編集するとアカウントが破損する可能性があります。"
instanceTicker: "ノートのインスタンス情報"
waitingFor: "{x}を待っています"
random: "ランダム"
system: "システム"
switchUi: "UI切り替え"
desktop: "デスクトップ"
@ -592,6 +669,7 @@ alwaysMarkSensitive: "デフォルトでメディアを閲覧注意にする"
loadRawImages: "添付画像のサムネイルをオリジナル画質にする"
disableShowingAnimatedImages: "アニメーション画像を再生しない"
verificationEmailSent: "確認のメールを送信しました。メールに記載されたリンクにアクセスして、設定を完了してください。"
notSet: "未設定"
emailVerified: "メールアドレスが確認されました"
noteFavoritesCount: "お気に入りノートの数"
pageLikesCount: "Pageにいいねした数"
@ -599,6 +677,8 @@ pageLikedCount: "Pageにいいねされた数"
contact: "連絡先"
useSystemFont: "システムのデフォルトのフォントを使う"
clips: "クリップ"
experimentalFeatures: "実験的機能"
developer: "開発者"
makeExplorable: "アカウントを見つけやすくする"
makeExplorableDescription: "オフにすると、「みつける」にアカウントが載らなくなります。"
showGapBetweenNotesInTimeline: "タイムラインのノートを離して表示"
@ -609,16 +689,28 @@ wide: "広い"
narrow: "狭い"
reloadToApplySetting: "設定はページリロード後に反映されます。今すぐリロードしますか?"
needReloadToApply: "反映には再起動が必要です。"
showTitlebar: "タイトルバーを表示する"
clearCache: "キャッシュをクリア"
onlineUsersCount: "{n}人がオンライン"
nUsers: "{n}ユーザー"
nNotes: "{n}ノート"
myTheme: "マイテーマ"
backgroundColor: "背景"
accentColor: "アクセント"
textColor: "文字"
saveAs: "名前を付けて保存"
advanced: "高度"
value: "値"
createdAt: "作成日時"
updatedAt: "更新日時"
saveConfirm: "保存しますか?"
deleteConfirm: "削除しますか?"
invalidValue: "有効な値ではありません。"
registry: "レジストリ"
closeAccount: "アカウントを閉鎖する"
currentVersion: "現在のバージョン"
latestVersion: "最新のバージョン"
youAreRunningUpToDateClient: "お使いのクライアントは最新です。"
newVersionOfClientAvailable: "新しいバージョンのクライアントが利用可能です。"
usageAmount: "使用量"
capacity: "容量"
@ -628,9 +720,11 @@ apply: "適用"
receiveAnnouncementFromInstance: "インスタンスからのお知らせを受け取る"
emailNotification: "メール通知"
publish: "公開"
inChannelSearch: "チャンネル内検索"
useReactionPickerForContextMenu: "右クリックでリアクションピッカーを開く"
typingUsers: "{users}が入力中"
jumpToSpecifiedDate: "特定の日付にジャンプ"
showingPastTimeline: "過去のタイムラインを表示しています"
clear: "クリア"
markAllAsRead: "全て既読にする"
goBack: "戻る"
@ -643,10 +737,9 @@ notSpecifiedMentionWarning: "宛先に含まれていないメンションがあ
info: "情報"
userInfo: "ユーザー情報"
unknown: "不明"
onlineStatus: "オンライン状態"
hideOnlineStatus: "オンライン状態を隠す"
hideOnlineStatusDescription: "オンライン状態を隠すと、検索などの一部機能において利便性が低下することがあります。"
federateBlocks: "ブロックを連合に送信"
federateBlocksDescription: "オフにするとBlockのActivityは連合に送信しません"
online: "オンライン"
active: "アクティブ"
offline: "オフライン"
@ -670,12 +763,21 @@ gallery: "ギャラリー"
recentPosts: "最近の投稿"
popularPosts: "人気の投稿"
shareWithNote: "ノートで共有"
expiration: "期限"
memo: "メモ"
priority: "優先度"
high: "高"
middle: "中"
low: "低"
emailNotConfiguredWarning: "メールアドレスの設定がされていません。"
ratio: "比率"
previewNoteText: "本文をプレビュー"
customCss: "カスタムCSS"
customCssWarn: "この設定は必ず知識のある方が行ってください。不適切な設定を行うとクライアントが正常に使用できなくなる恐れがあります。"
global: "グローバル"
squareAvatars: "アイコンを四角形で表示"
sent: "送信"
received: "受信"
searchResult: "検索結果"
hashtags: "ハッシュタグ"
troubleshooting: "トラブルシューティング"
@ -775,6 +877,10 @@ _accountDelete:
started: "削除処理が開始されました。"
inProgress: "削除が進行中"
_ad:
back: "戻る"
reduceFrequencyOfThisAd: "この広告の表示頻度を下げる"
_forgotPassword:
enterEmail: "アカウントに登録したメールアドレスを入力してください。そのアドレス宛てに、パスワードリセット用のリンクが送信されます。"
ifNoEmail: "メールアドレスを登録していない場合は、管理者までお問い合わせください。"
@ -795,6 +901,8 @@ _email:
_plugin:
install: "プラグインのインストール"
installWarn: "信頼できないプラグインはインストールしないでください。"
manage: "プラグインの管理"
_registry:
scope: "スコープ"
key: "キー"
@ -804,8 +912,11 @@ _registry:
_aboutMisskey:
about: "FoundKeyはsyuiloによって2014年から開発されている、オープンソースのソフトウェアです。"
contributors: "主なコントリビューター"
allContributors: "全てのコントリビューター"
source: "ソースコード"
translation: "FoundKeyを翻訳"
_nsfw:
respect: "閲覧注意のメディアは隠す"
ignore: "閲覧注意のメディアを隠さない"
@ -931,6 +1042,70 @@ _theme:
alreadyInstalled: "そのテーマは既にインストールされています"
invalid: "テーマの形式が間違っています"
make: "テーマを作る"
base: "ベース"
addConstant: "定数を追加"
constant: "定数"
defaultValue: "デフォルト値"
color: "色"
refProp: "プロパティを参照"
refConst: "定数を参照"
key: "キー"
func: "関数"
funcKind: "関数の種類"
argument: "引数"
basedProp: "元にするプロパティの名前"
alpha: "不透明度"
darken: "暗さ"
lighten: "明るさ"
inputConstantName: "定数名を入力してください"
importInfo: "ここにテーマコードを貼り付けて、エディターにインポートできます"
deleteConstantConfirm: "定数 {const} を削除しても良いですか?"
keys:
accent: "アクセント"
bg: "背景"
fg: "文字"
focus: "フォーカス"
indicator: "インジケーター"
panel: "パネル"
shadow: "影"
header: "ヘッダー"
navBg: "サイドバーの背景"
navFg: "サイドバーの文字"
navHoverFg: "サイドバー文字(ホバー)"
navActive: "サイドバー文字(アクティブ)"
navIndicator: "サイドバーのインジケーター"
link: "リンク"
hashtag: "ハッシュタグ"
mention: "メンション"
mentionMe: "あなた宛てメンション"
renote: "Renote"
modalBg: "モーダルの背景"
divider: "分割線"
scrollbarHandle: "スクロールバーの取っ手"
scrollbarHandleHover: "スクロールバーの取っ手(ホバー)"
dateLabelFg: "日付ラベルの文字"
infoBg: "情報の背景"
infoFg: "情報の文字"
infoWarnBg: "警告の背景"
infoWarnFg: "警告の文字"
cwBg: "CW ボタンの背景"
cwFg: "CW ボタンの文字"
cwHoverBg: "CW ボタンの背景 (ホバー)"
toastBg: "通知トーストの背景"
toastFg: "通知トーストの文字"
buttonBg: "ボタンの背景"
buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り"
listItemHoverBg: "リスト項目の背景 (ホバー)"
driveFolderBg: "ドライブフォルダーの背景"
wallpaperOverlay: "壁紙のオーバーレイ"
badge: "バッジ"
messageBg: "チャットの背景"
accentDarken: "アクセント (暗め)"
accentLighten: "アクセント (明るめ)"
fgHighlighted: "強調された文字"
_sfx:
note: "ノート"
noteMy: "ノート(自分)"
@ -1217,6 +1392,7 @@ _relayStatus:
rejected: "拒否済み"
_notification:
fileUploaded: "ファイルがアップロードされました"
youGotMention: "{name}からのメンション"
youGotReply: "{name}からのリプライ"
youGotQuote: "{name}による引用"
@ -1232,6 +1408,7 @@ _notification:
emptyPushNotificationMessage: "プッシュ通知の更新をしました"
_types:
all: "すべて"
follow: "フォロー"
mention: "メンション"
reply: "リプライ"

View file

@ -12,6 +12,7 @@ fetchingAsApObject: "今ちと連合に照会しとるで"
ok: "OKや"
gotIt: "ほい"
cancel: "やめとく"
enterUsername: "ユーザー名を入れてや"
renotedBy: "{user}がRenote"
noNotes: "ノートはあらへん"
noNotifications: "通知はあらへん"
@ -27,12 +28,16 @@ login: "ログイン"
loggingIn: "ログインしよるで"
logout: "ログアウト"
signup: "新規登録"
uploading: "アップロードしとるで"
save: "保存"
users: "ユーザー"
addUser: "ユーザーを追加や"
favorite: "お気に入り"
favorites: "お気に入り"
unfavorite: "やっぱ気に入らん"
favorited: "お気に入りに登録したで"
alreadyFavorited: "もうお気に入りに入れとるがな。"
cantFavorite: "アカン、お気に入り登録できへんかったで。"
pin: "ピン留めしとく"
unpin: "やっぱピン留めせん"
copyContent: "内容をコピー"
@ -43,6 +48,7 @@ deleteAndEditConfirm: "このノートをほかして書き直すんか?この
addToList: "リストに入れたる"
sendMessage: "メッセージを送る"
copyUsername: "ユーザー名をコピー"
searchUser: "ユーザーを検索"
reply: "返事"
loadMore: "まだまだあるで!"
showMore: "まだまだあるで!"
@ -62,6 +68,7 @@ unfollowConfirm: "{name}のフォローを解除してもええんか?"
exportRequested: "エクスポートしてな、ってリクエストしたけど、これ多分めっちゃ時間かかるで。エクスポート終わったら「ドライブ」に突っ込んどくで。"
importRequested: "インポートしてな、ってリクエストしたけど、これ多分めっちゃ時間かかるで。"
lists: "リスト"
noLists: "リストなんてあらへんで"
note: "ノート"
notes: "ノート"
following: "フォロー"
@ -87,15 +94,21 @@ followRequest: "フォローを頼む"
followRequests: "フォロー申請"
unfollow: "フォローやめる"
followRequestPending: "フォロー許してくれるん待っとる"
enterEmoji: "絵文字を入れてや"
renote: "Renote"
unrenote: "Renoteやめる"
renoted: "Renoteしたで。"
cantRenote: "この投稿はRenoteできへんらしい。"
cantReRenote: "Renote自体はRenoteできへんで。"
quote: "引用"
pinnedNote: "ピン留めされとるノート"
pinned: "ピン留めしとく"
you: "あんた"
clickToShow: "押したら見えるで"
sensitive: "ちょっとアカンやつやで"
add: "増やす"
reaction: "リアクション"
reactionSetting: "Reaction that will be displayed in Picker. "
reactionSettingDescription2: "ドラッグで並び替え、クリックで削除、+を押して追加やで。"
attachCancel: "のっけるのやめる"
markAsSensitive: "ちょっとこれはアカン"
@ -119,7 +132,10 @@ editWidgetsExit: "編集終ったで"
customEmojis: "カスタム絵文字"
emoji: "絵文字"
emojis: "絵文字"
emojiName: "絵文字名"
emojiUrl: "絵文字画像URL"
addEmoji: "絵文字を追加"
settingGuide: "ええ感じの設定"
cacheRemoteFiles: "リモートのファイルをキャッシュする"
cacheRemoteFilesDescription: "この設定を切っとくと、リモートファイルをキャッシュせず直リンクするようになるで。サーバーの容量は節約できるけど、サムネイルが作られんくなるから通信量が増えるで。"
flagAsBot: "Botやで"
@ -134,8 +150,10 @@ addAccount: "アカウントを追加"
loginFailed: "ログインに失敗してしもうた…"
showOnRemote: "リモートで見る"
general: "全般"
wallpaper: "壁紙"
setWallpaper: "壁紙を設定"
removeWallpaper: "壁紙を削除"
searchWith: "検索: {q}"
youHaveNoLists: "リストがあらへんで?"
followConfirm: "{name}をフォローしてええか?"
proxyAccount: "プロキシアカウント"
@ -145,19 +163,27 @@ selectUser: "ユーザーを選ぶ"
recipient: "宛先"
annotation: "注釈"
federation: "連合"
instances: "インスタンス"
registeredAt: "初観測"
latestRequestSentAt: "ちょっと前のリクエスト送信"
latestRequestReceivedAt: "ちょっと前のリクエスト受信"
latestStatus: "ちょっと前のステータス"
storageUsage: "ストレージ使うた量"
charts: "チャート"
perHour: "1時間ごと"
perDay: "1日ごと"
stopActivityDelivery: "アクティビティの配送をやめる"
blockThisInstance: "このインスタンスをブロック"
operations: "操作"
software: "ソフトウェア"
version: "バージョン"
metadata: "メタデータ"
withNFiles: "{n}個のファイル"
monitor: "モニター"
jobQueue: "ジョブキュー"
cpuAndMemory: "CPUとメモリ"
network: "ネットワーク"
disk: "ディスク"
instanceInfo: "インスタンス情報"
statistics: "統計"
clearQueue: "キューにさいなら"
@ -188,6 +214,9 @@ all: "みんな"
subscribing: "購読しとる"
publishing: "配信しとる"
notResponding: "応答してへんで"
instanceFollowing: "インスタンスのフォロー"
instanceFollowers: "インスタンスのフォロワー\n"
instanceUsers: "インスタンスのユーザー"
changePassword: "パスワード変える"
security: "セキュリティ"
retypedNotMatch: "そやないねん。"
@ -203,6 +232,7 @@ lookup: "見てきて"
announcements: "お知らせ"
imageUrl: "画像URL"
remove: "ほかす"
removed: "削除したで!"
removeAreYouSure: "「{x}」はほかしてええか?"
deleteAreYouSure: "「{x}」はほかしてええか?"
resetAreYouSure: "リセットしてええん?"
@ -243,6 +273,7 @@ lightThemes: "デイゲーム"
darkThemes: "ナイトゲーム"
syncDeviceDarkMode: "デバイスのダークモードと一緒にする"
drive: "ドライブ"
fileName: "ファイル名"
selectFile: "ファイル選んでや"
selectFiles: "ファイル選んでや"
selectFolder: "フォルダ選んでや"
@ -292,6 +323,7 @@ integration: "連携"
enableLocalTimeline: "ローカルタイムラインを使えるようにする"
enableGlobalTimeline: "グローバルタイムラインを使えるようにする"
disablingTimelinesInfo: "ここらへんのタイムラインを使えんようにしてしもても、管理者とモデレーターは使えるままになってるで、そうやなかったら不便やからな。"
registration: "登録"
enableRegistration: "一見さんでも誰でもいらっしゃ~い"
invite: "来てや"
driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量"
@ -299,12 +331,20 @@ driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのド
inMb: "メガバイト単位"
iconUrl: "アイコン画像のURL"
bannerUrl: "バナー画像のURL"
basicInfo: "基本情報"
pinnedUsers: "ピン留めしたユーザー"
pinnedUsersDescription: "「みつける」ページとかにピン留めしたいユーザーをここに書けばええんやで。他ん人との名前は改行で区切ればええんやで。"
pinnedPages: "ピン留めページ"
pinnedNotes: "ピン留めされとるノート"
hcaptcha: "hCaptchaキャプチャ"
enableHcaptcha: "hCaptchaキャプチャをつけとく"
hcaptchaSiteKey: "サイトキー"
hcaptchaSecretKey: "シークレットキー"
recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHAリキャプチャを有効にする"
recaptchaSiteKey: "サイトキー"
recaptchaSecretKey: "シークレットキー"
avoidMultiCaptchaConfirm: "ぎょうさんのCaptchaをつこてしまうと、仲良うせんことがあるんや。他のCaptchaをなおしとこか別にキャンセルしてもろうたらCaptchaは消されへんで済むけど知らんで。"
antennas: "アンテナ"
manageAntennas: "アンテナいじる"
name: "名前"
@ -314,6 +354,7 @@ antennaExcludeKeywords: "除外キーワード"
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
notifyAntenna: "新しいノートを通知すんで"
withFileAntenna: "なんか添付されたノートだけ"
enableServiceworker: "ServiceWorkerをつこて"
antennaUsersDescription: "ユーザー名を改行で区切ったってな"
caseSensitive: "大文字と小文字は別もんや"
withReplies: "返信も入れたって"
@ -328,8 +369,11 @@ popularUsers: "人気のユーザー"
recentlyUpdatedUsers: "ちょっと前に投稿したばっかりのユーザー"
recentlyRegisteredUsers: "ちょっと前に始めたばっかりのユーザー"
recentlyDiscoveredUsers: "最近見っけたユーザー"
exploreUsersCount: "{count}もユーザーおるで"
exploreFediverse: "Fediverseを探ってみる"
popularTags: "人気のタグ"
userList: "リスト"
about: "情報"
aboutMisskey: "FoundKeyってなんや"
administrator: "管理者"
token: "トークン"
@ -349,6 +393,7 @@ share: "わけわけ"
notFound: "見つからへんね"
notFoundDescription: "指定されたURLに該当するページはあらへんやった。"
uploadFolder: "とりあえずアップロードしたやつ置いとく所"
cacheClear: "キャッシュをほかす"
markAsReadAllNotifications: "通知はもう全て読んだわっ"
markAsReadAllUnreadNotes: "投稿は全て読んだわっ"
markAsReadAllTalkMessages: "チャットはもうぜんぶ読んだわっ"
@ -379,6 +424,7 @@ noMessagesYet: "まだチャットはあらへんで"
newMessageExists: "新しいメッセージがきたで"
onlyOneFileCanBeAttached: "すまん、メッセージに添付できるファイルはひとつだけなんや。"
signinRequired: "ログインしてくれへん?"
invitations: "来てや"
invitationCode: "招待コード"
checking: "確認しとるで"
available: "利用できる\n"
@ -396,23 +442,32 @@ or: "それか"
language: "言語"
uiLanguage: "UIの表示言語"
groupInvited: "グループに招待されとるで"
aboutX: "{x}について"
useOsNativeEmojis: "OSネイティブの絵文字を使う"
youHaveNoGroups: "グループがあらへんねぇ。"
noHistory: "履歴はあらへんねぇ。"
signinHistory: "ログイン履歴"
disableAnimatedMfm: "動きがやかましいMFMを止める"
doing: "やっとるがな"
category: "カテゴリ"
tags: "タグ"
docSource: "このドキュメントのソース"
createAccount: "アカウントを作成"
regenerate: "再生成"
fontSize: "フォントサイズ"
noFollowRequests: "フォロー申請はあらへんで"
openImageInNewTab: "画像を新しいタブで開く"
dashboard: "ダッシュボード"
local: "ローカル"
remote: "リモート"
total: "合計"
weekOverWeekChanges: "前週比"
dayOverDayChanges: "前日比"
appearance: "見た目"
clientSettings: "クライアントの設定"
accountSettings: "アカウントの設定"
numberOfDays: "日数"
hideThisNote: "このノートは表示せんでいい"
showFeaturedNotesInTimeline: "タイムラインにおすすめのノートを表示してや"
objectStorage: "オブジェクトストレージ"
useObjectStorage: "オブジェクトストレージを使う"
@ -427,6 +482,8 @@ objectStorageUseSSL: "SSLを使う"
objectStorageUseProxy: "Proxyを使う"
objectStorageUseProxyDesc: "API接続にproxy使わんのやったら切ってくれへん"
objectStorageSetPublicRead: "アップロードした時に'public-read'を設定してや"
serverLogs: "サーバーログ"
deleteAll: "全て削除してや"
showFixedPostForm: "タイムラインの上の方で投稿できるようにやってくれへん?"
newNoteRecived: "新しいノートがあるで"
sounds: "サウンド"
@ -437,6 +494,7 @@ popout: "ポップアウト"
volume: "音量"
masterVolume: "全体の音量"
details: "もっと"
chooseEmoji: "絵文字を選ぶ"
unableToProcess: "なんか作業が止まってしまったようやね"
recentUsed: "最近使ったやつ"
install: "インストール"
@ -452,7 +510,9 @@ descendingOrder: "大きい順"
scratchpad: "スクラッチパッド"
scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。FoundKeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。"
output: "出力"
script: "スクリプト"
updateRemoteUser: "リモートユーザー情報の更新してくれん?"
deleteAllFiles: "すべてのファイルを削除"
deleteAllFilesConfirm: "ホンマにすべてのファイルを削除するん?消したもんはもう戻ってこんのやで?"
removeAllFollowing: "フォローを全解除"
removeAllFollowingDescription: "{host}からのフォローをすべて解除するで。そのインスタンスが消えて無くなった時とかには便利な機能やで。"
@ -462,6 +522,7 @@ divider: "分割線"
relays: "リレー"
addRelay: "リレーの追加"
inboxUrl: "inboxのURL"
addedRelays: "追加済みのリレー"
poll: "アンケート"
enablePlayer: "プレイヤーを開く"
disablePlayer: "プレイヤーを閉じる"
@ -472,6 +533,7 @@ leaveConfirm: "未保存の変更があるで!ほかしてええか?"
manage: "管理"
plugins: "プラグイン"
deck: "デッキ"
undeck: "デッキ解除"
width: "幅"
height: "高さ"
large: "大"
@ -495,7 +557,10 @@ userSaysSomething: "{name}が何か言ったようやで"
makeActive: "使うで"
display: "表示"
copy: "コピー"
metrics: "メトリクス"
overview: "概要"
logs: "ログ"
delayed: "遅延"
database: "データベース"
channel: "チャンネル"
create: "作成"
@ -505,14 +570,19 @@ useGlobalSetting: "グローバル設定を使ってや"
other: "その他"
regenerateLoginToken: "ログイントークンを再生成"
behavior: "動作"
sample: "サンプル"
abuseReports: "通報"
reportAbuse: "通報"
reportAbuseOf: "{name}を通報する"
send: "送信"
abuseMarkAsResolved: "対応したで"
openInNewTab: "新しいタブで開く"
openInSideView: "サイドビューで開く"
defaultNavigationBehaviour: "デフォルトのナビゲーション"
editTheseSettingsMayBreakAccount: "このへんの設定をようわからんままイジるとアカウントが壊れて使えんくなるかも知れへんで?"
instanceTicker: "ノートのインスタンス情報"
waitingFor: "{x}を待っとるで"
random: "ランダム"
system: "システム"
switchUi: "UI切り替え"
desktop: "デスクトップ"
@ -533,16 +603,27 @@ center: "中央"
wide: "広い"
narrow: "狭い"
reloadToApplySetting: "設定はページリロード後に反映されるで。今リロードしとくか?"
showTitlebar: "タイトルバーを見せる"
clearCache: "キャッシュをほかす"
onlineUsersCount: "{n}人が起きとるで"
nUsers: "{n}ユーザー"
nNotes: "{n}ノート"
myTheme: "マイテーマ"
backgroundColor: "背景"
accentColor: "アクセント"
textColor: "文字"
saveAs: "名前を付けて保存"
advanced: "高度"
value: "値"
createdAt: "作成した日"
updatedAt: "更新日時"
saveConfirm: "保存するで?"
deleteConfirm: "ホンマに削除するで?"
registry: "レジストリ"
closeAccount: "アカウントを閉鎖する"
currentVersion: "現在のバージョン"
latestVersion: "最新のバージョン"
youAreRunningUpToDateClient: "今使ってるクライアントが最新やで!"
newVersionOfClientAvailable: "新しいバージョンのクライアントが使えるで。"
usageAmount: "使用量"
capacity: "容量"
@ -551,18 +632,29 @@ editCode: "コードを編集"
apply: "適用"
receiveAnnouncementFromInstance: "インスタンスからのお知らせを受け取る"
emailNotification: "メール通知"
inChannelSearch: "チャンネル内検索"
useReactionPickerForContextMenu: "右クリックでリアクションピッカーを開くようにする"
typingUsers: "{users}が今書きよるで"
jumpToSpecifiedDate: "特定の日付にジャンプ"
showingPastTimeline: "過去のタイムラインを表示してるで"
clear: "クリア"
markAllAsRead: "もうみな読んでもうたわ"
goBack: "戻る"
info: "情報"
user: "ユーザー"
administration: "管理"
expiration: "期限"
memo: "メモ"
high: "高い"
middle: "中"
low: "低い"
global: "グローバル"
sent: "送信"
hashtags: "ハッシュタグ"
hide: "隠す"
indefinitely: "無期限"
_ad:
back: "戻る"
_gallery:
unlike: "良くないわ"
_email:
@ -573,6 +665,7 @@ _email:
_plugin:
install: "プラグインのインストール"
installWarn: "信頼できへんプラグインはインストールせんとってな"
manage: "プラグインの管理"
_registry:
scope: "スコープ"
key: "キー"
@ -581,8 +674,10 @@ _registry:
createKey: "キーを作る"
_aboutMisskey:
about: "FoundKeyはsyuiloが2014年からずっと作ってはる、オープンソースなソフトウェアや。"
contributors: "主な貢献者"
allContributors: "全ての貢献者"
source: "ソースコード"
translation: "FoundKeyを翻訳"
_mfm:
cheatSheet: "MFMチートシート"
mention: "メンション"
@ -633,6 +728,64 @@ _theme:
builtinThemes: "標準のテーマ"
alreadyInstalled: "そのテーマはもうインストールされとるで?"
make: "テーマを作る"
base: "ベース"
addConstant: "定数を追加"
defaultValue: "デフォルト値"
color: "色"
refProp: "プロパティを参照"
refConst: "定数を参照"
key: "キー"
func: "関数"
funcKind: "関数の種類"
argument: "引数"
basedProp: "元にするプロパティの名前"
alpha: "不透明度"
darken: "暗さ"
lighten: "明るさ"
keys:
accent: "アクセント"
bg: "背景"
fg: "文字"
focus: "フォーカス"
indicator: "インジケーター"
panel: "パネル"
shadow: "影"
header: "ヘッダー"
navBg: "サイドバーの背景"
navFg: "サイドバーの文字"
navHoverFg: "サイドバー文字(ホバー)"
navActive: "サイドバー文字(アクティブ)"
navIndicator: "サイドバーのインジケーター"
link: "リンク"
hashtag: "ハッシュタグ"
mention: "メンション"
mentionMe: "うち宛てのメンション"
renote: "Renote"
modalBg: "モーダルの背景"
divider: "分割線"
scrollbarHandle: "スクロールバーの取っ手"
scrollbarHandleHover: "スクロールバーの取っ手(ホバー)"
dateLabelFg: "日付ラベルの文字"
infoBg: "情報の背景"
infoFg: "情報の文字"
infoWarnBg: "警告の背景"
infoWarnFg: "警告の文字"
cwBg: "CW ボタンの背景"
cwFg: "CW ボタンの文字"
cwHoverBg: "CW ボタンの背景 (ホバー)"
toastBg: "通知トーストの背景"
toastFg: "通知トーストの文字"
buttonBg: "ボタンの背景"
buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り"
listItemHoverBg: "リスト項目の背景 (ホバー)"
driveFolderBg: "ドライブフォルダーの背景"
wallpaperOverlay: "壁紙のオーバーレイ"
badge: "バッジ"
messageBg: "チャットの背景"
accentDarken: "アクセント (暗め)"
accentLighten: "アクセント (明るめ)"
fgHighlighted: "強調されとる文字"
_sfx:
note: "ノート"
noteMy: "ノート(自分)"
@ -779,6 +932,7 @@ _pages:
eyeCatchingImageSet: "アイキャッチ画像を設定"
eyeCatchingImageRemove: "アイキャッチ画像を削除"
_notification:
fileUploaded: "ファイルが無事アップロードされたで。"
youGotMention: "{name}からのメンション"
youGotReply: "{name}からのリプライ"
youWereFollowed: "フォローされたで"
@ -786,6 +940,7 @@ _notification:
yourFollowRequestAccepted: "フォローさせてもろたで"
youWereInvitedToGroup: "グループに招待されとるで"
_types:
all: "すべて"
follow: "フォロー"
mention: "メンション"
renote: "Renote"

View file

@ -22,6 +22,7 @@ export: "Sifeḍ"
files: "Ifuyla"
download: "Sider"
lists: "Tibdarin"
noLists: "Ulac ɣur-k·m ula d yiwet n tabdart"
following: "Ig ṭṭafaṛ"
followers: "Imeḍfaṛen"
followsYou: "Yeṭṭafaṛ-ik·em-id"
@ -42,6 +43,7 @@ signinRequired: "Ttxil jerred"
signinWith: "Tuqqna s {x}"
tapSecurityKey: "Sekcem tasarutt-ik·im n tɣellist"
uiLanguage: "Tutlayt n wegrudem"
accountSettings: "Iɣewwaṛen n umiḍan"
plugins: "Izegrar"
email: "Imayl"
emailAddress: "Tansa imayl"
@ -59,7 +61,9 @@ _mfm:
mention: "Bder"
search: "Nadi"
font: "Tasefsit"
_theme: {}
_theme:
keys:
mention: "Bder"
_sfx:
notification: "Ilɣuyen"
_permissions:

View file

@ -12,6 +12,7 @@ fetchingAsApObject: "ಒಕ್ಕೂಟದಿಂದ ಪಡೆಯಲಾಗುತ
ok: "ಸರಿ"
gotIt: "ಅರ್ಥವಾಯಿತು!"
cancel: "ರದ್ದು"
enterUsername: "ಬಳಕೆಹೆಸರನ್ನು ಭರ್ತಿ ಮಾಡಿ"
renotedBy: "{user} ಪುನರಾವರ್ತಿಸಿದರು"
noNotes: "ಟಿಪ್ಪಣಿಗಳಿಲ್ಲ"
noNotifications: "ಅಧಿಸೂಚನೆಗಳಿಲ್ಲ"
@ -24,6 +25,7 @@ login: "ಪ್ರವೇಶ"
loggingIn: "ಪ್ರವೇಶಿಸುತ್ತಾ..."
logout: "ಆಚೆಗೆ"
signup: "ನೋಂದಣಿ"
uploading: "ಅಪ್‌ಲೋಡಾಗುತ್ತಿದೆ"
save: "ಉಳಿಸಿ"
users: "ಬಳಕೆದಾರ"
addUser: "ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿ"
@ -54,6 +56,8 @@ download: "ಜಾಲದಿಂದಿಳಿಸು"
driveFileDeleteConfirm: "\"{name}\" ಕಡತವನ್ನು ಅಳಿಸಲು ನೀವು ಬಯಸುವಿರಾ? ಈ ನೋಡಿರಿ ಲಗತ್ತಿಸಲಾದ\
\ ಟಿಪ್ಪಣಿ ಸಹ ಕಣ್ಮರೆಯಾಗುತ್ತದೆ."
unfollowConfirm: "{name}ಅನ್ನು ಹಿಂಬಾಲಿಸದಿರುವುದೇ?"
pinned: "ಪ್ರೊಫ಼ೈಲಿಗೆ ಅಂಟಿಸು"
instances: "ನಿದರ್ಶನ"
remove: "ಅಳಿಸು"
smtpUser: "ಬಳಕೆಹೆಸರು"
smtpPass: "ಗುಪ್ತಪದ"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Ophalen vanuit de Fediverse"
ok: "Ok"
gotIt: "Begrepen"
cancel: "Annuleren"
enterUsername: "Voer een gebruikersnaam in"
renotedBy: "Hergedeeld door {user}"
noNotes: "Geen notities"
noNotifications: "Geen meldingen"
@ -29,12 +30,16 @@ login: "Inloggen"
loggingIn: "Aan het inloggen"
logout: "Afmelden"
signup: "Registreren"
uploading: "Bezig met uploaden"
save: "Opslaan"
users: "Gebruikers"
addUser: "Toevoegen gebruiker"
favorite: "Favorieten"
favorites: "Toevoegen aan favorieten"
unfavorite: "Verwijderen uit favorieten"
favorited: "Toegevoegd aan favorieten."
alreadyFavorited: "Al toegevoegd aan favorieten"
cantFavorite: "Kon niet toevoegen aan favorieten"
pin: "Vastmaken aan profielpagina"
unpin: "Losmaken van profielpagina"
copyContent: "Kopiëren inhoud"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Weet je zeker dat je deze notitie wilt verwijderen en dan
addToList: "Aan lijst toevoegen"
sendMessage: "Verstuur bericht"
copyUsername: "Kopiëren gebruikersnaam "
searchUser: "Zoeken een gebruiker"
reply: "Antwoord"
loadMore: "Laad meer"
showMore: "Toon meer"
@ -68,6 +74,7 @@ exportRequested: "Je hebt een export aangevraagd. Dit kan een tijdje duren. Het
\ toegevoegd aan je Drive zodra het is voltooid."
importRequested: "Je hebt een import aangevraagd. Dit kan even duren."
lists: "Lijsten"
noLists: "Je hebt geen lijsten"
note: "Notitie"
notes: "Notities"
following: "Volgend"
@ -93,10 +100,15 @@ followRequest: "Verzoek om te mogen volgen"
followRequests: "Volgverzoeken"
unfollow: "Ontvolgen"
followRequestPending: "Wachten op goedkeuring volgverzoek"
enterEmoji: "Voer een emoji in"
renote: "Herdelen"
unrenote: "Stop herdelen"
renoted: "Herdeeld"
cantRenote: "Dit bericht kan niet worden herdeeld."
cantReRenote: "Een herdeling kan niet worden herdeeld."
quote: "Quote"
pinnedNote: "Vastgemaakte notitie"
pinned: "Vastmaken aan profielpagina"
you: "Jij"
clickToShow: "Klik om te bekijken"
sensitive: "NSFW"
@ -134,8 +146,10 @@ addAccount: "Account toevoegen"
loginFailed: "Aanmelding mislukt."
showOnRemote: "Toon op de externe instantie."
general: "Algemeen"
wallpaper: "Achtergrond"
setWallpaper: "Achtergrond instellen"
removeWallpaper: "Achtergrond verwijderen"
searchWith: "Zoeken: {q}"
youHaveNoLists: "Je hebt geen lijsten"
followConfirm: "Weet je zeker dat je {name} wilt volgen?"
proxyAccount: "Proxy account"
@ -149,19 +163,27 @@ selectUser: "Kies een gebruiker"
recipient: "Ontvanger"
annotation: "Reacties"
federation: "Federatie"
instances: "Server"
registeredAt: "Geregistreerd op"
latestRequestSentAt: "Laatste aanvraag verstuurd"
latestRequestReceivedAt: "Laatste aanvraag ontvangen"
latestStatus: "Laatste status"
storageUsage: "Gebruikte opslagruimte"
charts: "Grafieken"
perHour: "Per uur"
perDay: "Per dag"
stopActivityDelivery: "Stop met versturen activiteiten"
blockThisInstance: "Blokkeer deze server"
operations: "Verwerkingen"
software: "Software"
version: "Versie"
metadata: "Metadata"
withNFiles: "{n} bestand(en)"
monitor: "Monitor"
jobQueue: "Job Queue"
cpuAndMemory: "CPU en geheugen"
network: "Netwerk"
disk: "Schijfruimte"
instanceInfo: "Serverinformatie"
statistics: "Statistieken"
clearQueue: "Wachtrij wissen"
@ -196,6 +218,9 @@ all: "Alle"
subscribing: "Abonneren"
publishing: "Publiceren"
notResponding: "Reageert niet"
instanceFollowing: "Volgend op server"
instanceFollowers: "Volgers op server"
instanceUsers: "Gebruikers van deze server"
changePassword: "Wachtwoord wijzigen"
security: "Beveiliging"
retypedNotMatch: "Invoer komt niet overeen"
@ -211,6 +236,7 @@ lookup: "Opzoeken"
announcements: "Aankondigingen"
imageUrl: "AfbeeldingsURL"
remove: "Verwijderen"
removed: "Succesvol verwijderd"
removeAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
deleteAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
resetAreYouSure: "Resetten?"
@ -253,6 +279,7 @@ lightThemes: "Licht thema's"
darkThemes: "Donkere thema's"
syncDeviceDarkMode: "Synchroniseer donkere modus met je apparaatinstellingen"
drive: "Schijf"
fileName: "Bestandsnaam"
selectFile: "Kies een bestand"
selectFiles: "Selecteer bestanden"
selectFolder: "Kies een map"
@ -275,6 +302,7 @@ nsfw: "NSFW"
whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken"
disconnectedFromServer: "Verbinding met de server onderbroken."
inMb: "in megabytes"
pinnedNotes: "Vastgemaakte notitie"
userList: "Lijsten"
aboutMisskey: "Over FoundKey"
administrator: "Beheerder"
@ -289,6 +317,7 @@ newPasswordIs: "Het nieuwe wachtwoord is „{password}”."
reduceUiAnimation: "Verminder beweging in de UI"
share: "Delen"
notFound: "Niet gevonden"
cacheClear: "Cache verwijderen"
smtpHost: "Server"
smtpUser: "Gebruikersnaam"
smtpPass: "Wachtwoord"
@ -306,7 +335,10 @@ _mfm:
mention: "Vermelding"
quote: "Quote"
search: "Zoeken"
_theme: {}
_theme:
keys:
mention: "Vermelding"
renote: "Herdelen"
_sfx:
note: "Notities"
notification: "Meldingen"

View file

@ -15,6 +15,7 @@ fetchingAsApObject: "Pobieranie z Fediwersum…"
ok: "OK"
gotIt: "Rozumiem!"
cancel: "Anuluj"
enterUsername: "Wprowadź nazwę użytkownika"
renotedBy: "Udostępniono przez {user}"
noNotes: "Brak wpisów"
noNotifications: "Brak powiadomień"
@ -30,12 +31,16 @@ login: "Zaloguj się"
loggingIn: "Logowanie"
logout: "Wyloguj się"
signup: "Zarejestruj się"
uploading: "Wysyłanie"
save: "Zapisz"
users: "Użytkownicy"
addUser: "Dodaj użytkownika"
favorite: "Dodaj do ulubionych"
favorites: "Ulubione"
unfavorite: "Usuń z ulubionych"
favorited: "Dodano do ulubionych."
alreadyFavorited: "Już jest w ulubionych."
cantFavorite: "Nie można dodać do ulubionych."
pin: "Przypnij do profilu"
unpin: "Odepnij z profilu"
copyContent: "Skopiuj zawartość"
@ -47,6 +52,7 @@ deleteAndEditConfirm: "Czy na pewno chcesz usunąć ten wpis i zedytować go? Ut
addToList: "Dodaj do listy"
sendMessage: "Wyślij wiadomość"
copyUsername: "Kopiuj nazwę użytkownika"
searchUser: "Wyszukiwanie użytkowników"
reply: "Odpowiedz"
loadMore: "Załaduj więcej"
showMore: "Załaduj więcej"
@ -68,6 +74,7 @@ exportRequested: "Zażądałeś eksportu. Może to zająć trochę czasu. Po zak
\ zostanie on dodany do Twoich \"dysków\"."
importRequested: "Zażądano importu. Może to zająć chwilę."
lists: "Listy"
noLists: "Nie masz żadnych list"
note: "Utwórz wpis"
notes: "Wpisy"
following: "Obserwowani"
@ -92,15 +99,21 @@ followRequest: "Poproś o możliwość obserwacji"
followRequests: "Prośby o możliwość obserwacji"
unfollow: "Przestań obserwować"
followRequestPending: "Oczekująca prośba o możliwość obserwacji"
enterEmoji: "Wprowadź emoji"
renote: "Udostępnij"
unrenote: "Cofnij udostępnienie"
renoted: "Udostępniono."
cantRenote: "Ten wpis nie może zostać udostępniony."
cantReRenote: "Udostępnienie nie może zostać udostępnione."
quote: "Cytuj"
pinnedNote: "Przypięty wpis"
pinned: "Przypnij do profilu"
you: "Ty"
clickToShow: "Kliknij, aby wyświetlić"
sensitive: "NSFW"
add: "Dodaj"
reaction: "Reakcja"
reactionSetting: "Reakcje do pokazania w wyborniku reakcji"
reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć,\
\ naciśnij „+” aby dodać"
attachCancel: "Usuń załącznik"
@ -125,7 +138,10 @@ editWidgetsExit: "Gotowe"
customEmojis: "Niestandardowe emoji"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Nazwa emoji"
emojiUrl: "Adres URL emoji"
addEmoji: "Dodaj emoji"
settingGuide: "Proponowana konfiguracja"
cacheRemoteFiles: "Przechowuj zdalne pliki w pamięci podręcznej"
cacheRemoteFilesDescription: "Gdy ta opcja jest wyłączona, zdalne pliki są ładowane\
\ bezpośrednio ze zdalnych instancji. Wyłączenie the opcji zmniejszy użycie powierzchni\
@ -143,8 +159,10 @@ addAccount: "Dodaj konto"
loginFailed: "Nie udało się zalogować"
showOnRemote: "Zobacz na zdalnej instancji"
general: "Ogólne"
wallpaper: "Tapeta"
setWallpaper: "Ustaw tapetę"
removeWallpaper: "Usuń tapetę"
searchWith: "Szukaj: {q}"
youHaveNoLists: "Nie masz żadnej listy"
followConfirm: "Czy na pewno chcesz zaobserwować {name}?"
proxyAccount: "Konto proxy"
@ -153,19 +171,27 @@ selectUser: "Wybierz użytkownika"
recipient: "Odbiorca"
annotation: "Komentarze"
federation: "Federacja"
instances: "Instancja"
registeredAt: "Zarejestrowano"
latestRequestSentAt: "Ostatnie żądanie wysłano o"
latestRequestReceivedAt: "Ostatnie żądanie otrzymano o"
latestStatus: "Najnowszy status"
storageUsage: "Użycie pamięci"
charts: "Wykresy"
perHour: "co godzinę"
perDay: "co dzień"
stopActivityDelivery: "Przestań przesyłać aktywności"
blockThisInstance: "Zablokuj tę instancję"
operations: "Działania"
software: "Oprogramowanie"
version: "Wersja"
metadata: "Metadane"
withNFiles: "{n} plik(i)"
monitor: "Monitor"
jobQueue: "Kolejka zadań"
cpuAndMemory: "CPU i pamięć"
network: "Sieć"
disk: "Dysk"
instanceInfo: "Informacje o instancji"
statistics: "Statystyki"
clearQueue: "Wyczyść kolejkę"
@ -199,6 +225,9 @@ all: "Wszystkie"
subscribing: "Subskrybowanie"
publishing: "Publikowanie"
notResponding: "Nie odpowiada"
instanceFollowing: "Obserwowani na instancji"
instanceFollowers: "Obserwujący na instancji"
instanceUsers: "Użytkownicy tej instancji"
changePassword: "Zmień hasło"
security: "Bezpieczeństwo"
retypedNotMatch: "Wejście nie zgadza się."
@ -214,6 +243,7 @@ lookup: "Zapytania"
announcements: "Ogłoszenia"
imageUrl: "Adres URL obrazka"
remove: "Usuń"
removed: "Pomyślnie usunięto"
removeAreYouSure: "Czy na pewno chcesz usunąć „{x}”?"
deleteAreYouSure: "Czy na pewno chcesz usunąć „{x}”?"
resetAreYouSure: "Czy na pewno chcesz zresetować?"
@ -252,6 +282,7 @@ lightThemes: "Jasny motyw"
darkThemes: "Ciemny motyw"
syncDeviceDarkMode: "Synchronizuj ciemny motyw z ustawieniami urządzenia"
drive: "Dysk"
fileName: "Nazwa pliku"
selectFile: "Wybierz plik"
selectFiles: "Wybierz pliki"
selectFolder: "Wybierz folder"
@ -305,6 +336,7 @@ enableLocalTimeline: "Włącz lokalną oś czasu"
enableGlobalTimeline: "Włącz globalną oś czasu"
disablingTimelinesInfo: "Administratorzy i moderatorzy będą zawsze mieć dostęp do\
\ wszystkich osi czasu, nawet gdy są one wyłączone."
registration: "Zarejestruj się"
enableRegistration: "Włącz rejestrację nowych użytkowników"
invite: "Zaproś"
driveCapacityPerLocalAccount: "Powierzchnia dyskowa na lokalnego użytkownika"
@ -313,13 +345,25 @@ inMb: "W megabajtach"
iconUrl: "Adres URL ikony"
bannerUrl: "Adres URL banera"
backgroundImageUrl: "Adres URL tła"
basicInfo: "Podstawowe informacje"
pinnedUsers: "Przypięty użytkownik"
pinnedUsersDescription: "Wypisz po jednej nazwie użytkownika w wierszu. Podani użytkownicy\
\ zostaną przypięci pod kartą „Eksploruj”."
pinnedPages: "Przypięte strony"
pinnedPagesDescription: "Wprowadź ścieżki stron które chcesz przypiąć na głównej stronie\
\ instancji, oddzielone znakiem nowego wiersza."
pinnedClipId: "ID przypiętego klipu"
pinnedNotes: "Przypięty wpis"
hcaptcha: "hCaptcha"
enableHcaptcha: "Włącz hCaptcha"
hcaptchaSiteKey: "Klucz strony"
hcaptchaSecretKey: "Tajny klucz"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Włącz reCAPTCHA"
recaptchaSiteKey: "Klucz strony"
recaptchaSecretKey: "Tajny klucz"
avoidMultiCaptchaConfirm: "Używanie wielu Captchy może spowodować zakłócenia. Czy\
\ chcesz wyłączyć inną Captchę? Możesz zostawić wiele jednocześnie, klikając Anuluj."
antennas: "Anteny"
manageAntennas: "Zarządzaj Antenami"
name: "Nazwa"
@ -330,6 +374,7 @@ antennaKeywordsDescription: "Oddziel spacjami dla warunku AND, albo wymuś konie
\ dla warunku OR"
notifyAntenna: "Powiadamiaj o nowych wpisach"
withFileAntenna: "Filtruj tylko wpisy z załączonym plikiem"
enableServiceworker: "Włącz ServiceWorker"
antennaUsersDescription: "Wypisz po jednej nazwie użytkownika w linii"
caseSensitive: "Wielkość liter ma znaczenie"
withReplies: "Uwzględnij odpowiedzi"
@ -344,8 +389,11 @@ popularUsers: "Popularni użytkownicy"
recentlyUpdatedUsers: "Ostatnio aktywni użytkownicy"
recentlyRegisteredUsers: "Ostatnio zarejestrowani użytkownicy"
recentlyDiscoveredUsers: "Ostatnio odkryci użytkownicy"
exploreUsersCount: "Jest {count} użytkowników"
exploreFediverse: "Eksploruj Fediwersum"
popularTags: "Tagi na czasie"
userList: "Listy"
about: "Informacje"
aboutMisskey: "O FoundKey"
administrator: "Admin"
token: "Token"
@ -365,6 +413,7 @@ share: "Udostępnij"
notFound: "Nie znaleziono"
notFoundDescription: "Nie ma strony odpowiadającej określonemu adresowi URL."
uploadFolder: "Domyślne położenie wysłanych"
cacheClear: "Wyczyść pamięć podręczną"
markAsReadAllNotifications: "Oznacz wszystkie powiadomienia jako przeczytane"
markAsReadAllUnreadNotes: "Oznacz wszystkie wpisy jako przeczytane"
markAsReadAllTalkMessages: "Oznacz wszystkie wiadomości jako przeczytane"
@ -395,6 +444,7 @@ noMessagesYet: "Nie napisano jeszcze wiadomości"
newMessageExists: "Masz nową wiadomość"
onlyOneFileCanBeAttached: "Możesz załączyć tylko jeden plik do wiadomości"
signinRequired: "Proszę się zalogować"
invitations: "Zaproś"
invitationCode: "Kod zaproszenia"
checking: "Sprawdzam"
available: "Dostępna"
@ -415,6 +465,7 @@ or: "Lub"
language: "Język"
uiLanguage: "Język wyświetlania UI"
groupInvited: "Zaproszony(-a) do grupy"
aboutX: "O {x}"
useOsNativeEmojis: "Używaj natywnych Emoji systemu"
youHaveNoGroups: "Nie masz żadnych grup"
joinOrCreateGroup: "Uzyskaj zaproszenie do dołączenia do grupy lub utwórz własną grupę."
@ -423,17 +474,24 @@ signinHistory: "Historia logowania"
disableAnimatedMfm: "Wyłącz MFM z animacją"
category: "Kategoria"
tags: "Tagi"
docSource: "Źródło tego dokumentu"
createAccount: "Utwórz konto"
existingAccount: "Istniejące konto"
regenerate: "Wygeneruj ponownie"
fontSize: "Rozmiar czcionki"
noFollowRequests: "Nie masz żadnych oczekujących próśb o możliwość obserwacji"
openImageInNewTab: "Otwórz obraz w nowej karcie"
dashboard: "Kokpit"
local: "Lokalne"
remote: "Zdalny"
total: "Łącznie"
weekOverWeekChanges: "Cotygodniowo"
dayOverDayChanges: "Codziennie"
appearance: "Wygląd"
clientSettings: "Ustawienia klienta"
accountSettings: "Ustawienia konta"
numberOfDays: "Liczba dni"
hideThisNote: "Ukryj ten wpis"
showFeaturedNotesInTimeline: "Pokazuj wyróżnione wpisy w osi czasu"
objectStorage: "Pamięć obiektowa"
useObjectStorage: "Używaj pamięci obiektowej"
@ -455,6 +513,8 @@ objectStorageUseSSLDesc: "Wyłącz, jeżeli nie zamierzasz używać HTTPS dla po
objectStorageUseProxy: "Połącz przez proxy"
objectStorageUseProxyDesc: "Wyłącz, jeżeli nie zamierzasz używać proxy dla połączenia\
\ z pamięcią blokową"
serverLogs: "Dziennik zdarzeń"
deleteAll: "Usuń wszystkie"
showFixedPostForm: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu"
newNoteRecived: "Masz nowy wpis"
sounds: "Dźwięk"
@ -465,6 +525,7 @@ popout: "Popout"
volume: "Głośność"
masterVolume: "Głośność główna"
details: "Szczegóły"
chooseEmoji: "Wybierz emoji"
unableToProcess: "Nie udało się dokończyć działania."
recentUsed: "Ostatnio używane"
install: "Zainstaluj"
@ -481,7 +542,9 @@ scratchpad: "Brudnopis"
scratchpadDescription: "Brudnopis zawiera eksperymentalne środowisko dla AiScript.\
\ Możesz pisać, wykonywać i sprawdzać wyniki w interakcji z FoundKey."
output: "Wyjście"
script: "Skrypt"
updateRemoteUser: "Aktualizuj zdalne dane o użytkowniku"
deleteAllFiles: "Usuń wszystkie pliki"
deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?"
removeAllFollowingDescription: "Przestań obserwować wszystkie konta z {host}. Wykonaj\
\ to, jeżeli instancja już nie istnieje."
@ -492,7 +555,10 @@ addItem: "Dodaj element"
relays: "Przekaźniki"
addRelay: "Dodaj przekaźnik"
inboxUrl: "Adres URL skrzynki nadawczej"
addedRelays: "Dodane przekaźniki"
serviceworkerInfo: "Musi być włączone dla powiadomień push."
deletedNote: "Usunięty wpis"
invisibleNote: "Niewidzialny wpis"
enableInfiniteScroll: "Włącz nieskończone przewijanie"
visibility: "Widoczność"
poll: "Ankieta"
@ -502,12 +568,14 @@ disablePlayer: "Zamknij odtwarzacz wideo"
themeEditor: "Edytor motywu"
description: "Opis"
describeFile: "dodaj podpis"
enterFileDescription: "Wprowadź napis"
author: "Autor"
leaveConfirm: "Są niezapisane zmiany. Czy chcesz je odrzucić?"
manage: "Zarządzanie"
plugins: "Wtyczki"
deck: "Tablica"
useBlurEffectForModal: "Używaj efektu rozmycia w modalach"
useFullReactionPicker: "Używaj pełnowymiarowego wybornika reakcji"
width: "Szerokość"
height: "Wysokość"
large: "Duże"
@ -520,6 +588,7 @@ disableAll: "Wyłącz wszystko"
tokenRequested: "Przydziel dostęp do konta"
pluginTokenRequestedDescription: "Ta wtyczka będzie mogła korzystać z ustawionych\
\ tu uprawnień."
notificationType: "Rodzaj powiadomień"
edit: "Edytuj"
useStarForReactionFallback: "Użyj ★ jako zapasowego emoji, gdy emoji reakcji jest\
\ nieznane"
@ -543,7 +612,10 @@ userSaysSomething: "{name} powiedział(-a) coś"
makeActive: "Aktywuj"
display: "Wyświetlanie"
copy: "Kopiuj"
metrics: "Pomiary"
overview: "Przegląd"
logs: "Dzienniki"
delayed: "Opóźnione"
database: "Baza danych"
channel: "Kanały"
create: "Utwórz"
@ -559,6 +631,7 @@ regenerateLoginTokenDescription: "Regeneruje token używany wewnętrznie podczas
setMultipleBySeparatingWithSpace: "Możesz ustawić wiele, oddzielając je spacjami."
fileIdOrUrl: "ID pliku albo URL"
behavior: "Zachowanie"
sample: "Przykład"
abuseReports: "Zgłoszenia"
reportAbuse: "Zgłoś"
reportAbuseOf: "Zgłoś {name}"
@ -569,8 +642,12 @@ reporterOrigin: "Pochodzenie zgłaszającego"
send: "Wyślij"
abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane"
openInNewTab: "Otwórz w nowej karcie"
openInSideView: "Otwórz w bocznym widoku"
defaultNavigationBehaviour: "Domyślne zachowanie nawigacji"
editTheseSettingsMayBreakAccount: "Edycja tych ustawień może uszkodzić Twoje konto."
instanceTicker: "Informacje o wpisach instancji"
waitingFor: "Oczekiwanie na {x}"
random: "Losowe"
system: "System"
switchUi: "Przełącz interfejs użytkownika"
desktop: "Pulpit"
@ -607,12 +684,15 @@ loadRawImages: "Wyświetlaj zdjęcia w załącznikach w całości zamiast miniat
disableShowingAnimatedImages: "Nie odtwarzaj animowanych obrazów"
verificationEmailSent: "Wiadomość weryfikacyjna została wysłana. Odwiedź uwzględniony\
\ odnośnik, aby ukończyć weryfikację."
notSet: "Nie ustawiono"
emailVerified: "Adres e-mail został potwierdzony"
noteFavoritesCount: "Liczba polubionych wpisów"
pageLikesCount: "Liczba otrzymanych polubień stron"
pageLikedCount: "Liczba polubionych stron"
contact: "Kontakt"
useSystemFont: "Używaj domyślnej czcionki systemu"
experimentalFeatures: "Eksperymentalne funkcje"
developer: "Programista"
makeExplorable: "Pokazuj konto na stronie „Eksploruj”"
makeExplorableDescription: "Jeżeli wyłączysz tę opcję, Twoje konto nie będzie wyświetlać\
\ się w sekcji „Eksploruj”."
@ -625,16 +705,28 @@ narrow: "Wąskie"
reloadToApplySetting: "To ustawienie zostanie zastosowane po odświeżeniu strony. Chcesz\
\ odświeżyć?"
needReloadToApply: "To ustawienie zostanie zastosowane po odświeżeniu strony"
showTitlebar: "Pokazuj pasek tytułowy"
clearCache: "Wyczyść pamięć podręczną"
onlineUsersCount: "{n} osób jest online"
nUsers: "{n} użytkowników"
nNotes: "{n} wpisów"
myTheme: "Mój motyw"
backgroundColor: "Tło"
accentColor: "Akcent"
textColor: "Tekst"
saveAs: "Zapisz jako…"
advanced: "Zaawansowane"
value: "Wartość"
createdAt: "Utworzono"
updatedAt: "Zaktualizowano"
saveConfirm: "Zapisać zmiany?"
deleteConfirm: "Na pewno usunąć?"
invalidValue: "Nieprawidłowa wartość."
registry: "Rejestr"
closeAccount: "Zamknij konto"
currentVersion: "Bieżąca wersja"
latestVersion: "Najnowsza wersja"
youAreRunningUpToDateClient: "Korzystasz z najnowszej wersji klienta."
newVersionOfClientAvailable: "Nowsza wersja klienta jest dostępna."
usageAmount: "Użycie"
capacity: "Pojemność"
@ -644,9 +736,11 @@ apply: "Zastosuj"
receiveAnnouncementFromInstance: "Otrzymuj powiadomienia e-mail z tej instancji"
emailNotification: "Powiadomienia e-mail"
publish: "Publikuj"
inChannelSearch: "Szukaj na kanale"
useReactionPickerForContextMenu: "Otwórz wybornik reakcji prawym kliknięciem"
typingUsers: "{users} pisze(-ą)..."
jumpToSpecifiedDate: "Przejdź do określonej daty"
showingPastTimeline: "Obecnie wyświetla starą oś czasu"
clear: "Wróć"
markAllAsRead: "Oznacz wszystkie jako przeczytane"
goBack: "Wróć"
@ -661,6 +755,7 @@ notSpecifiedMentionWarning: "Ten wpis zawiera wzmianki o użytkownikach niezawar
info: "Informacje"
userInfo: "Informacje o użykowniku"
unknown: "Nieznane"
onlineStatus: "Status online"
hideOnlineStatus: "Ukryj status online"
hideOnlineStatusDescription: "Ukrywanie statusu online ogranicza wygody niektórych\
\ funkcji, tj. wyszukiwanie"
@ -686,19 +781,31 @@ gallery: "Galeria"
recentPosts: "Ostatnie wpisy"
popularPosts: "Popularne wpisy"
shareWithNote: "Udostępnij z wpisem"
expiration: "Ankieta kończy się"
memo: "Notatki"
priority: "Priorytet"
high: "Wysoki"
middle: "Średnie"
low: "Niski"
emailNotConfiguredWarning: "Nie podano adresu e-mail"
ratio: "Stosunek"
previewNoteText: "Pokaż podgląd"
customCss: "Własny CSS"
customCssWarn: "Używaj tego ustawienia tylko wtedy, gdy wiesz co ono robi. Nieprawidłowe\
\ wpisy mogą spowodować, że klient przestanie działać poprawnie."
global: "Globalna"
squareAvatars: "Wyświetlaj kwadratowe awatary"
sent: "Wyślij"
received: "Otrzymane"
hashtags: "Hashtag"
pubSub: "Konta Pub/Sub"
hide: "Ukryj"
indefinitely: "Nigdy"
_ffVisibility:
public: "Publikuj"
_ad:
back: "Wróć"
reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej"
_forgotPassword:
ifNoEmail: "Jeżeli nie podano adresu e-mail podczas rejestracji, skontaktuj się\
\ z administratorem zamiast tego."
@ -717,6 +824,7 @@ _email:
_plugin:
install: "Zainstaluj wtyczki"
installWarn: "Nie instaluj niezaufanych wtyczek."
manage: "Zarządzanie wtyczkami"
_registry:
scope: "Zakres"
key: "Klucz"
@ -725,8 +833,10 @@ _registry:
createKey: "Utwórz klucz"
_aboutMisskey:
about: "FoundKey jest oprogramowanie open source rozwijanym przez syuilo od 2014."
contributors: "Główni twórcy"
allContributors: "Wszyscy twórcy"
source: "Kod źródłowy"
translation: "Tłumacz FoundKey"
_nsfw:
respect: "Ukrywaj media NSFW"
ignore: "Nie ukrywaj mediów NSFW"
@ -810,6 +920,69 @@ _theme:
alreadyInstalled: "Motyw jest już zainstalowany"
invalid: "Format motywu jest nieprawidłowy."
make: "Utwórz motyw"
base: "Podstawowy"
addConstant: "Dodaj stałą"
constant: "Stała"
defaultValue: "Domyślna wartość"
color: "Kolor"
refProp: "Nawiąż do właściwości"
refConst: "Nawiąż do stałej"
key: "Klucz"
func: "Funkcje"
funcKind: "Rodzaj funkcji"
argument: "Argument"
basedProp: "Nawiązana właściwość"
alpha: "Przezroczystość"
darken: "Ściemnij"
lighten: "Rozjaśnij"
inputConstantName: "Wprowadź nazwę stałej"
importInfo: "Jeżeli wprowadzisz tu kod motywu, możesz zaimportować go w edytorze\
\ motywu"
deleteConstantConfirm: "Czy na pewno chcesz usunąć stała {const}?"
keys:
accent: "Akcent"
bg: "Tło"
fg: "Tekst"
focus: "Skupienie"
indicator: "Wskaźnik"
panel: "Panel"
shadow: "Cień"
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"
hashtag: "Hashtag"
mention: "Wspomnij"
mentionMe: "Wspomnienia (ja)"
renote: "Udostępnij"
modalBg: "Tło modalu"
divider: "Rozdzielacz"
scrollbarHandle: "Uchwyt paska przewijania"
scrollbarHandleHover: "Uchwyt paska przewijania (po najechaniu)"
dateLabelFg: "Tekst z datą"
infoBg: "Tło informacji"
infoFg: "Tekst informacji"
infoWarnBg: "Tło ostrzeżenia"
infoWarnFg: "Tekst ostrzeżenia"
cwBg: "Tło CW"
cwFg: "Tekst CW"
cwHoverBg: "Tło CW (po najechaniu)"
toastBg: "Tło powiadomień"
toastFg: "Tekst powiadomień"
buttonBg: "Tło przycisku"
buttonHoverBg: "Tło przycisku (po najechaniu)"
inputBorder: "Obramowanie pola wejścia"
listItemHoverBg: "Tło elementu listy (po najechaniu)"
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"
noteMy: "Mój wpis"
@ -1011,6 +1184,7 @@ _relayStatus:
accepted: "Zaakceptowano"
rejected: "Odrzucono"
_notification:
fileUploaded: "Pomyślnie wysłano plik"
youGotMention: "{name} wspomniał(a) o Tobie"
youGotReply: "{name} odpowiedział(a) Tobie"
youGotQuote: "{name} zacytował(a) Ciebie"
@ -1023,6 +1197,7 @@ _notification:
yourFollowRequestAccepted: "Twoja prośba o możliwość obserwacji została przyjęta"
youWereInvitedToGroup: "Zaproszony(-a) do grupy"
_types:
all: "Wszystkie"
follow: "Obserwowani"
mention: "Wspomnij"
reply: "Odpowiedzi"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Buscando no Fediverso"
ok: "OK"
gotIt: "Entendi"
cancel: "Cancelar"
enterUsername: "Digite o nome de usuário"
renotedBy: "Repostado por {user}"
noNotes: "Sem posts"
noNotifications: "Sem notificações"
@ -29,12 +30,16 @@ login: "Iniciar sessão"
loggingIn: "Iniciando sessão…"
logout: "Sair"
signup: "Registrar-se"
uploading: "Enviando…"
save: "Guardar"
users: "Usuários"
addUser: "Adicionar usuário"
favorite: "Favoritar"
favorites: "Favoritar"
unfavorite: "Remover dos favoritos"
favorited: "Adicionado aos favoritos."
alreadyFavorited: "Já adicionado aos favoritos."
cantFavorite: "Não foi possível adicionar aos favoritos."
pin: "Afixar no perfil"
unpin: "Desafixar do perfil"
copyContent: "Copiar conteúdos"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Tens a certeza que pretendes eliminar esta nota e editá-
addToList: "Adicionar a lista"
sendMessage: "Enviar uma mensagem"
copyUsername: "Copiar nome de utilizador"
searchUser: "Pesquisar utilizador"
reply: "Responder"
loadMore: "Carregar mais"
showMore: "Ver mais"
@ -67,6 +73,7 @@ exportRequested: "Pediste uma exportação. Este processo pode demorar algum tem
\ Será adicionado à tua Drive após a conclusão do processo."
importRequested: "Pediste uma importação. Este processo pode demorar algum tempo."
lists: "Listas"
noLists: "Não tens nenhuma lista"
note: "Post"
notes: "Posts"
following: "Seguindo"
@ -93,14 +100,20 @@ followRequest: "Mandar pedido de seguimento"
followRequests: "Pedidos de seguimento"
unfollow: "Deixar de seguir"
followRequestPending: "Pedido de seguimento pendente"
enterEmoji: "Inserir emoji"
renote: "Repostar"
renoted: "Repostado"
cantRenote: "Não pode repostar"
cantReRenote: "Não pode repostar este repost"
quote: "Citar"
pinnedNote: "Post fixado"
pinned: "Afixar no perfil"
you: "Você"
clickToShow: "Clique para ver"
sensitive: "Conteúdo sensível"
add: "Adicionar"
reaction: "Reações"
reactionSetting: "Quais reações a mostrar no selecionador de reações"
attachCancel: "Remover anexo"
markAsSensitive: "Marcar como sensível"
unmarkAsSensitive: "Desmarcar como sensível"
@ -123,14 +136,20 @@ editWidgetsExit: "Pronto"
customEmojis: "Emoji personalizado"
emoji: "Emoji"
emojis: "Emojis"
emojiName: "Nome do Emoji"
emojiUrl: "URL do Emoji"
addEmoji: "Adicionar um Emoji"
settingGuide: "Guia de configuração"
flagAsBot: "Marcar conta como robô"
flagAsCat: "Marcar conta como gato"
flagAsCatDescription: "Ative essa opção para marcar essa conta como gato."
flagShowTimelineReplies: "Mostrar respostas na linha de tempo"
general: "Geral"
wallpaper: "Papel de parede"
searchWith: "Buscar: {q}"
youHaveNoLists: "Não tem nenhuma lista"
followConfirm: "Tem certeza que quer deixar de seguir {name}?"
instances: "Instância"
registeredAt: "Registrado em"
perHour: "por hora"
perDay: "por dia"
@ -142,6 +161,7 @@ darkThemes: "Tema escuro"
addFile: "Adicionar arquivo"
nsfw: "Conteúdo sensível"
monthX: "mês de {month}"
pinnedNotes: "Post fixado"
userList: "Listas"
none: "Nenhum"
output: "Resultado"
@ -156,7 +176,10 @@ _mfm:
quote: "Citar"
emoji: "Emoji personalizado"
search: "Pesquisar"
_theme: {}
_theme:
keys:
mention: "Menção"
renote: "Repostar"
_sfx:
note: "Posts"
notification: "Notificações"
@ -179,6 +202,7 @@ _relayStatus:
accepted: "Aprovado"
rejected: "Recusado"
_notification:
fileUploaded: "Carregamento de arquivo efetuado com sucesso"
youGotMention: "{name} te mencionou"
youGotReply: "{name} te respondeu"
youGotQuote: "{name} te citou"
@ -192,6 +216,7 @@ _notification:
pollEnded: "Os resultados da enquete agora estão disponíveis"
emptyPushNotificationMessage: "As notificações de alerta foram atualizadas"
_types:
all: "Todos"
follow: "Seguindo"
mention: "Menção"
reply: "Respostas"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Se aduce din Fediverse..."
ok: "OK"
gotIt: "Am înțeles!"
cancel: "Anulează"
enterUsername: "Introdu numele de utilizator"
renotedBy: "Re-notat de {user}"
noNotes: "Nicio notă"
noNotifications: "Nicio notificare"
@ -29,12 +30,16 @@ login: "Autentifică-te"
loggingIn: "Se autentifică"
logout: "Deconectează-te"
signup: "Înregistrează-te"
uploading: "Se încarcă"
save: "Salvează"
users: "Utilizatori"
addUser: "Adăugă utilizator"
favorite: "Adaugă la favorite"
favorites: "Favorite"
unfavorite: "Elimină din favorite"
favorited: "Adăugat la favorite."
alreadyFavorited: "Deja adăugat la favorite."
cantFavorite: "Nu se poate adăuga la favorite."
pin: "Fixează pe profil"
unpin: "Anulati fixare"
copyContent: "Copiază conținutul"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Ești sigur că vrei să ștergi această notă și să o
addToList: "Adaugă în listă"
sendMessage: "Trimite un mesaj"
copyUsername: "Copiază numele de utilizator"
searchUser: "Caută un utilizator"
reply: "Răspunde"
loadMore: "Incarcă mai mult"
showMore: "Arată mai mult"
@ -67,6 +73,7 @@ exportRequested: "Ai cerut un export. S-ar putea să ia un pic. Va fi adăugat i
\ tău odată completat."
importRequested: "Ai cerut un import. S-ar putea să ia un pic."
lists: "Liste"
noLists: "Nu ai nici o listă"
note: "Notă"
notes: "Note"
following: "Urmărești"
@ -94,15 +101,21 @@ followRequest: "Trimite cerere de urmărire"
followRequests: "Cereri de urmărire"
unfollow: "Nu mai urmări"
followRequestPending: "Cerere de urmărire în așteptare"
enterEmoji: "Introdu un emoji"
renote: "Re-notează"
unrenote: "Ia înapoi re-nota"
renoted: "Re-notat."
cantRenote: "Această postare nu poate fi re-notată."
cantReRenote: "O re-notă nu poate fi re-notată."
quote: "Citează"
pinnedNote: "Notă fixată"
pinned: "Fixat pe profil"
you: "Tu"
clickToShow: "Click pentru a afișa"
sensitive: "NSFW"
add: "Adaugă"
reaction: "Reacție"
reactionSetting: "Reacții care să apară in selectorul de reacții"
reactionSettingDescription2: "Trage pentru a rearanja, apasă pe \"+\" pentru a adăuga."
attachCancel: "Înlătură atașament"
markAsSensitive: "Marchează ca NSFW"
@ -126,7 +139,10 @@ editWidgetsExit: "Terminat"
customEmojis: "Emoji personalizat"
emoji: "Emoji"
emojis: "Emoji-uri"
emojiName: "Numele emoji-ului"
emojiUrl: "URL-ul emoji-ului"
addEmoji: "Adaugă un emoji"
settingGuide: "Setări recomandate"
cacheRemoteFiles: "Ține fișierele externe in cache"
cacheRemoteFilesDescription: "Când această setare este dezactivată, fișierele externe\
\ sunt încărcate direct din instanța externă. Dezactivarea va scădea utilizarea\
@ -148,8 +164,10 @@ addAccount: "Adaugă un cont"
loginFailed: "Autentificare eșuată"
showOnRemote: "Vezi mai multe pe instanța externă"
general: "General"
wallpaper: "Imagine de fundal"
setWallpaper: "Setați imaginea de fundal"
removeWallpaper: "Șterge imagine de fundal"
searchWith: "Caută: {q}"
youHaveNoLists: "Nu ai nici o listă"
followConfirm: "Ești sigur ca vrei să urmărești pe {name}?"
proxyAccount: "Cont proxy"
@ -163,19 +181,27 @@ selectUser: "Selectează un utilizator"
recipient: "Destinatar"
annotation: "Adnotări"
federation: "Federație"
instances: "Instanțe"
registeredAt: "Înregistrat în"
latestRequestSentAt: "Ultima cerere trimisă"
latestRequestReceivedAt: "Ultima cerere primită"
latestStatus: "Ultimul status"
storageUsage: "Utilizare stocare"
charts: "Diagrame"
perHour: "Pe oră"
perDay: "Pe zi"
stopActivityDelivery: "Nu mai trimite activități"
blockThisInstance: "Blochează această instanță"
operations: "Operațiuni"
software: "Software"
version: "Versiune"
metadata: "Metadata"
withNFiles: "{n} fișier(e)"
monitor: "Monitor"
jobQueue: "coada de job-uri"
cpuAndMemory: "CPU și memorie"
network: "Rețea"
disk: "Disk"
instanceInfo: "Informații despre instanță"
statistics: "Statistici"
clearQueue: "Șterge coada"
@ -209,6 +235,9 @@ all: "Tot"
subscribing: "Abonare"
publishing: "Publicare"
notResponding: "Nu răspunde"
instanceFollowing: "Urmărind în instanță"
instanceFollowers: "Urmăritori ai instanței"
instanceUsers: "Utilizatori ai acestei instanțe"
changePassword: "Schimbă parolă"
security: "Securitate"
retypedNotMatch: "Intrările nu corespund"
@ -224,6 +253,7 @@ lookup: "Privire"
announcements: "Anunțuri"
imageUrl: "URL-ul imaginii"
remove: "Şterge"
removed: "Șterș cu succes"
removeAreYouSure: "Ești sigur că vrei să înlături {x}?"
deleteAreYouSure: "Ești sigur că vrei să ștergi {x}?"
resetAreYouSure: "Sigur vrei să resetezi?"
@ -265,6 +295,7 @@ lightThemes: "Teme luminoase"
darkThemes: "Teme întunecate"
syncDeviceDarkMode: "Sincronizează Modul Întunecat cu setările dispozitivului"
drive: "Drive"
fileName: "Nume fișier"
selectFile: "Alege un fisier"
selectFiles: "Alege fișiere"
selectFolder: "Selectează un folder"
@ -318,6 +349,7 @@ enableLocalTimeline: "Activează cronologia locală"
enableGlobalTimeline: "Activeaza cronologia globală"
disablingTimelinesInfo: "Administratorii și Moderatorii vor avea mereu access la toate\
\ cronologiile, chiar dacă nu sunt activate."
registration: "Inregistrare"
enableRegistration: "Activează înregistrările pentru utilizatori noi"
invite: "Invită"
driveCapacityPerLocalAccount: "Capacitatea Drive-ului per utilizator local"
@ -326,13 +358,26 @@ inMb: "În megabytes"
iconUrl: "URL-ul iconiței"
bannerUrl: "URL-ul imaginii de banner"
backgroundImageUrl: "URL-ul imaginii de fundal"
basicInfo: "Informații de bază"
pinnedUsers: "Utilizatori fixați"
pinnedUsersDescription: "Scrie utilizatorii, separați prin pauză de rând, care vor\
\ fi fixați pe pagina \"Explorează\"."
pinnedPages: "Pagini fixate"
pinnedPagesDescription: "Introdu linkurile Paginilor pe care le vrei fixate in vâruful\
\ paginii acestei instanțe, separate de pauze de rând."
pinnedClipId: "ID-ul clip-ului pe care să îl fixezi"
pinnedNotes: "Notă fixată"
hcaptcha: "hCaptcha"
enableHcaptcha: "Activează hCaptcha"
hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Activează reCAPTCHA"
recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret key"
avoidMultiCaptchaConfirm: "Folosirea mai multor sisteme Captcha poate cauza interferență\
\ între acestea. Ai dori să dezactivezi alte sisteme Captcha acum active? Dacă preferi\
\ să rămână activate, apasă Anulare."
antennas: "Antene"
manageAntennas: "Gestionează Antenele"
name: "Nume"
@ -343,6 +388,7 @@ antennaKeywordsDescription: "Separă cu spații pentru o condiție ȘI sau cu o
\ de rând pentru o condiție SAU."
notifyAntenna: "Notifică-mă pentru note noi"
withFileAntenna: "Doar note cu fișiere"
enableServiceworker: "Activează ServiceWorker"
antennaUsersDescription: "Scrie un nume de utilizator per linie"
caseSensitive: "Sensibil la majuscule și minuscule"
withReplies: "Include răspunsuri"
@ -357,8 +403,11 @@ popularUsers: "Utilizatori populari"
recentlyUpdatedUsers: "Utilizatori activi recent"
recentlyRegisteredUsers: "Utilizatori ce s-au alăturat recent"
recentlyDiscoveredUsers: "Utilizatori descoperiți recent"
exploreUsersCount: "Aici sunt {count} utilizatori"
exploreFediverse: "Explorează Fediverse-ul"
popularTags: "Taguri populare"
userList: "Liste"
about: "Despre"
aboutMisskey: "Despre FoundKey"
administrator: "Administrator"
token: "Token"
@ -378,6 +427,7 @@ share: "Distribuie"
notFound: "Nu a fost găsit"
notFoundDescription: "N-a fost găsită nicio pagină cu acest URL."
uploadFolder: "Folder implicit pentru încărcări"
cacheClear: "Golește cache-ul"
markAsReadAllNotifications: "Marchează toate notificările drept citit"
markAsReadAllUnreadNotes: "Marchează toate notele drept citit"
markAsReadAllTalkMessages: "Marchează toate mesajele drept citit"
@ -408,6 +458,7 @@ noMessagesYet: "Niciun mesaj încă"
newMessageExists: "Ai mesaje noi"
onlyOneFileCanBeAttached: "Poți atașa un singur fișier la un mesaj"
signinRequired: "Te rog autentifică-te"
invitations: "Invită"
invitationCode: "Cod de invitație"
checking: "Se verifică..."
available: "Disponibil"
@ -428,6 +479,7 @@ or: "Sau"
language: "Limbă"
uiLanguage: "Limba interfeței"
groupInvited: "Ai fost invitat într-un grup"
aboutX: "Despre {x}"
useOsNativeEmojis: "Folosește emojiuri native OS-ului"
disableDrawer: "Nu folosi meniuri în stil sertar"
youHaveNoGroups: "Nu ai niciun grup"
@ -435,19 +487,27 @@ joinOrCreateGroup: "Primește o invitație într-un grup sau creează unul nou."
noHistory: "Nu există istoric"
signinHistory: "Istoric autentificări"
disableAnimatedMfm: "Dezactivează MFM cu animații"
doing: "Se procesează..."
category: "Categorie"
tags: "Etichete"
docSource: "Sursa acestui document"
createAccount: "Creează un cont"
existingAccount: "Cont existent"
regenerate: "Regenerează"
fontSize: "Mărimea fontului"
noFollowRequests: "Nu ai nicio cerere de urmărire în așteptare"
openImageInNewTab: "Deschide imaginile în taburi noi"
dashboard: "Panou de control"
local: "Local"
remote: "Extern"
total: "Total"
weekOverWeekChanges: "Schimbări până săptămâna trecută"
dayOverDayChanges: "Schimbări până ieri"
appearance: "Aspect"
clientSettings: "Setări client"
accountSettings: "Setări cont"
numberOfDays: "Numărul zilelor"
hideThisNote: "Ascunde această notă"
showFeaturedNotesInTimeline: "Arată notele recomandate în cronologii"
objectStorage: "Object Storage"
useObjectStorage: "Folosește Object Storage"
@ -473,6 +533,8 @@ objectStorageUseProxy: "Conectează-te prin Proxy"
objectStorageUseProxyDesc: "Oprește această opțiune dacă vei nu folosi un Proxy pentru\
\ conexiunile API-ului"
objectStorageSetPublicRead: "Setează \"public-read\" pentru încărcare"
serverLogs: "Loguri server"
deleteAll: "Șterge tot"
showFixedPostForm: "Arată caseta de postare în vârful cronologie"
newNoteRecived: "Sunt note noi"
sounds: "Sunete"
@ -483,6 +545,7 @@ popout: "Scoate în afară"
volume: "Volum"
masterVolume: "Volumul principal"
details: "Detalii"
chooseEmoji: "Alege un emoji"
unableToProcess: "Această operație nu poate fi completată"
recentUsed: "Folosit recent"
install: "Instalează"
@ -500,7 +563,9 @@ scratchpadDescription: "Scratchpad-ul oferă un mediu de experimentare în AiScr
\ Poți scrie, executa și verifica rezultatele acestuia interacționând cu FoundKey\
\ în el."
output: "Ieșire"
script: "Script"
updateRemoteUser: "Actualizează informațiile utilizatorului extern"
deleteAllFiles: "Șterge toate fișierele"
deleteAllFilesConfirm: "Ești sigur că vrei să ștergi toate fișierele?"
removeAllFollowing: "Dezurmărește toți utilizatorii urmăriți"
removeAllFollowingDescription: "Asta va dez-urmări toate conturile din {host}. Te\
@ -517,7 +582,10 @@ addItem: "Adaugă element"
relays: "Relee"
addRelay: "Adaugă Releu"
inboxUrl: "URL-ul inbox-ului"
addedRelays: "Relee adăugate"
serviceworkerInfo: "Trebuie să fie activat pentru notificări push."
deletedNote: "Notă ștearsă"
invisibleNote: "Note ascunse"
enableInfiniteScroll: "Încarcă mai mult automat"
visibility: "Vizibilitate"
poll: "Sondaj"
@ -527,11 +595,13 @@ disablePlayer: "Închide player-ul video"
themeEditor: "Editor de teme"
description: "Descriere"
describeFile: "Adaugă titrări"
enterFileDescription: "Introdu titrările"
author: "Autor"
leaveConfirm: "Ai schimbări nesalvate. Vrei să renunți la ele?"
manage: "Gestionare"
plugins: "Pluginuri"
deck: "Deck"
undeck: "Părăsește Deck"
useBlurEffectForModal: "Folosește efect de blur pentru modale"
width: "Lăţime"
height: "Înălţime"
@ -545,6 +615,7 @@ disableAll: "Dezactivează tot"
tokenRequested: "Acordă acces la cont"
pluginTokenRequestedDescription: "Acest plugin va putea să folosească permisiunile\
\ setate aici."
notificationType: "Tipul notificării"
edit: "Editează"
useStarForReactionFallback: "Folosește ★ ca fallback dacă emoji-ul este necunoscut"
emailServer: "Server email"
@ -572,7 +643,10 @@ userSaysSomething: "{name} a spus ceva"
makeActive: "Activează"
display: "Arată"
copy: "Copiază"
metrics: "Metrici"
overview: "Privire de ansamblu"
logs: "Log-uri"
delayed: "Întârziate"
database: "Baza de date"
channel: "Canale"
create: "Crează"
@ -589,6 +663,7 @@ regenerateLoginTokenDescription: "Regenerează token-ul folosit intern în timpu
setMultipleBySeparatingWithSpace: "Separă mai multe intrări cu spații."
fileIdOrUrl: "Introdu ID sau URL"
behavior: "Comportament"
sample: "exemplu"
abuseReports: "Rapoarte"
reportAbuse: "Raportează"
reportAbuseOf: "Raportează {name}"
@ -603,7 +678,11 @@ forwardReportIsAnonymous: "În locul contului tău, va fi afișat un cont anonim
send: "Trimite"
abuseMarkAsResolved: "Marchează raportul ca rezolvat"
openInNewTab: "Deschide în tab nou"
openInSideView: "Deschide în vedere laterală"
defaultNavigationBehaviour: "Comportament de navigare implicit"
editTheseSettingsMayBreakAccount: "Editarea acestor setări îți pot defecta contul."
waitingFor: "Așteptând pentru {x}"
random: "Aleator"
system: "Sistem"
switchUi: "Schimbă UI"
desktop: "Desktop"
@ -611,6 +690,8 @@ clearCache: "Golește cache-ul"
info: "Despre"
user: "Utilizatori"
administration: "Gestionare"
middle: "Mediu"
sent: "Trimite"
_email:
_follow:
title: "te-a urmărit"
@ -621,6 +702,10 @@ _mfm:
search: "Caută"
_theme:
description: "Descriere"
keys:
mention: "Mențiune"
renote: "Re-notează"
divider: "Separator"
_sfx:
note: "Note"
notification: "Notificări"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Приём с других сайтов"
ok: "Окей"
gotIt: "Ясно!"
cancel: "Отмена"
enterUsername: "Введите имя пользователя"
renotedBy: "{user} делится"
noNotes: "Нет ни одной заметки"
noNotifications: "Нет ни одного уведомления"
@ -29,12 +30,16 @@ login: "Войти"
loggingIn: "Выполняется вход"
logout: "Выйти"
signup: "Регистрация"
uploading: "Загрузка..."
save: "Сохранить"
users: "Пользователи"
addUser: "Добавить пользователя"
favorite: "В избранное"
favorites: "Избранное"
unfavorite: "Убрать из избранного"
favorited: "Добавлено в избранное."
alreadyFavorited: "Уже есть в избранном."
cantFavorite: "Не удалось добавить в избранное."
pin: "Закрепить в профиле"
unpin: "Открепить от профиля"
copyContent: "Скопировать содержимое"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Удалить эту заметку и создать о
addToList: "Добавить в список"
sendMessage: "Отправить сообщение"
copyUsername: "Скопировать имя пользователя"
searchUser: "Поиск людей"
reply: "Ответить"
loadMore: "Показать еще"
showMore: "Показать еще"
@ -66,6 +72,7 @@ exportRequested: "Вы запросили экспорт. Это может за
\ будет добавлен на «Диск»."
importRequested: "Вы запросили импорт. Это может занять некоторое время."
lists: "Списки"
noLists: "Нет ни одного списка"
note: "Заметка"
notes: "Заметки"
following: "Подписки"
@ -91,15 +98,21 @@ followRequest: "Запрос на подписку"
followRequests: "Запросы на подписку"
unfollow: "Отписаться"
followRequestPending: "Нерассмотренный запрос на подписку"
enterEmoji: "Введите эмодзи"
renote: "Репост"
unrenote: "Отмена репоста"
renoted: "Репост совершён."
cantRenote: "Это нельзя репостить."
cantReRenote: "Невозможно репостить репост."
quote: "Цитата"
pinnedNote: "Закреплённая заметка"
pinned: "Закрепить в профиле"
you: "Вы"
clickToShow: "Нажмите для просмотра"
sensitive: "Содержимое не для всех"
add: "Добавить"
reaction: "Реакции"
reactionSetting: "Реакции, отображаемые в палитре"
reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте\
\ кнопкой «+»."
attachCancel: "Удалить вложение"
@ -124,7 +137,10 @@ editWidgetsExit: "Готово"
customEmojis: "Собственные эмодзи"
emoji: "Эмодзи"
emojis: "Эмодзи"
emojiName: "Название эмодзи"
emojiUrl: "URL эмодзи"
addEmoji: "Добавить эмодзи"
settingGuide: "Рекомендуемые настройки"
cacheRemoteFiles: "Кешировать внешние файлы"
cacheRemoteFilesDescription: "Когда эта настройка отключена, файлы с других сайтов\
\ будут загружаться прямо оттуда. Это сэкономит место на сервере, но увеличит трафик,\
@ -143,8 +159,10 @@ addAccount: "Добавить учётную запись"
loginFailed: "Неудачная попытка входа"
showOnRemote: "Перейти к оригиналу на сайт"
general: "Общее"
wallpaper: "Обои"
setWallpaper: "Установить обои"
removeWallpaper: "Удалить обои"
searchWith: "Найденное «{q}»"
youHaveNoLists: "У вас нет ни одного списка"
followConfirm: "Подписаться на {name}?"
proxyAccount: "Учётная запись прокси"
@ -158,19 +176,27 @@ selectUser: "Выберите пользователя"
recipient: "Кому"
annotation: "Описание"
federation: "Федерация"
instances: "Инстанс"
registeredAt: "Первое наблюдение"
latestRequestSentAt: "Последний отправленный запрос"
latestRequestReceivedAt: "Последний полученный запрос"
latestStatus: "Последний статус"
storageUsage: "Использовано"
charts: "Диаграммы"
perHour: "По часам"
perDay: "По дням"
stopActivityDelivery: "Остановить отправку обновлений активности"
blockThisInstance: "Блокировать этот инстанс"
operations: "Операции"
software: "Программы"
version: "Версия"
metadata: "Метаданные"
withNFiles: "Файлы, {n} шт."
monitor: "Монитор"
jobQueue: "Очередь заданий"
cpuAndMemory: "Процессор и память"
network: "Сеть"
disk: "Диск"
instanceInfo: "Информация об инстансе"
statistics: "Статистика"
clearQueue: "Очистить очередь"
@ -203,6 +229,9 @@ all: "Всё"
subscribing: "Подписка"
publishing: "Публикация"
notResponding: "Нет ответа"
instanceFollowing: "Подписанные на инстансе"
instanceFollowers: "Подписчики инстанса"
instanceUsers: "Пользователи инстанса"
changePassword: "Изменить пароль"
security: "Безопасность"
retypedNotMatch: "Не совпадают"
@ -218,6 +247,7 @@ lookup: "Запрос"
announcements: "Оповещения"
imageUrl: "Ссылка на изображение"
remove: "Удалить"
removed: "\uFEFFУдалено"
removeAreYouSure: "Хотите удалить «{x}»?"
deleteAreYouSure: "Хотите удалить «{x}»?"
resetAreYouSure: "На самом деле сбросить?"
@ -259,6 +289,7 @@ lightThemes: "Светлые темы"
darkThemes: "Тёмные темы"
syncDeviceDarkMode: "Синхронизировать с темным режимом устройства"
drive: "Диск"
fileName: "Имя файла"
selectFile: "Выберите файл"
selectFiles: "Выберите файлы"
selectFolder: "Выберите папку"
@ -311,6 +342,7 @@ enableLocalTimeline: "Включить локальную ленту"
enableGlobalTimeline: "Включить глобальную ленту"
disablingTimelinesInfo: "У администраторов и модераторов есть доступ ко всем лентам,\
\ даже если они отключены."
registration: "Регистрация"
enableRegistration: "Разрешить регистрацию"
invite: "Пригласить"
driveCapacityPerLocalAccount: "Объём диска на одного локального пользователя"
@ -319,13 +351,26 @@ inMb: "В мегабайтах"
iconUrl: "Ссылка на аватар"
bannerUrl: "Ссылка на изображение в шапке"
backgroundImageUrl: "Ссылка на фоновое изображение"
basicInfo: "Общая информация"
pinnedUsers: "Прикреплённый пользователь"
pinnedUsersDescription: "Перечислите по одному имени пользователя в строке. Пользователи,\
\ перечисленные здесь, будут привязаны к закладке \"Изучение\"."
pinnedPages: "Закрепленные страницы"
pinnedPagesDescription: "Если хотите закрепить страницы на главной сайта, сюда можно\
\ добавить пути к ним, каждый в отдельной строке."
pinnedClipId: "Идентификатор закреплённой подборки"
pinnedNotes: "Закреплённая заметка"
hcaptcha: "hCaptcha"
enableHcaptcha: "Включить hCaptcha"
hcaptchaSiteKey: "Ключ сайта"
hcaptchaSecretKey: "Секретный ключ"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Включить reCAPTCHA"
recaptchaSiteKey: "Ключ сайта"
recaptchaSecretKey: "Секретный ключ"
avoidMultiCaptchaConfirm: "Несколько способов проверки могут мешать друг другу. Подтвердите,\
\ если хотите отключить другие способы. Или нажмите «Отмена», чтобы оставить их\
\ включёнными."
antennas: "Антенны"
manageAntennas: "Настройки антенн"
name: "Название"
@ -337,6 +382,7 @@ antennaKeywordsDescription: "Пишите слова через пробел в
\ чтобы ловить любые из них."
notifyAntenna: "Уведомлять о новых заметках"
withFileAntenna: "Только заметки с вложениями"
enableServiceworker: "Включить ServiceWorker"
antennaUsersDescription: "Пишите каждое название аккаута на отдельной строке"
caseSensitive: "С учётом регистра"
withReplies: "Включая ответы"
@ -351,8 +397,11 @@ popularUsers: "Популярные пользователи"
recentlyUpdatedUsers: "Активные последнее время"
recentlyRegisteredUsers: "Недавно зарегистрированные пользователи"
recentlyDiscoveredUsers: "Недавно обнаруженные пользователи"
exploreUsersCount: "Пользователей: {count}"
exploreFediverse: "Исследуйте Fediverse"
popularTags: "Популярные теги"
userList: "Списки"
about: "Описание"
aboutMisskey: "О FoundKey"
administrator: "Администратор"
token: "Токен"
@ -372,6 +421,7 @@ share: "Поделиться"
notFound: "Не найдено"
notFoundDescription: "Страница по указанной ссылке не найдена"
uploadFolder: "Место загрузки по умолчанию"
cacheClear: "Очистка кэша"
markAsReadAllNotifications: "Отметить все уведомления как прочитанные"
markAsReadAllUnreadNotes: "Отметить все заметки как прочитанные"
markAsReadAllTalkMessages: "Отметить все реплики как прочитанные"
@ -402,6 +452,7 @@ noMessagesYet: "Пока ни одного сообщения"
newMessageExists: "Новое сообщение"
onlyOneFileCanBeAttached: "К сообщению можно прикрепить только один файл"
signinRequired: "Пожалуйста, войдите"
invitations: "Приглашения"
invitationCode: "Код приглашения"
checking: "Проверка"
available: "Доступно"
@ -423,6 +474,7 @@ or: "или"
language: "Язык"
uiLanguage: "Язык интерфейса"
groupInvited: "Приглашение в группу"
aboutX: "Описание {x}"
useOsNativeEmojis: "Использовать эмодзи операционной системы"
disableDrawer: "Не использовать выдвижные меню"
youHaveNoGroups: "У вас нет ни одной группы"
@ -430,19 +482,27 @@ joinOrCreateGroup: "Получайте приглашения в группы и
noHistory: "История пока пуста"
signinHistory: "Журнал посещений"
disableAnimatedMfm: "Отключение анимированной разметки MFM"
doing: "В процессе"
category: "Категория"
tags: "Метки"
docSource: "Источник документа"
createAccount: "Новая учётная запись"
existingAccount: "Существующая учётная запись"
regenerate: "Создать повторно"
fontSize: "Размер шрифта"
noFollowRequests: "Нерассмотренные запросы на подписку отсутствуют"
openImageInNewTab: "Открыть изображение в новой вкладке"
dashboard: "Панель управления"
local: "С этого сайта"
remote: "С других сайтов"
total: "Всего"
weekOverWeekChanges: "За неделю"
dayOverDayChanges: "За день"
appearance: "Внешний вид"
clientSettings: "Настройки клиента"
accountSettings: "Настройки учетной записи"
numberOfDays: "Количество дней"
hideThisNote: "Спрятать эту запись"
showFeaturedNotesInTimeline: "Показывать в ленте заметки из «Горячего»"
objectStorage: "Хранилище"
useObjectStorage: "Занято в хранилище"
@ -469,6 +529,8 @@ objectStorageUseProxy: "Использовать прокси"
objectStorageUseProxyDesc: "Отключите, если не будете испоьзовать прокси для соединений\
\ по протоколу ObjectStorage."
objectStorageSetPublicRead: "Устанавливать public-read при загрузке на сервер"
serverLogs: "Журнал сервера"
deleteAll: "Удалить всё"
showFixedPostForm: "Показывать поле для ввода новой заметки наверху ленты"
newNoteRecived: "Появилась новая заметка"
sounds: "Звуки"
@ -479,6 +541,7 @@ popout: "Развернуть"
volume: "Громкость"
masterVolume: "Основная регулировка громкости"
details: "Подробнее"
chooseEmoji: "Выберите эмодзи"
unableToProcess: "Не удаётся завершить операцию"
recentUsed: "Последние использованные"
install: "Установить"
@ -496,7 +559,9 @@ scratchpadDescription: "«Когтеточка» — это место для о
\ писать программы, взаимодействующие с FoundKey, запускать и смотреть что из этого\
\ получается."
output: "Выходы"
script: "Скрипт"
updateRemoteUser: "Обновить данные пользователя с его сервера"
deleteAllFiles: "Удалить все файлы"
deleteAllFilesConfirm: "Вы хотите удалить все файлы?"
removeAllFollowing: "Удалить всех подписчиков"
removeAllFollowingDescription: "Отменить все подписки с домена {host}? Пожалуйста,\
@ -513,7 +578,10 @@ addItem: "Добавить элемент"
relays: "Ретрансляторы"
addRelay: "Добавить ретранслятор"
inboxUrl: "URL ящика входящих сообщений"
addedRelays: "Добавленные ретрансляторы"
serviceworkerInfo: "Нужно включить, чтобы работали push-уведомления."
deletedNote: "Удалённая заметка"
invisibleNote: "Личное сообщение"
enableInfiniteScroll: "Включить бесконечную прокрутку"
visibility: "Видимость"
poll: "Опрос"
@ -523,12 +591,15 @@ disablePlayer: "Выключить проигрыватель"
themeEditor: "Редактор темы оформления"
description: "Описание"
describeFile: "Добавить подпись"
enterFileDescription: "Введите подпись"
author: "Автор"
leaveConfirm: "Вы не сохранили изменения. Хотите выйти и потерять их?"
manage: "Управление"
plugins: "Расширения"
deck: "Пульт"
undeck: "Покинуть пульт"
useBlurEffectForModal: "Размывка под формой поверх всего"
useFullReactionPicker: "Полнофункциональный выбор реакций"
width: "Ширина"
height: "Высота"
large: "Крупно"
@ -541,6 +612,7 @@ disableAll: "Выключить всё"
tokenRequested: "Открыть доступ к учётной записи"
pluginTokenRequestedDescription: "Это расширение сможет пользоваться разрешениями,\
\ установленными здесь."
notificationType: "Тип уведомления"
edit: "Изменить"
useStarForReactionFallback: "Ставить ★ в качестве реакции вместо неизвестного эмодзи"
emailServer: "Сервер электронной почты"
@ -566,7 +638,10 @@ userSaysSomething: "{name} что-то сообщает"
makeActive: "Активировать"
display: "Отображение"
copy: "Копировать"
metrics: "Метрики"
overview: "Обзор"
logs: "Журналы"
delayed: "Задержка"
database: "База данных"
channel: "Каналы"
create: "Создать"
@ -583,6 +658,7 @@ regenerateLoginTokenDescription: "Создаёт новый токен, испо
setMultipleBySeparatingWithSpace: "Можно написать несколько через пробел"
fileIdOrUrl: "Идентификатор файла или ссылка"
behavior: "Поведение"
sample: "Пример"
abuseReports: "Жалобы"
reportAbuse: "Жалоба"
reportAbuseOf: "Пожаловаться на пользователя {name}"
@ -596,8 +672,13 @@ forwardReportIsAnonymous: "Удаленный инстант не сможет
send: "Отправить"
abuseMarkAsResolved: "Отметить жалобу как решённую"
openInNewTab: "Открыть в новой вкладке"
openInSideView: "Открывать в боковой колонке"
defaultNavigationBehaviour: "Поведение навигации по умолчанию"
editTheseSettingsMayBreakAccount: "От изменений в этих настройках ваша учётная запись\
\ может поломаться."
instanceTicker: "Строка с названием инстанса в заметках"
waitingFor: "Ждём, когда {x} ответит"
random: "Случайные"
system: "Система"
switchUi: "Выбор вида"
desktop: "Стол"
@ -635,6 +716,7 @@ loadRawImages: "Сразу показывать изображения в пол
disableShowingAnimatedImages: "Не проигрывать анимацию"
verificationEmailSent: "Вам отправлено письмо для подтверждения. Пройдите, пожалуйста,\
\ по ссылке из письма, чтобы завершить проверку."
notSet: "Не настроено"
emailVerified: "Адрес электронной почты подтверждён."
noteFavoritesCount: "Количество добавленного в избранное"
pageLikesCount: "Количество понравившихся страниц"
@ -642,6 +724,8 @@ pageLikedCount: "Количество страниц, понравившихся
contact: "Как связаться"
useSystemFont: "Использовать шрифт, предлагаемый системой"
clips: "Подборки"
experimentalFeatures: "Экспериментальные функции"
developer: "Разработчик"
makeExplorable: "Опубликовать профиль в «Обзоре»."
makeExplorableDescription: "Если выключить, ваш профиль не будет показан в разделе\
\ «Обзор»."
@ -654,16 +738,28 @@ narrow: "Тонкий"
reloadToApplySetting: "Это настройка вступает в силу при загрузке страницы. Перезагрузить\
\ сейчас?"
needReloadToApply: "Изменения вступят в силу после перезагрузки страницы."
showTitlebar: "Показать заголовок"
clearCache: "Очистить кэш"
onlineUsersCount: "Пользователей сейчас в сети: {n}"
nUsers: "Пользователей: {n}"
nNotes: "Заметок: {n}"
myTheme: "Личная тема"
backgroundColor: "Фон"
accentColor: "Акцент"
textColor: "Текст"
saveAs: "Сохранить под названием…"
advanced: "Для продвинутых"
value: "Значения"
createdAt: "Создано"
updatedAt: "Обновлено"
saveConfirm: "Сохранить изменения?"
deleteConfirm: "Удалить?"
invalidValue: "Недопустимое значение."
registry: "Реестр"
closeAccount: "Закрыть учётную запись"
currentVersion: "Используемая версия"
latestVersion: "Самая свежая версия"
youAreRunningUpToDateClient: "У вас самая свежая версия клиента."
newVersionOfClientAvailable: "Доступна более свежая версия клиента."
usageAmount: "Использовано"
capacity: "Ёмкость"
@ -673,9 +769,11 @@ apply: "Применить"
receiveAnnouncementFromInstance: "Получать оповещения с инстанса"
emailNotification: "Уведомления по электронной почте"
publish: "Опубликовать"
inChannelSearch: "Поиск по каналу"
useReactionPickerForContextMenu: "Открывать палитру реакций правой кнопкой"
typingUsers: "Стук клавиш. Это {users}…"
jumpToSpecifiedDate: "Перейти к заданной дате"
showingPastTimeline: "Отображается старая лента"
clear: "Очистить"
markAllAsRead: "Отметить всё как прочитанное"
goBack: "Выход"
@ -690,6 +788,7 @@ notSpecifiedMentionWarning: "В этой заметке есть упомина
info: "Описание"
userInfo: "Сведения о пользователе"
unknown: "Неизвестно"
onlineStatus: "Присутствие в сети"
hideOnlineStatus: "Скрыть присутствие"
hideOnlineStatusDescription: "Сокрытие присутствия делает некоторые функции, такие\
\ как поиск, менее удобными."
@ -716,13 +815,22 @@ gallery: "Галерея"
recentPosts: "Недавние публикации"
popularPosts: "Популярные публикации"
shareWithNote: "Поделиться заметкой"
expiration: "Опрос длится"
memo: "Памятка"
priority: "Приоритет"
high: "Высокий"
middle: "Средне"
low: "Низкий"
emailNotConfiguredWarning: "Не указан адрес электронной почты"
ratio: "Соотношение"
previewNoteText: "Предварительный просмотр"
customCss: "Индивидуальный CSS"
customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки\
\ здесь чреваты тем, что сайт перестанет нормально работать у вас."
global: "Всеобщая"
squareAvatars: "Квадратные аватарки"
sent: "Отправить"
received: "Получено"
searchResult: "Результаты поиска"
hashtags: "Хэштег"
troubleshooting: "Разрешение проблем"
@ -802,6 +910,9 @@ _accountDelete:
requestAccountDelete: "Запросить удаление вашей учетной записи"
started: "Процесс удаления начался."
inProgress: "Удаление в процессе"
_ad:
back: "Выход"
reduceFrequencyOfThisAd: "Реже показывать эту рекламу"
_forgotPassword:
enterEmail: "Введите адрес электронной почты, который ввели при регистрации. На\
\ неё будет выслана ссылка для смены пароля."
@ -822,6 +933,7 @@ _email:
_plugin:
install: "Установка расширений"
installWarn: "Пожалуйста, не устанавливайте расширения, которым не доверяете."
manage: "Управление расширениями"
_registry:
scope: "Область"
key: "Ключ"
@ -831,8 +943,10 @@ _registry:
_aboutMisskey:
about: "FoundKey — программа с открытым исходным кодом, которую разрабатывает syuilo\
\ с 2014 года."
contributors: "Основные соавторы"
allContributors: "Все соавторы"
source: "Исходный код"
translation: "Перевод FoundKey"
_nsfw:
respect: "Скрывать содержимое не для всех"
ignore: "Показывать содержимое не для всех"
@ -958,6 +1072,69 @@ _theme:
alreadyInstalled: "Тема уже установлена."
invalid: "Формат темы некорректный."
make: "Создать тему"
base: "Основа"
addConstant: "Добавить константу"
constant: "Константа"
defaultValue: "По умолчанию"
color: "Цвет"
refProp: "Ссылка на свойство"
refConst: "Ссылка на константу"
key: "Ключ"
func: "Функции"
funcKind: "Тип функции"
argument: "Аргумент"
basedProp: "Исходное свойство"
alpha: "Непрозрачность"
darken: "Затемнение"
lighten: "Осветление"
inputConstantName: "Введите имя для константы."
importInfo: "Если вы введете код темы здесь, вы можете импортировать его в редактор\
\ тем."
deleteConstantConfirm: "Вы действительно хотите удалить константу {const}?"
keys:
accent: "Акцент"
bg: "Фон"
fg: "Текст"
focus: "Фокус"
indicator: "Индикатор"
panel: "Панель"
shadow: "Тень"
header: "Заголовок"
navBg: "Фон боковой панели"
navFg: "Текст на боковой панели"
navHoverFg: "Текст на боковой панели (под указателем)"
navActive: "Текст на боковой панели (активирован)"
navIndicator: "Индикатор на боковой панели"
link: "Ссылка"
hashtag: "Хэштег"
mention: "Упоминание"
mentionMe: "Упоминания вас"
renote: "Репост"
modalBg: "Фон формы поверх страницы"
divider: "Разделитель"
scrollbarHandle: "Ползунок прокрутки"
scrollbarHandleHover: "Ползунок прокрутки (под указателем)"
dateLabelFg: "Текст отметки даты"
infoBg: "Фон сообщения"
infoFg: "Текст сообщения"
infoWarnBg: "Фон предупреждения"
infoWarnFg: "Текст предупреждения"
cwBg: "Фон предупреждения о содержимом"
cwFg: "Текст предупреждения о содержимом"
cwHoverBg: "Фон предупреждения о содержимом (под указателем)"
toastBg: "Фон оповещения"
toastFg: "Текст оповещения"
buttonBg: "Фон кнопки"
buttonHoverBg: "Текст кнопки"
inputBorder: "Рамка поля ввода"
listItemHoverBg: "Фон пункта списка (под указателем)"
driveFolderBg: "Фон папки «Диска»"
wallpaperOverlay: "Слой обоев"
badge: "Значок"
messageBg: "Фон беседы"
accentDarken: "Фон (затемнённый)"
accentLighten: "Фон (осветлённый)"
fgHighlighted: "Подсвеченный текст"
_sfx:
note: "Заметки"
noteMy: "Собственные заметки"
@ -1239,6 +1416,7 @@ _relayStatus:
accepted: "Одобрено."
rejected: "Отказано."
_notification:
fileUploaded: "Файл успешно загружен."
youGotMention: "{name} упоминает вас."
youGotReply: "{name} отвечает вам."
youGotQuote: "{name} цитирует вас."
@ -1251,6 +1429,7 @@ _notification:
yourFollowRequestAccepted: "Ваш запрос на подписку одобрен."
youWereInvitedToGroup: "Вы приглашены в группу."
_types:
all: "Все"
follow: "Подписки"
mention: "Упоминания"
reply: "Ответы"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Načítam údaje z Fediverzu"
ok: "OK"
gotIt: "Rozumiem!"
cancel: "Zrušiť"
enterUsername: "Zadajte meno používateľa"
renotedBy: "{user} preposlal/a"
noNotes: "Žiadne poznámky"
noNotifications: "Žiadne oznámenia"
@ -29,12 +30,16 @@ login: "Prihlásiť sa"
loggingIn: "Prebieha prihlasovanie"
logout: "Odhlásiť"
signup: "Registrovať"
uploading: "Nahrávanie..."
save: "Uložiť"
users: "Používatelia"
addUser: "Pridať používateľa"
favorite: "Páči sa mi"
favorites: "Obľúbené"
unfavorite: "Nepáči sa mi"
favorited: "Pridané do obľúbených"
alreadyFavorited: "Už je medzi obľúbenými"
cantFavorite: "Nepodarilo sa pridať medzi obľúbené."
pin: "Pripnúť"
unpin: "Odopnúť"
copyContent: "Kopírovať obsah"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Naozaj chcete odstrániť túto poznámku a upraviť ju?
addToList: "Pridať do zoznamu"
sendMessage: "Odoslať správu"
copyUsername: "Kopírovať meno používateľa"
searchUser: "Hľadať používateľov"
reply: "Odpovedať"
loadMore: "Zobraziť viac"
showMore: "Zobraziť viac"
@ -67,6 +73,7 @@ exportRequested: "Vyžiadali ste export. Môže to chvíľu trvať. Po skončen
\ na vašom disku."
importRequested: "Požiadali ste o export. Môže to chvíľu trvať."
lists: "Zoznamy"
noLists: "Nemáte žiadne zoznamy"
note: "Poznámka"
notes: "Poznámky"
following: "Sledujete"
@ -91,15 +98,21 @@ followRequest: "Požiadať o sledovanie"
followRequests: "Žiadosti o sledovanie"
unfollow: "Nesledovať"
followRequestPending: "Žiadosť o sledovanie čaká"
enterEmoji: "Zadajte emoji"
renote: "Preposlať"
unrenote: "Vrátiť preposlanie"
renoted: "Preposlané."
cantRenote: "Tento príspevok sa nedá preposlať."
cantReRenote: "Odpoveď nemôže byť odstránená."
quote: "Citovať"
pinnedNote: "Pripnuté poznámky"
pinned: "Pripnúť"
you: "Vy"
clickToShow: "Kliknutím zobrazíte"
sensitive: "NSFW"
add: "Pridať"
reaction: "Reakcie"
reactionSetting: "Reakcie zobrazené vo výbere reakcií"
reactionSettingDescription2: "Ťahaním preusporiadate, kliknutím odstránite, Stlačením\
\ \"+\" pridáte"
attachCancel: "Odstrániť prílohu"
@ -124,7 +137,10 @@ editWidgetsExit: "Hotovo"
customEmojis: "Vlastné emoji"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Názov emoji"
emojiUrl: "URL obrázku"
addEmoji: "Pridať emoji"
settingGuide: "Odporúčané nastavenia"
cacheRemoteFiles: "Cachovanie vzdialených súborov"
cacheRemoteFilesDescription: "Zakázanie tohoto nastavenia spôsobí, že vzdialené súbory\
\ budú odkazované priamo, namiesto ukladania do cache. Ušetrí sa tak miesto na serveri,\
@ -143,8 +159,10 @@ addAccount: "Pridať účet"
loginFailed: "Prihlásenie sa nepodarilo."
showOnRemote: "Zobraziť na vzdialenom serveri"
general: "Všeobecné"
wallpaper: "Tapeta"
setWallpaper: "Nastaviť tapetu"
removeWallpaper: "Odstrániť tapetu"
searchWith: "Hľadať: {q}"
youHaveNoLists: "Nemáte žiadne zoznamy"
followConfirm: "Naozaj chcete sledovať {name}?"
proxyAccount: "Proxy účet"
@ -158,19 +176,27 @@ selectUser: "Vyberte používateľa"
recipient: "Prijímateľ"
annotation: "Komentáre"
federation: "Federácia"
instances: "Inštancia"
registeredAt: "Registrácia"
latestRequestSentAt: "Posledná odoslaná požiadavka"
latestRequestReceivedAt: "Posledná prijatá požiadavka"
latestStatus: "Posledný status"
storageUsage: "Využité úložisko"
charts: "Grafy"
perHour: "za hodinu"
perDay: "za deň"
stopActivityDelivery: "Zastaviť posielanie aktivít"
blockThisInstance: "Blokovať tento server"
operations: "Operácie"
software: "Softvér"
version: "Verzia"
metadata: "Metadáta"
withNFiles: "{n} súbor(ov)"
monitor: "Monitor"
jobQueue: "Fronta úloh"
cpuAndMemory: "CPU a pamäť"
network: "Sieť"
disk: "Disk"
instanceInfo: "Informácie o serveri"
statistics: "Štatistiky"
clearQueue: "Vyčistiť frontu"
@ -203,6 +229,9 @@ all: "Všetko"
subscribing: "Odoberanie"
publishing: "Zverejňovanie"
notResponding: "Neodpovedá"
instanceFollowing: "Sledujem na serveri"
instanceFollowers: "Sledujúci zo servera"
instanceUsers: "Používatelia servera"
changePassword: "Zmeniť heslo"
security: "Zabezpečenie"
retypedNotMatch: "Zadané vstupy nesúhlasia"
@ -218,6 +247,7 @@ lookup: "Vyhľadať"
announcements: "Oznamy"
imageUrl: "URL obrázku"
remove: "Odstrániť"
removed: "Odstránené"
removeAreYouSure: "Naozaj chcete odstrániť \"{x}\"?"
deleteAreYouSure: "Naozaj chcete odstrániť \"{x}\"?"
resetAreYouSure: "Naozaj resetovať?"
@ -259,6 +289,7 @@ lightThemes: "Svetlá téma"
darkThemes: "Tmavá téma"
syncDeviceDarkMode: "Synchronizovať tmavú tému s nastavení vášho systému"
drive: "Disk"
fileName: "Názov súboru"
selectFile: "Vyberte súbor"
selectFiles: "Vyberte súbory"
selectFolder: "Vyberte priečinok"
@ -312,6 +343,7 @@ enableLocalTimeline: "Povoliť lokálnu časovú os"
enableGlobalTimeline: "Povoliť globálnu časovú os"
disablingTimelinesInfo: "Administrátori a moderátori majú vždy prístup ku všetkým\
\ časovým osiam, aj keď sú vypnuté."
registration: "Registrácia"
enableRegistration: "Povoliť registráciu nových používateľov"
invite: "Pozvať"
driveCapacityPerLocalAccount: "Kapacita disku pre používateľa"
@ -320,13 +352,26 @@ inMb: "V megabajtoch"
iconUrl: "Favicon URL"
bannerUrl: "URL obrázku bannera"
backgroundImageUrl: "URL obrázku pozadia"
basicInfo: "Základné informácie"
pinnedUsers: "Pripnutí používatelia"
pinnedUsersDescription: "Zoznam mien používateľov oddelených riadkami, ktorý budú\
\ pripnutí v záložke \"Objavovať\"."
pinnedPages: "Pripnuté stránky"
pinnedPagesDescription: "Na každý riadok zadajte cesty stránok, ktoré chcete pripnúť\
\ na vrch stránky tohoto servera."
pinnedClipId: "ID pripnutého klipu"
pinnedNotes: "Pripnuté poznámky"
hcaptcha: "hCaptcha"
enableHcaptcha: "Zapnúť hCaptchu"
hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnúť ReCAPTCHA"
recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret key"
avoidMultiCaptchaConfirm: "Použitie viacerých Captcha systémov môže sposobiť problémy.\
\ Chcete radšej vypnúť ostatné Captcha systémy? Môžete ich povoliť viaceré stlačení\
\ Zrušiť."
antennas: "Antény"
manageAntennas: "Spravovať antény"
name: "Názov"
@ -337,6 +382,7 @@ antennaKeywordsDescription: "Oddeľte medzerami pre podmienku AND alebo novými
\ pre podmienku OR."
notifyAntenna: "Upozorniť na nové poznámky"
withFileAntenna: "Len poznámky so súbormi"
enableServiceworker: "Povoliť Service Worker"
antennaUsersDescription: "Zoznam používateľov jeden na riadok"
caseSensitive: "Rozlišuje malé a veľké písmená"
withReplies: "Vrátane odpovedí"
@ -351,8 +397,11 @@ popularUsers: "Populárni používatelia"
recentlyUpdatedUsers: "Používatelia s najnovšou aktivitou"
recentlyRegisteredUsers: "Najnovší používatelia"
recentlyDiscoveredUsers: "Naposledy objavení používatelia"
exploreUsersCount: "Existuje {count} používateľov"
exploreFediverse: "Objavovať Fediverzum"
popularTags: "Populárne značky"
userList: "Zoznamy"
about: "Informácie"
aboutMisskey: "O FoundKey"
administrator: "Administrátor"
token: "Token"
@ -372,6 +421,7 @@ share: "Zdieľať"
notFound: "Nenájdené"
notFoundDescription: "Nenašla sa žiadna stránka na zadanej URL."
uploadFolder: "Predvolený priečinok pre nahrávanie"
cacheClear: "Vyčistiť cache"
markAsReadAllNotifications: "Označiť všetky oznámenia ako prečítané"
markAsReadAllUnreadNotes: "Označiť všetky poznámky ako prečítané"
markAsReadAllTalkMessages: "Označiť všetky správy ako prečítané"
@ -402,6 +452,7 @@ noMessagesYet: "Zatiaľ žiadne správy"
newMessageExists: "Máte novú správu"
onlyOneFileCanBeAttached: "Ku správe môžete priložiť len jeden súbor"
signinRequired: "Prihláste sa, prosím!"
invitations: "Pozvať"
invitationCode: "Kód pozvánky"
checking: "Overujem..."
available: "Dostupné"
@ -421,6 +472,7 @@ or: "Alebo"
language: "Jazyk"
uiLanguage: "Jazyk používateľského prostredia"
groupInvited: "Pozvať do skupiny"
aboutX: "O {x}"
useOsNativeEmojis: "Používať natívne emoji z OS"
disableDrawer: "Nepoužívať šuflíkové menu"
youHaveNoGroups: "Nemáte žiadne skupiny"
@ -428,19 +480,27 @@ joinOrCreateGroup: "Požiadajte o pozvanie do existujúcej skupiny alebo vytvort
noHistory: "Žiadna história"
signinHistory: "História prihlásení"
disableAnimatedMfm: "Vypnúť MFM s animáciou"
doing: "Pracujem..."
category: "Kategórie"
tags: "Značky"
docSource: "Zdroj tohoto dokumentu"
createAccount: "Vytvoriť účet"
existingAccount: "Existujúci účet"
regenerate: "Pregenerovať"
fontSize: "Veľkosť písma"
noFollowRequests: "Nemáte nijaké čakajúce žiadosti o sledovanie"
openImageInNewTab: "Otvoriť obrázok v novom tabe"
dashboard: "Prehľad"
local: "Lokálne"
remote: "Vzdialené"
total: "Celkom"
weekOverWeekChanges: "Medzitýždňové zmeny"
dayOverDayChanges: "Medzidenné zmeny"
appearance: "Vzhľad"
clientSettings: "Nastavenia klienta"
accountSettings: "Nastavenia účtu"
numberOfDays: "Počet dní"
hideThisNote: "Skryť túto poznámku"
showFeaturedNotesInTimeline: "Zobraziť významné poznámky v časovej osi"
objectStorage: "Objektové úložisko"
useObjectStorage: "Použiť objektové úložisko"
@ -463,6 +523,8 @@ objectStorageUseSSLDesc: "Vypnite to ak nechcete použiť HTTPS na API spojenia.
objectStorageUseProxy: "Pripájať cez Proxy"
objectStorageUseProxyDesc: "Vypnite ak nechcete, aby spojenia na API išli cez Proxy"
objectStorageSetPublicRead: "Pri nahratí nastaviť \"public-read\""
serverLogs: "Logy servera"
deleteAll: "Odstrániť všetko"
showFixedPostForm: "Zobraziť formulár na nové príspevky nad časovou osou"
newNoteRecived: "Sú nové poznámky"
sounds: "Zvuky"
@ -473,6 +535,7 @@ popout: "Pop-out"
volume: "Hlasitosť"
masterVolume: "Celková hlasitosť"
details: "Detaily"
chooseEmoji: "Vybrať emoji"
unableToProcess: "Operáciu sa nepodarilo dokončiť."
recentUsed: "Neposledy použité"
install: "Nainštalovať"
@ -489,7 +552,9 @@ scratchpad: "Zápisník"
scratchpadDescription: "Zápisník poskytuje prostredia pre experimenty s AiScriptom.\
\ Môžete písať, spúšťať a skúšať vysledky pri interakcii s FoundKey."
output: "Výstup"
script: "Skript"
updateRemoteUser: "Aktualizovať informácie o vzdialenom účte"
deleteAllFiles: "Odstrániť všetky súbory"
deleteAllFilesConfirm: "Naozaj chcete odstrániť všetky súbory"
removeAllFollowing: "Zrušiť sledovani všetkých používateľov"
removeAllFollowingDescription: "Týmto zrušíte sledovanie všetkých používateľov z {host}.\
@ -506,7 +571,10 @@ addItem: "Pridať položku"
relays: "Prenos"
addRelay: "Pridať prenos"
inboxUrl: "Inbox URL"
addedRelays: "Pridané prenosy"
serviceworkerInfo: "Musí byť zapnuté pre push notifikácie."
deletedNote: "Odstránené príspevky"
invisibleNote: "Skryté príspevky"
enableInfiniteScroll: "Zapnúť nekonečné skrolovanie"
visibility: "Viditeľnosť"
poll: "Hlasovanie"
@ -516,12 +584,14 @@ disablePlayer: "Zavrieť video prehrávač"
themeEditor: "Editor tém"
description: "Popis"
describeFile: "Pridať nadpis"
enterFileDescription: "Zadajte nadpis"
author: "Autor"
leaveConfirm: "Máte neuložené zmeny. Chcete ich zahodiť?"
manage: "Administrácia"
plugins: "Pluginy"
deck: "Deck"
useBlurEffectForModal: "Použiť efekt rozmazania na okná"
useFullReactionPicker: "Použiť plnú veľkosť výberu reakcií"
width: "Šírka"
height: "Výška"
large: "Veľké"
@ -534,6 +604,7 @@ disableAll: "Vypnúť všetko"
tokenRequested: "Povoliť prístup k účtu"
pluginTokenRequestedDescription: "Tento plugin bude môcť používať oprávnenia nastavené\
\ tu."
notificationType: "Typ oznámenia"
edit: "Upraviť"
useStarForReactionFallback: "Použiť ★ keď emoji reakcie nie je známe"
emailServer: "Email server"
@ -559,7 +630,10 @@ userSaysSomething: "{name} niečo povedal/a"
makeActive: "Aktivovať"
display: "Zobraziť"
copy: "Kopírovať"
metrics: "Metriky"
overview: "Prehľad"
logs: "Logy"
delayed: "Oneskorené"
database: "Databáza"
channel: "Kanály"
create: "Vytvoriť"
@ -575,6 +649,7 @@ regenerateLoginTokenDescription: "Pregeneruje token interne používaný počas
setMultipleBySeparatingWithSpace: "Viaceré položky oddeľte medzerami."
fileIdOrUrl: "ID alebo URL súboru"
behavior: "Správanie"
sample: "Ukážka"
abuseReports: "Nahlásenia"
reportAbuse: "Nahlásiť"
reportAbuseOf: "Nahlásiť {name}"
@ -589,8 +664,12 @@ forwardReportIsAnonymous: "Namiesto vášho účtu bude zobrazený anonymný sys
send: "Poslať"
abuseMarkAsResolved: "Označiť nahlásenia ako vyriešené"
openInNewTab: "Otvoriť v novom tabe"
openInSideView: "Otvoriť v bočnom paneli"
defaultNavigationBehaviour: "Predvolené správanie navigácie"
editTheseSettingsMayBreakAccount: "Úpravou týchto nastavení si môžete pokaziť účet."
instanceTicker: "Informácie servera o poznámkach"
waitingFor: "Čaká sa na {x}"
random: "Náhodné"
system: "Systém"
switchUi: "Prepnúť UI"
desktop: "Desktop"
@ -628,6 +707,7 @@ loadRawImages: "Načítať originálne obrázky namiesto miniatúr"
disableShowingAnimatedImages: "Neprehrávať animované obrázky"
verificationEmailSent: "Odoslali sme overovací email. Overenie dokončíte kliknutím\
\ na odkaz v emaili."
notSet: "Nenastavené"
emailVerified: "Email overený"
noteFavoritesCount: "Počet obľúbených poznámok"
pageLikesCount: "Počet obľúbených stránok"
@ -635,6 +715,8 @@ pageLikedCount: "Počet prijatých \"páči sa mi\""
contact: "Kontakt"
useSystemFont: "Použiť predvolené systémové písmo"
clips: "Klip"
experimentalFeatures: "Experimentálne funkcie"
developer: "Vývojár"
makeExplorable: "Spraviť účet viditeľný v \"Objavovať\""
makeExplorableDescription: "Ak toto vypnete, váš účet sa nezobrazí v sekcii \"Objavovat\"\
."
@ -647,16 +729,28 @@ narrow: "Úzko"
reloadToApplySetting: "Toto nastavenia sa prejaví až po obnovení stránky. Obnoviť\
\ teraz?"
needReloadToApply: "Toto nastavenie sa prejaví až po obnovení stránky."
showTitlebar: "Zobraziť riadok s nadpisom"
clearCache: "Vyprázdniť cache"
onlineUsersCount: "{n} používateľov je online"
nUsers: "{n} používateľov"
nNotes: "{n} poznámok"
myTheme: "Moja téma"
backgroundColor: "Pozadie"
accentColor: "Akcent"
textColor: "Text"
saveAs: "Uložiť ako..."
advanced: "Rozšírené"
value: "Hodnoty"
createdAt: "Vytvorené"
updatedAt: "Upravené"
saveConfirm: "Uložiť zmeny?"
deleteConfirm: "Naozaj odstrániť?"
invalidValue: "Nesprávna hodnota."
registry: "Register"
closeAccount: "Zavrieť účet"
currentVersion: "Aktuálna verzia"
latestVersion: "Najnovšia verzia"
youAreRunningUpToDateClient: "Používate najnovšiu verziu vášho klienta."
newVersionOfClientAvailable: "Je dostupná novšia verzia vášho klienta."
usageAmount: "Využitie"
capacity: "Kapacita"
@ -666,9 +760,11 @@ apply: "Použiť"
receiveAnnouncementFromInstance: "Prijať notifikácie z tohoto servera"
emailNotification: "Emailové upozornenia"
publish: "Zverejniť"
inChannelSearch: "Hľadať v kanáli"
useReactionPickerForContextMenu: "Otvoriť výber reakcií na pravý klik"
typingUsers: "{users} píše/u"
jumpToSpecifiedDate: "Skočiť na konkrétny dátum"
showingPastTimeline: "Práve vidíte starú časovú os"
clear: "Vrátiť"
markAllAsRead: "Označiť všetko ako prečítané"
goBack: "Späť"
@ -683,6 +779,7 @@ notSpecifiedMentionWarning: "Táto poznámka obsahuje spomenutých používateľ
info: "Informácie"
userInfo: "Informácie o používateľovi"
unknown: "Neznáme"
onlineStatus: "Online status"
hideOnlineStatus: "Skryť online status"
hideOnlineStatusDescription: "Skrytie vášho online statusu zníži pohodlnosť niektorých\
\ funkcií ako napríklad vyhľadávanie."
@ -709,13 +806,22 @@ gallery: "Galéria"
recentPosts: "Najnovšie príspevky"
popularPosts: "Populárne príspevky"
shareWithNote: "Zdieľať s poznámkou"
expiration: "Ukončiť hlasovanie"
memo: "Memo"
priority: "Priorita"
high: "Vysoká"
middle: "Stredné"
low: "Málo"
emailNotConfiguredWarning: "Nie je nastavená emailová adresa."
ratio: "Pomer"
previewNoteText: "Zobraziť náhľad"
customCss: "Vlastné CSS"
customCssWarn: "Toto nastavenie by sa malo používať iba ak viete čo robíte. Zadanie\
\ nesprávnych hodnôt môže spôsobiť nenormálne správanie klienta."
global: "Globálne"
squareAvatars: "Zobrazovať štvorcové avatary"
sent: "Poslať"
received: "Prijaté"
searchResult: "Výsledky hľadania"
hashtags: "Hashtagy"
troubleshooting: "Riešenie problémov"
@ -802,6 +908,9 @@ _accountDelete:
requestAccountDelete: "Požiadať o zmazanie účtu"
started: "Odstraňovanie začalo."
inProgress: "Odstraňovanie prebieha"
_ad:
back: "Späť"
reduceFrequencyOfThisAd: "Túto reklamu zobrazovať menej"
_forgotPassword:
enterEmail: "Zadajte emailovú adresu, ktorú ste použili pri registrácii. Pošleme\
\ vám na ňu odkaz, cez ktorý si môžete obnoviť heslo."
@ -821,6 +930,7 @@ _email:
_plugin:
install: "Inštalova pluginy"
installWarn: "Prosím neinštalujte nedôveryhodné pluginy."
manage: "Spravovanie pluginov"
_registry:
scope: "Oblasť"
key: "Kľúč"
@ -829,8 +939,10 @@ _registry:
createKey: "Vytvoriť kľúč"
_aboutMisskey:
about: "FoundKey je open-source softvér, ktorý vyvíja syuilo od 2014."
contributors: "Hlavní prispievatelia"
allContributors: "Všetci prispievatelia"
source: "Zdrojový kód"
translation: "Preložiť FoundKey"
_nsfw:
respect: "Skryť NSFW médiá"
ignore: "Neskrývať NSFW médiá"
@ -955,6 +1067,68 @@ _theme:
alreadyInstalled: "Táto téma je už nainštalovaná"
invalid: "Formát tejto témy je nesprávny"
make: "Vytvoriť tému"
base: "Základ"
addConstant: "Pridať konštantu"
constant: "Konštanta"
defaultValue: "Predvolená hodnota"
color: "Farba"
refProp: "Odkaz na vlastnosť"
refConst: "Odkaz na konštantu"
key: "Kľúč"
func: "Funkcie"
funcKind: "Typ funkcie"
argument: "Argument"
basedProp: "Odkazovaná vlastnosť"
alpha: "Priehľadnosť"
darken: "Stmaviť"
lighten: "Zosvetliť"
inputConstantName: "Zadajte názov tejto konštanty"
importInfo: "Ak sem zadáte kód témy, môžete ju importovať do editora tém."
deleteConstantConfirm: "Naozaj chcete odstrániť konštantu {const}?"
keys:
accent: "Akcent"
bg: "Pozadie"
fg: "Text"
focus: "Fokus"
indicator: "Indikátor"
panel: "Panel"
shadow: "Tieň"
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"
hashtag: "Hashtag"
mention: "Zmienka"
mentionMe: "Zmienky (mňa)"
renote: "Preposlať"
modalBg: "Pozadie modálu"
divider: "Oddeľovač"
scrollbarHandle: "Rúčka scrollbaru"
scrollbarHandleHover: "Rúčka scrollbaru (pod kurzorom)"
dateLabelFg: "Text dátového popisku"
infoBg: "Pozadie informácií"
infoFg: "Informačný text"
infoWarnBg: "Pozadie varovania"
infoWarnFg: "Text varovania"
cwBg: "CW pozadie tlačidla"
cwFg: "CW text tlačidla"
cwHoverBg: "CW pozadie tlačidla (pod kurzorom)"
toastBg: "Pozadie upozornenia"
toastFg: "Text upozornenia"
buttonBg: "Pozadie tlačidla"
buttonHoverBg: "Pozadie tlačidla (pod kurzorom)"
inputBorder: "Okraj vstupného poľa"
listItemHoverBg: "Pozadie položky zoznamu (pod kurzorom)"
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"
noteMy: "Vlastná poznámka"
@ -1235,6 +1409,7 @@ _relayStatus:
accepted: "Akceptované"
rejected: "Odmietnuté"
_notification:
fileUploaded: "Súbor sa úspešne nahral"
youGotMention: "{name} vás spomenul/a"
youGotReply: "{name} vám odpovedal/a"
youGotQuote: "{name} vás citoval/a"
@ -1248,6 +1423,7 @@ _notification:
youWereInvitedToGroup: "Pozvať do skupiny"
pollEnded: "Výsledky hlasovania sú k dispozícii."
_types:
all: "Všetky"
follow: "Sledujete"
mention: "Zmienka"
reply: "Odpovede"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Hämtar från Fediversum..."
ok: "OK"
gotIt: "Uppfattat!"
cancel: "Avbryt"
enterUsername: "Ange användarnamn"
renotedBy: "Omnoterad av {user}"
noNotes: "Inga noteringar"
noNotifications: "Inga aviseringar"
@ -29,12 +30,16 @@ login: "Logga in"
loggingIn: "Loggar in"
logout: "Logga ut"
signup: "Registrera"
uploading: "Uppladdning sker..."
save: "Spara"
users: "Användare"
addUser: "Lägg till användare"
favorite: "Lägg till i favoriter"
favorites: "Favoriter"
unfavorite: "Avfavorisera"
favorited: "Tillagd i favoriter."
alreadyFavorited: "Redan tillagd i favoriter."
cantFavorite: "Gick inte att lägga till i favoriter."
pin: "Fäst till profil"
unpin: "Lossa från profil"
copyContent: "Kopiera innehåll"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Är du säker att du vill radera denna not och ändra den
addToList: "Lägg till i lista"
sendMessage: "Skicka ett meddelande"
copyUsername: "Kopiera användarnamn"
searchUser: "Sök användare"
reply: "Svara"
loadMore: "Ladda mer"
showMore: "Visa mer"
@ -67,6 +73,7 @@ exportRequested: "Du har begärt en export. Detta kan ta lite tid. Den kommer l
\ till i din Drive när den blir klar."
importRequested: "Du har begärt en import. Detta kan ta lite tid."
lists: "Listor"
noLists: "Du har inga listor"
note: "Not"
notes: "Noter"
following: "Följer"
@ -92,15 +99,21 @@ followRequest: "Skicka följarförfrågan"
followRequests: "Följarförfrågningar"
unfollow: "Avfölj"
followRequestPending: "Följarförfrågning avvaktar för svar"
enterEmoji: "Skriv en emoji"
renote: "Omnotera"
unrenote: "Ta tillbaka omnotering"
renoted: "Omnoterad."
cantRenote: "Inlägget kunde inte bli omnoterat."
cantReRenote: "En omnotering kan inte bli omnoterad."
quote: "Citat"
pinnedNote: "Fästad not"
pinned: "Fäst till profil"
you: "Du"
clickToShow: "Klicka för att visa"
sensitive: "Känsligt innehåll"
add: "Lägg till"
reaction: "Reaktioner"
reactionSetting: "Reaktioner som ska visas i reaktionsväljaren"
reactionSettingDescription2: "Dra för att omordna, klicka för att radera, tryck \"\
+\" för att lägga till."
attachCancel: "Ta bort bilaga"
@ -125,7 +138,10 @@ editWidgetsExit: "Avsluta redigering"
customEmojis: "Anpassa emoji"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Emoji namn"
emojiUrl: "Emoji länk"
addEmoji: "Lägg till emoji"
settingGuide: "Rekommenderade inställningar"
cacheRemoteFiles: "Spara externa filer till cachen"
cacheRemoteFilesDescription: "När denna inställning är avstängd kommer externa filer\
\ laddas direkt från den externa instansen. Genom att stänga av detta kommer lagringsutrymme\
@ -146,8 +162,10 @@ addAccount: "Lägg till konto"
loginFailed: "Inloggningen misslyckades"
showOnRemote: "Se på extern instans"
general: "Allmänt"
wallpaper: "Bakgrundsbild"
setWallpaper: "Välj bakgrund"
removeWallpaper: "Ta bort bakgrund"
searchWith: "Sök: {q}"
youHaveNoLists: "Du har inga listor"
followConfirm: "Är du säker att du vill följa {name}?"
proxyAccount: "Proxykonto"
@ -161,19 +179,27 @@ selectUser: "Välj användare"
recipient: "Mottagare"
annotation: "Kommentarer"
federation: "Federation"
instances: "Instanser"
registeredAt: "Registrerad på"
latestRequestSentAt: "Senaste förfrågan skickad"
latestRequestReceivedAt: "Senaste begäran mottagen"
latestStatus: "Senaste status"
storageUsage: "Använt lagringsutrymme"
charts: "Diagram"
perHour: "Per timme"
perDay: "Per dag"
stopActivityDelivery: "Sluta skicka aktiviteter"
blockThisInstance: "Blockera instans"
operations: "Operationer"
software: "Mjukvara"
version: "Version"
metadata: "Metadata"
withNFiles: "{n} fil(er)"
monitor: "Övervakning"
jobQueue: "Jobbkö"
cpuAndMemory: "CPU och minne"
network: "Nätverk"
disk: "Disk"
instanceInfo: "Instansinformation"
statistics: "Statistik"
clearQueue: "Rensa kö"
@ -206,6 +232,9 @@ all: "Allt"
subscribing: "Prenumererar"
publishing: "Publiceras"
notResponding: "Svarar inte"
instanceFollowing: "Följer på instans"
instanceFollowers: "Följare av instans"
instanceUsers: "Användare av denna instans"
changePassword: "Ändra lösenord"
security: "Säkerhet"
retypedNotMatch: "Inmatningen matchar inte"
@ -221,6 +250,7 @@ lookup: "Sökning"
announcements: "Nyheter"
imageUrl: "Bild-URL"
remove: "Radera"
removed: "Borttaget"
removeAreYouSure: "Är du säker att du vill radera \"{x}\"?"
deleteAreYouSure: "Är du säker att du vill radera \"{x}\"?"
resetAreYouSure: "Vill du återställa?"
@ -229,6 +259,7 @@ messaging: "Chatt"
upload: "Ladda upp"
keepOriginalUploading: "Behåll originalbild"
nsfw: "Känsligt innehåll"
pinnedNotes: "Fästad not"
userList: "Listor"
smtpHost: "Värd"
smtpUser: "Användarnamn"
@ -243,7 +274,10 @@ _mfm:
quote: "Citat"
emoji: "Anpassa emoji"
search: "Sök"
_theme: {}
_theme:
keys:
mention: "Nämn"
renote: "Omnotera"
_sfx:
note: "Noter"
notification: "Notifikationer"

View file

@ -14,6 +14,7 @@ forgotPassword: "şifremi unuttum"
ok: "TAMAM"
gotIt: "Anladım"
cancel: "İptal"
enterUsername: "Kullanıcı adınızı giriniz"
noNotes: "Notlar mevcut değil."
noNotifications: "Bildirim bulunmuyor"
settings: "Ayarlar"
@ -26,11 +27,14 @@ noAccountDescription: "Bu kullanıcı henüz biyografisini yazmadı"
login: "Giriş Yap "
logout: ıkış Yap"
signup: "Kayıt Ol"
uploading: "Yükleniyor"
users: "Kullanıcı"
addUser: "Kullanıcı Ekle"
favorite: "Favoriler"
favorites: "Favoriler"
unfavorite: "Favorilerden Kaldır"
favorited: "Favorilerime eklendi."
alreadyFavorited: "Zaten favorilerinizde kayıtlı."
pin: "Sabitlenmiş"
unpin: "Sabitlemeyi kaldır"
copyContent: "İçeriği kopyala"
@ -42,6 +46,8 @@ deleteAndEditConfirm: "Bu notu silip yeniden düzenlemek istiyor musunuz? Bu not
addToList: "Listeye ekle"
sendMessage: "Mesaj Gönder"
copyUsername: "Kullanıcı Adını Kopyala"
searchUser: "Kullanıcıları ara"
pinned: "Sabitlenmiş"
remove: "Sil"
smtpUser: "Kullanıcı Adı"
smtpPass: "Şifre"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Отримуємо з федіверсу..."
ok: "OK"
gotIt: "Зрозуміло!"
cancel: "Скасувати"
enterUsername: "Введіть ім'я користувача"
renotedBy: "Поширено {user}"
noNotes: "Немає нотаток"
noNotifications: "Немає сповіщень"
@ -29,12 +30,16 @@ login: "Увійти"
loggingIn: "Здійснюємо вхід..."
logout: "Вийти"
signup: "Реєстрація"
uploading: "Завантаження..."
save: "Зберегти"
users: "Користувачі"
addUser: "Додати користувача"
favorite: "Обране"
favorites: "Обране"
unfavorite: "Видалити з обраного"
favorited: "Додано до вподобаних."
alreadyFavorited: "Вже додано до вподобаних."
cantFavorite: "Неможливо вподобати."
pin: "Закріпити"
unpin: "Відкріпити"
copyContent: "Скопіювати контент"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Ви впевнені, що хочете видалити
addToList: "Додати до списку"
sendMessage: "Надіслати повідомлення"
copyUsername: "Скопіювати ім’я користувача"
searchUser: "Пошук користувачів"
reply: "Відповісти"
loadMore: "Показати більше"
showMore: "Показати більше"
@ -67,6 +73,7 @@ exportRequested: "Експортування розпочато. Це може
\ експорту отриманий файл буде додано на диск."
importRequested: "Імпортування розпочато. Це може зайняти деякий час."
lists: "Списки"
noLists: "Немає списків"
note: "Запис"
notes: "Записи"
following: "Підписки"
@ -92,15 +99,21 @@ followRequest: "Запит на підписку"
followRequests: "Запити на підписку"
unfollow: "Відписатись"
followRequestPending: "Очікуючі запити на підписку"
enterEmoji: "Введіть емодзі"
renote: "Поширити"
unrenote: "Відміна поширення"
renoted: "Поширити запис."
cantRenote: "Неможливо поширити."
cantReRenote: "Поширення не можливо поширити."
quote: "Цитата"
pinnedNote: "Закріплений запис"
pinned: "Закріпити"
you: "Ви"
clickToShow: "Натисніть для перегляду"
sensitive: "NSFW"
add: "Додати"
reaction: "Реакції"
reactionSetting: "Налаштування реакцій"
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб\
\ видалити, Натиснути \"+\" щоб додати."
attachCancel: "Видалити вкладення"
@ -125,7 +138,10 @@ editWidgetsExit: "Готово"
customEmojis: "Кастомні емоджі"
emoji: "Емоджі"
emojis: "Емоджі"
emojiName: "Назва емоджі"
emojiUrl: "URL емодзі"
addEmoji: "Додати емодзі"
settingGuide: "Рекомендована конфігурація"
cacheRemoteFiles: "Кешувати дані з інших інстансів"
cacheRemoteFilesDescription: "Якщо кешування вимкнено, віддалені файли завантажуються\
\ безпосередньо з віддаленого інстансу. Це зменшує використання сховища, але збільшує\
@ -145,8 +161,10 @@ addAccount: "Додати акаунт"
loginFailed: "Не вдалося увійти"
showOnRemote: "Переглянути в оригіналі"
general: "Загальне"
wallpaper: "Шпалери"
setWallpaper: "Встановити шпалери"
removeWallpaper: "Прибрати шпалери"
searchWith: "Пошук: {q}"
youHaveNoLists: "У вас немає списків"
followConfirm: "Підписатися на {name}?"
proxyAccount: "Проксі-акаунт"
@ -160,19 +178,27 @@ selectUser: "Виберіть користувача"
recipient: "Отримувач"
annotation: "Коментарі"
federation: "Федіверс"
instances: "Інстанс"
registeredAt: "Приєднався(лась)"
latestRequestSentAt: "Останній запит надіслано"
latestRequestReceivedAt: "Останній запит прийнято"
latestStatus: "Останній статус"
storageUsage: "Використання простору"
charts: "Графіки"
perHour: "Щогодинно"
perDay: "Щоденно"
stopActivityDelivery: "Припинити розсилання активності"
blockThisInstance: "Заблокувати цей інстанс"
operations: "Операції"
software: "Програмне забезпечення"
version: "Версія"
metadata: "Метадані"
withNFiles: "файли: {n}"
monitor: "Монітор"
jobQueue: "Черга завдань"
cpuAndMemory: "ЦП та пам'ять"
network: "Мережа"
disk: "Диск"
instanceInfo: "Про цей інстанс"
statistics: "Статистика"
clearQueue: "Очистити чергу"
@ -205,6 +231,9 @@ all: "Всі"
subscribing: "Підписка"
publishing: "Публікація"
notResponding: "Не відповідає"
instanceFollowing: "Підписка на інстанс"
instanceFollowers: "Підписники інстансу"
instanceUsers: "Користувачі цього інстансу"
changePassword: "Змінити пароль"
security: "Безпека"
retypedNotMatch: "Введені дані не збігаються."
@ -220,6 +249,7 @@ lookup: "Пошук"
announcements: "Оголошення"
imageUrl: "Посилання на зображення"
remove: "Видалити"
removed: "Видалено"
removeAreYouSure: "Ви впевнені, що хочете видалити \"{x}\"?"
deleteAreYouSure: "Ви впевнені, що хочете видалити \"{x}\"?"
resetAreYouSure: "Справді скинути?"
@ -260,6 +290,7 @@ lightThemes: "Світлі теми"
darkThemes: "Темні теми"
syncDeviceDarkMode: "Синхронізувати темний режим із налаштуваннями вашого пристрою"
drive: "Диск"
fileName: "Ім'я файлу"
selectFile: "Вибрати файл"
selectFiles: "Вибрати файли"
selectFolder: "Вибрати теку"
@ -312,6 +343,7 @@ enableLocalTimeline: "Увімкнути локальну стрічку"
enableGlobalTimeline: "Увімкнути глобальну стрічку"
disablingTimelinesInfo: "Адміністратори та модератори завжди мають доступ до всіх\
\ стрічок, навіть якщо вони вимкнуті."
registration: "Реєстрація"
enableRegistration: "Дозволити реєстрацію"
invite: "Запросити"
driveCapacityPerLocalAccount: "Об'єм диска на одного локального користувача"
@ -320,13 +352,26 @@ inMb: "В мегабайтах"
iconUrl: "URL аватара"
bannerUrl: "URL банера"
backgroundImageUrl: "URL-адреса фонового зображення"
basicInfo: "Основна інформація"
pinnedUsers: "Закріплені користувачі"
pinnedUsersDescription: "Впишіть в список користувачів, яких хочете закріпити на сторінці\
\ \"Знайти\", ім'я в стовпчик."
pinnedPages: "Закріплені сторінки"
pinnedPagesDescription: "Введіть шляхи сторінок, які ви бажаєте закріпити на головній\
\ сторінці цього інстанса, розділені новими рядками."
pinnedClipId: "Ідентифікатор закріпленої замітки."
pinnedNotes: "Закріплена нотатка"
hcaptcha: "hCaptcha"
enableHcaptcha: "Увімкнути hCaptcha"
hcaptchaSiteKey: "Ключ сайту"
hcaptchaSecretKey: "Секретний ключ"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Увімкнути reCAPTCHA"
recaptchaSiteKey: "Ключ сайту"
recaptchaSecretKey: "Секретний ключ"
avoidMultiCaptchaConfirm: "Використання кількох систем Captcha може спричинити перешкоди\
\ між ними. Бажаєте вимкнути інші активні системи Captcha? Якщо ви хочете, щоб вони\
\ залишалися ввімкненими, натисніть «Скасувати»."
antennas: "Антени"
manageAntennas: "Налаштування антен"
name: "Ім'я"
@ -337,6 +382,7 @@ antennaKeywordsDescription: "Розділення ключових слів пр
\ лінійки для \"АБО\""
notifyAntenna: "Сповіщати про нові нотатки"
withFileAntenna: "Тільки нотатки з вкладеними файлами"
enableServiceworker: "Ввімкнути ServiceWorker"
antennaUsersDescription: "Список імя користувачів в стопчик"
caseSensitive: "З урахуванням регістру"
withReplies: "Включаючи відповіді"
@ -351,8 +397,11 @@ popularUsers: "Популярні користувачі"
recentlyUpdatedUsers: "Нещодавно активні користувачі"
recentlyRegisteredUsers: "Нещодавно зареєстровані користувачі"
recentlyDiscoveredUsers: "Нещодавно знайдені користувачі"
exploreUsersCount: "{count} користувачів"
exploreFediverse: "Огляд федіверсу"
popularTags: "Популярні теги"
userList: "Списки"
about: "Інформація"
aboutMisskey: "Про FoundKey"
administrator: "Адмін"
token: "Токен"
@ -372,6 +421,7 @@ share: "Поділитись"
notFound: "Не знайдено"
notFoundDescription: "Сторінка за вказаною адресою не знайдена."
uploadFolder: "Місце для завантаження за замовчуванням"
cacheClear: "Очистити кеш"
markAsReadAllNotifications: "Позначити всі сповіщення як прочитані"
markAsReadAllUnreadNotes: "Позначити всі нотатки як прочитані"
markAsReadAllTalkMessages: "Позначити всі повідомлення як прочитані"
@ -402,6 +452,7 @@ noMessagesYet: "Ще немає повідомлень"
newMessageExists: "Є нові повідомлення"
onlyOneFileCanBeAttached: "До повідомлення можна вкласти лише один файл"
signinRequired: "Будь ласка, авторизуйтесь"
invitations: "Запрошення"
invitationCode: "Код запрошення"
checking: "Перевірка…"
available: "Доступно"
@ -421,6 +472,7 @@ or: "або"
language: "Мова"
uiLanguage: "Мова інтерфейсу"
groupInvited: "Запрошення до групи"
aboutX: "Про {x}"
useOsNativeEmojis: "Використовувати емодзі ОС"
disableDrawer: "Не використовувати висувні меню"
youHaveNoGroups: "Немає груп"
@ -428,19 +480,27 @@ joinOrCreateGroup: "Отримуйте запрошення до груп або
noHistory: "Історія порожня"
signinHistory: "Історія входів"
disableAnimatedMfm: "Відключити анімації MFM"
doing: "Виконується"
category: "Категорія"
tags: "Теги"
docSource: "Джерело цього документа"
createAccount: "Створити акаунт"
existingAccount: "Існуючий обліковий запис"
regenerate: "Оновити"
fontSize: "Розмір шрифту"
noFollowRequests: "Немає запитів на підписку"
openImageInNewTab: "Відкрити зображення в новій вкладці"
dashboard: "Панель приладів"
local: "Локальні"
remote: "Віддалені"
total: "Всього"
weekOverWeekChanges: "Тиждень"
dayOverDayChanges: "Доба"
appearance: "Вигляд"
clientSettings: "Налаштування клієнта"
accountSettings: "Налаштування акаунта"
numberOfDays: "Кількість днів"
hideThisNote: "Сховати цю нотатку"
showFeaturedNotesInTimeline: "Показувати популярні нотатки у стрічці"
objectStorage: "Object Storage"
useObjectStorage: "Використовувати object storage"
@ -464,6 +524,8 @@ objectStorageUseProxy: "Використовувати Proxy"
objectStorageUseProxyDesc: "Вимкніть коли проксі не використовується для з'єднання\
\ ObjectStorage"
objectStorageSetPublicRead: "Встановіть 'публічне читання' при завантаженні"
serverLogs: "Журнал сервера"
deleteAll: "Видалити все"
showFixedPostForm: "Показати форму запису над стрічкою новин."
newNoteRecived: "Є нові нотатки"
sounds: "Звуки"
@ -474,6 +536,7 @@ popout: "Від'єднати"
volume: "Гучність"
masterVolume: "Загальна гучність"
details: "Детальніше"
chooseEmoji: "Виберіть емодзі"
unableToProcess: "Не вдається завершити операцію"
recentUsed: "Нещодавні"
install: "Встановити"
@ -490,7 +553,9 @@ scratchpad: "Чернетка"
scratchpadDescription: "Scratchpad надає середовище для експериментів з AiScript.\
\ Ви можете писати, виконувати його і тестувати взаємодію з FoundKey."
output: "Вихід"
script: "Скрипт"
updateRemoteUser: "Оновити інформацію про віддаленого користувача"
deleteAllFiles: "Видалити всі файли"
deleteAllFilesConfirm: "Ви дійсно хочете видалити всі файли?"
removeAllFollowing: "Скасувати всі підписки"
removeAllFollowingDescription: "Скасувати підписку на всі акаунти з {host}. Будь ласка,\
@ -507,7 +572,10 @@ addItem: "Додати елемент"
relays: "Ретранслятори"
addRelay: "Додати ретранслятор"
inboxUrl: "Inbox URL"
addedRelays: "Додані ретранслятори"
serviceworkerInfo: "Повинен бути ввімкнений для push-сповіщень."
deletedNote: "Видалена нотатка"
invisibleNote: "Приховані записи"
enableInfiniteScroll: "Увімкнути нескінченну прокрутку"
visibility: "Видимість"
poll: "Опитування"
@ -517,12 +585,15 @@ disablePlayer: "Закрити відеоплеєр"
themeEditor: "Редактор тем"
description: "Опис"
describeFile: "Додати підпис"
enterFileDescription: "Введіть підпис"
author: "Автор"
leaveConfirm: "Зміни не збережені. Ви дійсно хочете скасувати зміни?"
manage: "Управління"
plugins: "Плагіни"
deck: "Дек"
undeck: "Залишити Дек"
useBlurEffectForModal: "Ефект розмиття під модальними діалогами"
useFullReactionPicker: "Повнорозмірний селектор реакцій"
width: "Ширина"
height: "Висота"
large: "Крупний"
@ -535,6 +606,7 @@ disableAll: "Вимкнути все"
tokenRequested: "Надати доступ до акаунту"
pluginTokenRequestedDescription: "Цей плагін зможе використовувати дозволи які тут\
\ вказані."
notificationType: "Тип сповіщення"
edit: "Редагувати"
useStarForReactionFallback: "Використовувати ★ як запасний варіант, якщо емодзі реакції\
\ невідомий"
@ -563,7 +635,10 @@ userSaysSomething: "{name} щось сказав(ла)"
makeActive: "Активувати"
display: "Відображення"
copy: "Скопіювати"
metrics: "Показники"
overview: "Огляд"
logs: "Журнал"
delayed: "Затримка"
database: "База даних"
channel: "Канали"
create: "Створити"
@ -580,6 +655,7 @@ regenerateLoginTokenDescription: "Регенерувати внутрішній
setMultipleBySeparatingWithSpace: "Можна вказати кілька значень, відділивши їх пробілом."
fileIdOrUrl: "Ідентифікатор файлу або посилання"
behavior: "Поведінка"
sample: "Приклад"
abuseReports: "Скарги"
reportAbuse: "Поскаржитись"
reportAbuseOf: "Поскаржитись на {name}"
@ -594,8 +670,13 @@ forwardReportIsAnonymous: "Замість вашого облікового за
send: "Відправити"
abuseMarkAsResolved: "Позначити скаргу як вирішену"
openInNewTab: "Відкрити в новій вкладці"
openInSideView: "Відкрити збоку"
defaultNavigationBehaviour: "Поведінка навігації за замовчуванням"
editTheseSettingsMayBreakAccount: "Зміна цих параметрів може призвести до пошкодження\
\ вашого акаунта."
instanceTicker: "Мітка з назвою інстанса в нотатках"
waitingFor: "Чекаємо на {x}"
random: "Випадковий"
system: "Система"
switchUi: "Інтерфейс"
desktop: "Десктоп"
@ -634,6 +715,7 @@ loadRawImages: "Відображати вкладені зображення п
disableShowingAnimatedImages: "Не програвати анімовані зображення"
verificationEmailSent: "Електронний лист з підтвердженням відісланий. Будь ласка перейдіть\
\ по посиланню в листі для підтвердження."
notSet: "Не налаштовано"
emailVerified: "Електронну пошту підтверджено."
noteFavoritesCount: "Кількість улюблених нотаток"
pageLikesCount: "Кількість отриманих вподобань сторінки"
@ -641,6 +723,8 @@ pageLikedCount: "Кількість вподобаних сторінок"
contact: "Контакт"
useSystemFont: "Використовувати стандартний шрифт системи"
clips: "Добірка"
experimentalFeatures: "Експериментальні функції"
developer: "Розробник"
makeExplorable: "Зробіть обліковий запис видимим у розділі \"Огляд\""
makeExplorableDescription: "Вимкніть, щоб обліковий запис не показувався у розділі\
\ \"Огляд\"."
@ -652,16 +736,28 @@ wide: "Широкий"
narrow: "Вузький"
reloadToApplySetting: "Налаштування ввійде в дію при перезавантаженні. Перезавантажити?"
needReloadToApply: "Зміни набудуть чинності після перезавантаження сторінки."
showTitlebar: "Показати титульний рядок"
clearCache: "Очистити кеш"
onlineUsersCount: "{n} користувачів онлайн"
nUsers: "{n} Користувачів"
nNotes: "{n} Записів"
myTheme: "Моя тема"
backgroundColor: "Фон"
accentColor: "Акцент"
textColor: "Текст"
saveAs: "Зберегти як…"
advanced: "Розширені"
value: "Значення"
createdAt: "Створено"
updatedAt: "Останнє оновлення"
saveConfirm: "Зберегти зміни?"
deleteConfirm: "Ви дійсно бажаєте це видалити?"
invalidValue: "Некоректне значення."
registry: "Реєстр"
closeAccount: "Закрити обліковий запис"
currentVersion: "Версія, що використовується"
latestVersion: "Сама свіжа версія"
youAreRunningUpToDateClient: "У вас найсвіжіша версія клієнта."
newVersionOfClientAvailable: "Доступніша свіжа версія клієнта."
usageAmount: "Використане"
capacity: "Ємність"
@ -671,17 +767,24 @@ apply: "Застосувати"
receiveAnnouncementFromInstance: "Отримувати оповіщення з інстансу"
emailNotification: "Сповіщення електронною поштою"
publish: "Опублікувати"
inChannelSearch: "Пошук за каналом"
useReactionPickerForContextMenu: "Відкривати палітру реакцій правою кнопкою"
typingUsers: "Стук клавіш. Це {users}…"
goBack: "Назад"
info: "Інформація"
user: "Користувачі"
administration: "Управління"
expiration: "Опитування закінчується"
middle: "Середній"
global: "Глобальна"
sent: "Відправити"
hashtags: "Хештеґ"
hide: "Сховати"
indefinitely: "Ніколи"
_ffVisibility:
public: "Опублікувати"
_ad:
back: "Назад"
_gallery:
unlike: "Не вподобати"
_email:
@ -695,8 +798,10 @@ _registry:
_aboutMisskey:
about: "FoundKey - це програмне забезпечення з відкритим кодом, яке розробляє syuilo\
\ з 2014 року."
contributors: "Головні помічники"
allContributors: "Всі помічники"
source: "Вихідний код"
translation: "Перекладати FoundKey"
_nsfw:
respect: "Приховувати NSFW медіа"
ignore: "Не приховувати NSFW медіа"
@ -803,6 +908,57 @@ _theme:
alreadyInstalled: "Тему вже встановлено"
invalid: "Неправильний формат теми"
make: "Створити тему"
base: "Основа"
defaultValue: "Значення за замовчуванням"
func: "Функції"
lighten: "Яскравість"
inputConstantName: "Введіть назву константи"
importInfo: "Вставляючи сюди код теми, ви можете добавити її до редактору тем"
deleteConstantConfirm: "Ви дійсно бажаєте видалити константу \"{const}\"?"
keys:
accent: "Акцент"
bg: "Фон"
fg: "Текст"
focus: "Фокус"
indicator: "Індикатор"
panel: "Панель"
shadow: "Тінь"
header: "Заголовок"
navBg: "Фон бокової панелі"
navFg: "Текст бокової панелі"
navHoverFg: "Текст бокової панелі (під курсором)"
navActive: "Текст бокової панелі (активне)"
navIndicator: "Індикатор бокової панелі"
link: "Посилання"
hashtag: "Хештеґ"
mention: "Згадка"
mentionMe: "Згадки (мене)"
renote: "Поширити"
modalBg: "Модальний фон"
divider: "Розділювач"
scrollbarHandle: "Ручка смуги прокрутки"
scrollbarHandleHover: "Ручка смуги прокрутки (при наведенні)"
dateLabelFg: "Текст позначок дати"
infoBg: "Фон інформації"
infoFg: "Текст інформації"
infoWarnBg: "Фон попередження"
infoWarnFg: "Текст попередження"
cwBg: "Фон чутливого змісту"
cwFg: "Текст чутливого змісту"
cwHoverBg: "Фон чутливого змісту (при наведенні)"
toastBg: "Фон повідомлення"
toastFg: "Текст повідомлення"
buttonBg: "Фон кнопки"
buttonHoverBg: "Фон кнопки (при наведенні)"
inputBorder: "Край поля вводу"
listItemHoverBg: "Фон елементу в списку (при наведенні)"
driveFolderBg: "Фон папки на диску"
wallpaperOverlay: "Накладання шпалер"
badge: "Значок"
messageBg: "Фон переписки"
accentDarken: "Акцент (Затемлений)"
accentLighten: "Акцент (Освітлений)"
fgHighlighted: "Виділений текст"
_sfx:
note: "Нотатки"
noteMy: "Мої нотатки"
@ -1050,6 +1206,7 @@ _relayStatus:
accepted: "Затверджено"
rejected: "Відхилено"
_notification:
fileUploaded: "Файл успішно завантажено"
youGotMention: "{name} згадує вас"
youGotReply: "{name} відповідає"
youGotQuote: "{name} цитує вас"
@ -1062,6 +1219,7 @@ _notification:
yourFollowRequestAccepted: "Запит на підписку прийнято"
youWereInvitedToGroup: "Запрошення до групи"
_types:
all: "Все"
follow: "Підписки"
mention: "Згадка"
reply: "Відповіді"

View file

@ -14,6 +14,7 @@ fetchingAsApObject: "Đang nạp dữ liệu từ Fediverse..."
ok: "Đồng ý"
gotIt: "Đã hiểu!"
cancel: "Hủy"
enterUsername: "Nhập tên người dùng"
renotedBy: "Chia sẻ bởi {user}"
noNotes: "Chưa có tút nào."
noNotifications: "Không có thông báo"
@ -29,12 +30,16 @@ login: "Đăng nhập"
loggingIn: "Đang đăng nhập..."
logout: "Đăng xuất"
signup: "Đăng ký"
uploading: "Đang tải lên…"
save: "Lưu"
users: "Người dùng"
addUser: "Thêm người dùng"
favorite: "Thêm vào yêu thích"
favorites: "Lượt thích"
unfavorite: "Bỏ thích"
favorited: "Đã thêm vào yêu thích."
alreadyFavorited: "Đã thêm vào yêu thích rồi."
cantFavorite: "Không thể thêm vào yêu thích."
pin: "Ghim"
unpin: "Bỏ ghim"
copyContent: "Chép nội dung"
@ -46,6 +51,7 @@ deleteAndEditConfirm: "Bạn có chắc muốn sửa tút này? Những biểu c
addToList: "Thêm vào danh sách"
sendMessage: "Gửi tin nhắn"
copyUsername: "Chép tên người dùng"
searchUser: "Tìm kiếm người dùng"
reply: "Trả lời"
loadMore: "Tải thêm"
showMore: "Xem thêm"
@ -67,6 +73,7 @@ exportRequested: "Đang chuẩn bị xuất tập tin. Quá trình này có th
\ sẽ được tự động thêm vào Drive sau khi hoàn thành."
importRequested: "Bạn vừa yêu cầu nhập dữ liệu. Quá trình này có thể mất ít phút."
lists: "Danh sách"
noLists: "Bạn chưa có danh sách nào"
note: "Tút"
notes: "Tút"
following: "Đang theo dõi"
@ -91,15 +98,21 @@ followRequest: "Gửi yêu cầu theo dõi"
followRequests: "Yêu cầu theo dõi"
unfollow: "Ngưng theo dõi"
followRequestPending: "Yêu cầu theo dõi đang chờ"
enterEmoji: "Chèn emoji"
renote: "Đăng lại"
unrenote: "Hủy đăng lại"
renoted: "Đã đăng lại."
cantRenote: "Không thể đăng lại tút này."
cantReRenote: "Không thể đăng lại một tút đăng lại."
quote: "Trích dẫn"
pinnedNote: "Tút ghim"
pinned: "Ghim"
you: "Bạn"
clickToShow: "Nhấn để xem"
sensitive: "Nhạy cảm"
add: "Thêm"
reaction: "Biểu cảm"
reactionSetting: "Chọn những biểu cảm hiển thị"
reactionSettingDescription2: "Kéo để sắp xếp, nhấn để xóa, nhấn \"+\" để thêm."
attachCancel: "Gỡ tập tin đính kèm"
markAsSensitive: "Đánh dấu là nhạy cảm"
@ -123,7 +136,10 @@ editWidgetsExit: "Xong"
customEmojis: "Tùy chỉnh emoji"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Tên emoji"
emojiUrl: "URL Emoji"
addEmoji: "Thêm emoji"
settingGuide: "Cài đặt đề xuất"
cacheRemoteFiles: "Tập tin cache từ xa"
cacheRemoteFilesDescription: "Khi tùy chọn này bị tắt, các tập tin từ xa sẽ được tải\
\ trực tiếp từ máy chủ khác. Điều này sẽ giúp giảm dung lượng lưu trữ nhưng lại\
@ -143,8 +159,10 @@ addAccount: "Thêm tài khoản"
loginFailed: "Đăng nhập không thành công"
showOnRemote: "Truy cập trang của người này"
general: "Tổng quan"
wallpaper: "Ảnh bìa"
setWallpaper: "Đặt ảnh bìa"
removeWallpaper: "Xóa ảnh bìa"
searchWith: "Tìm kiếm: {q}"
youHaveNoLists: "Bạn chưa có danh sách nào"
followConfirm: "Bạn có chắc muốn theo dõi {name}"
proxyAccount: "Tài khoản proxy"
@ -158,19 +176,27 @@ selectUser: "Chọn người dùng"
recipient: "Người nhận"
annotation: "Bình luận"
federation: "Liên hợp"
instances: "Máy chủ"
registeredAt: "Đăng ký vào"
latestRequestSentAt: "Yêu cầu cuối gửi lúc"
latestRequestReceivedAt: "Yêu cầu cuối nhận lúc"
latestStatus: "Trạng thái cuối cùng"
storageUsage: "Dung lượng lưu trữ"
charts: "Đồ thị"
perHour: "Mỗi Giờ"
perDay: "Mỗi Ngày"
stopActivityDelivery: "Ngưng gửi hoạt động"
blockThisInstance: "Chặn máy chủ này"
operations: "Vận hành"
software: "Phần mềm"
version: "Phiên bản"
metadata: "Metadata"
withNFiles: "{n} tập tin"
monitor: "Giám sát"
jobQueue: "Công việc chờ xử lý"
cpuAndMemory: "CPU và Dung lượng"
network: "Mạng"
disk: "Ổ đĩa"
instanceInfo: "Thông tin máy chủ"
statistics: "Thống kê"
clearQueue: "Xóa hàng đợi"
@ -203,6 +229,9 @@ all: "Tất cả"
subscribing: "Đang đăng ký"
publishing: "Đang đăng"
notResponding: "Không có phản hồi"
instanceFollowing: "Đang theo dõi máy chủ"
instanceFollowers: "Người theo dõi của máy chủ"
instanceUsers: "Người dùng trên máy chủ này"
changePassword: "Đổi mật khẩu"
security: "Bảo mật"
retypedNotMatch: "Mật khẩu không trùng khớp."
@ -218,6 +247,7 @@ lookup: "Tìm kiếm"
announcements: "Thông báo"
imageUrl: "URL ảnh"
remove: "Xóa"
removed: "Đã xóa"
removeAreYouSure: "Bạn có chắc muốn gỡ \"{x}\"?"
deleteAreYouSure: "Bạn có chắc muốn xóa \"{x}\"?"
resetAreYouSure: "Bạn có chắc muốn đặt lại?"
@ -259,6 +289,7 @@ lightThemes: "Những chủ đề sáng"
darkThemes: "Những chủ đề tối"
syncDeviceDarkMode: "Đồng bộ với thiết bị"
drive: "Ổ đĩa"
fileName: "Tên tập tin"
selectFile: "Chọn tập tin"
selectFiles: "Chọn nhiều tập tin"
selectFolder: "Chọn thư mục"
@ -312,6 +343,7 @@ enableLocalTimeline: "Bật bảng tin máy chủ"
enableGlobalTimeline: "Bật bảng tin liên hợp"
disablingTimelinesInfo: "Quản trị viên và Kiểm duyệt viên luôn có quyền truy cập mọi\
\ bảng tin, kể cả khi chúng không được bật."
registration: "Đăng ký"
enableRegistration: "Cho phép đăng ký mới"
invite: "Mời"
driveCapacityPerLocalAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng"
@ -320,13 +352,25 @@ inMb: "Tính bằng MB"
iconUrl: "URL Icon"
bannerUrl: "URL Ảnh bìa"
backgroundImageUrl: "URL Ảnh nền"
basicInfo: "Thông tin cơ bản"
pinnedUsers: "Những người thú vị"
pinnedUsersDescription: "Liệt kê mỗi hàng một tên người dùng xuống dòng để ghim trên\
\ tab \"Khám phá\"."
pinnedPages: "Trang đã ghim"
pinnedPagesDescription: "Liệt kê các trang thú vị để ghim trên máy chủ."
pinnedClipId: "ID của clip muốn ghim"
pinnedNotes: "Tút ghim"
hcaptcha: "hCaptcha"
enableHcaptcha: "Bật hCaptcha"
hcaptchaSiteKey: "Khóa của trang"
hcaptchaSecretKey: "Khóa bí mật"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Bật reCAPTCHA"
recaptchaSiteKey: "Khóa của trang"
recaptchaSecretKey: "Khóa bí mật"
avoidMultiCaptchaConfirm: "Dùng nhiều hệ thống Captcha có thể gây nhiễu giữa chúng.\
\ Bạn có muốn tắt các hệ thống Captcha khác hiện đang hoạt động không? Nếu bạn muốn\
\ chúng tiếp tục được bật, hãy nhấn hủy."
antennas: "Trạm phát sóng"
manageAntennas: "Quản lý trạm phát sóng"
name: "Tên"
@ -337,6 +381,7 @@ antennaKeywordsDescription: "Phân cách bằng dấu cách cho điều kiện A
\ dòng cho điều kiện OR."
notifyAntenna: "Thông báo có tút mới"
withFileAntenna: "Chỉ những tút có media"
enableServiceworker: "Bật ServiceWorker"
antennaUsersDescription: "Liệt kê mỗi hàng một tên người dùng"
caseSensitive: "Trường hợp nhạy cảm"
withReplies: "Bao gồm lượt trả lời"
@ -351,8 +396,11 @@ popularUsers: "Những người nổi tiếng"
recentlyUpdatedUsers: "Hoạt động gần đây"
recentlyRegisteredUsers: "Mới tham gia"
recentlyDiscoveredUsers: "Mới khám phá"
exploreUsersCount: "Có {count} người"
exploreFediverse: "Khám phá Fediverse"
popularTags: "Hashtag thông dụng"
userList: "Danh sách"
about: "Giới thiệu"
aboutMisskey: "Về FoundKey"
administrator: "Quản trị viên"
token: "Token"
@ -372,6 +420,7 @@ share: "Chia sẻ"
notFound: "Không tìm thấy"
notFoundDescription: "Không tìm thấy trang nào tương ứng với URL này."
uploadFolder: "Thư mục tải lên mặc định"
cacheClear: "Xóa bộ nhớ đệm"
markAsReadAllNotifications: "Đánh dấu tất cả các thông báo là đã đọc"
markAsReadAllUnreadNotes: "Đánh dấu tất cả các tút là đã đọc"
markAsReadAllTalkMessages: "Đánh dấu tất cả các tin nhắn là đã đọc"
@ -402,6 +451,7 @@ noMessagesYet: "Chưa có tin nhắn"
newMessageExists: "Bạn có tin nhắn mới"
onlyOneFileCanBeAttached: "Bạn chỉ có thể đính kèm một tập tin"
signinRequired: "Vui lòng đăng nhập"
invitations: "Mời"
invitationCode: "Mã mời"
checking: "Đang kiểm tra..."
available: "Khả dụng"
@ -423,6 +473,7 @@ or: "Hoặc"
language: "Ngôn ngữ"
uiLanguage: "Ngôn ngữ giao diện"
groupInvited: "Bạn đã được mời tham gia nhóm"
aboutX: "Giới thiệu {x}"
useOsNativeEmojis: "Dùng emoji hệ thống"
disableDrawer: "Không dùng menu thanh bên"
youHaveNoGroups: "Không có nhóm nào"
@ -430,19 +481,27 @@ joinOrCreateGroup: "Tham gia hoặc tạo một nhóm mới."
noHistory: "Không có dữ liệu"
signinHistory: "Lịch sử đăng nhập"
disableAnimatedMfm: "Tắt MFM với chuyển động"
doing: "Đang xử lý..."
category: "Phân loại"
tags: "Thẻ"
docSource: "Nguồn tài liệu"
createAccount: "Tạo tài khoản"
existingAccount: "Tài khoản hiện có"
regenerate: "Tạo lại"
fontSize: "Cỡ chữ"
noFollowRequests: "Bạn không có yêu cầu theo dõi nào"
openImageInNewTab: "Mở ảnh trong tab mới"
dashboard: "Trang chính"
local: "Máy chủ này"
remote: "Máy chủ khác"
total: "Tổng cộng"
weekOverWeekChanges: "Thay đổi tuần rồi"
dayOverDayChanges: "Thay đổi hôm qua"
appearance: "Giao diện"
clientSettings: "Cài đặt Client"
accountSettings: "Cài đặt tài khoản"
numberOfDays: "Số ngày"
hideThisNote: "Ẩn tút này"
showFeaturedNotesInTimeline: "Hiện tút nổi bật trong bảng tin"
objectStorage: "Đối tượng lưu trữ"
useObjectStorage: "Dùng đối tượng lưu trữ"
@ -467,6 +526,8 @@ objectStorageUseSSLDesc: "Tắt nếu bạn không dùng HTTPS để kết nối
objectStorageUseProxy: "Kết nối thông qua Proxy"
objectStorageUseProxyDesc: "Tắt nếu bạn không dùng Proxy để kết nối API"
objectStorageSetPublicRead: "Đặt \"public-read\" khi tải lên"
serverLogs: "Nhật ký máy chủ"
deleteAll: "Xóa tất cả"
showFixedPostForm: "Hiện khung soạn tút ở phía trên bảng tin"
newNoteRecived: "Đã nhận tút mới"
sounds: "Âm thanh"
@ -477,6 +538,7 @@ popout: "Pop-out"
volume: "Âm lượng"
masterVolume: "Âm thanh chung"
details: "Chi tiết"
chooseEmoji: "Chọn emoji"
unableToProcess: "Không thể hoàn tất hành động"
recentUsed: "Sử dụng gần đây"
install: "Cài đặt"
@ -493,7 +555,9 @@ scratchpad: "Scratchpad"
scratchpadDescription: "Scratchpad cung cấp môi trường cho các thử nghiệm AiScript.\
\ Bạn có thể viết, thực thi và kiểm tra kết quả tương tác với FoundKey trong đó."
output: "Nguồn ra"
script: "Kịch bản"
updateRemoteUser: "Cập nhật thông tin người dùng ở máy chủ khác"
deleteAllFiles: "Xóa toàn bộ tập tin"
deleteAllFilesConfirm: "Bạn có chắc xóa toàn bộ tập tin?"
removeAllFollowing: "Ngưng theo dõi tất cả mọi người"
removeAllFollowingDescription: "Thực hiện điều này sẽ ngưng theo dõi tất cả các tài\
@ -510,7 +574,10 @@ addItem: "Thêm mục"
relays: "Chuyển tiếp"
addRelay: "Thêm chuyển tiếp"
inboxUrl: "URL Hộp thư đến"
addedRelays: "Đã thêm các chuyển tiếp"
serviceworkerInfo: "Phải được bật cho thông báo đẩy."
deletedNote: "Tút đã bị xóa"
invisibleNote: "Tút ẩn"
enableInfiniteScroll: "Tự động tải tút mới"
visibility: "Hiển thị"
poll: "Bình chọn"
@ -520,12 +587,15 @@ disablePlayer: "Đóng trình phát video"
themeEditor: "Công cụ thiết kế theme"
description: "Mô tả"
describeFile: "Thêm mô tả"
enterFileDescription: "Nhập mô tả"
author: "Tác giả"
leaveConfirm: "Có những thay đổi chưa được lưu. Bạn có muốn bỏ chúng không?"
manage: "Quản lý"
plugins: "Plugin"
deck: "Deck"
undeck: "Bỏ Deck"
useBlurEffectForModal: "Sử dụng hiệu ứng mờ cho các hộp thoại"
useFullReactionPicker: "Dùng bộ chọn biểu cảm cỡ lớn"
width: "Chiều rộng"
height: "Chiều cao"
large: "Lớn"
@ -538,6 +608,7 @@ disableAll: "Tắt toàn bộ"
tokenRequested: "Cấp quyền truy cập vào tài khoản"
pluginTokenRequestedDescription: "Plugin này sẽ có thể sử dụng các quyền được đặt\
\ ở đây."
notificationType: "Loại thông báo"
edit: "Sửa"
useStarForReactionFallback: "Dùng ★ nếu emoji biểu cảm không có"
emailServer: "Email máy chủ"
@ -563,7 +634,10 @@ userSaysSomething: "{name} nói gì đó"
makeActive: "Kích hoạt"
display: "Hiển thị"
copy: "Sao chép"
metrics: "Số liệu"
overview: "Tổng quan"
logs: "Nhật ký"
delayed: "Độ trễ"
database: "Cơ sở dữ liệu"
channel: "Kênh"
create: "Tạo"
@ -580,6 +654,7 @@ regenerateLoginTokenDescription: "Tạo lại mã nội bộ có thể dùng đ
setMultipleBySeparatingWithSpace: "Tách nhiều mục nhập bằng dấu cách."
fileIdOrUrl: "ID tập tin hoặc URL"
behavior: "Thao tác"
sample: "Ví dụ"
abuseReports: "Lượt báo cáo"
reportAbuse: "Báo cáo"
reportAbuseOf: "Báo cáo {name}"
@ -594,8 +669,13 @@ forwardReportIsAnonymous: "Thay vì tài khoản của bạn, một tài khoản
send: "Gửi"
abuseMarkAsResolved: "Đánh dấu đã xử lý"
openInNewTab: "Mở trong tab mới"
openInSideView: "Mở trong thanh bên"
defaultNavigationBehaviour: "Thao tác điều hướng mặc định"
editTheseSettingsMayBreakAccount: "Việc chỉnh sửa các cài đặt này có thể làm hỏng\
\ tài khoản của bạn."
instanceTicker: "Thông tin máy chủ của tút"
waitingFor: "Đang đợi {x}"
random: "Ngẫu nhiên"
system: "Hệ thống"
switchUi: "Chuyển đổi giao diện người dùng"
desktop: "Desktop"
@ -633,6 +713,7 @@ loadRawImages: "Tải ảnh gốc thay vì ảnh thu nhỏ"
disableShowingAnimatedImages: "Không phát ảnh động"
verificationEmailSent: "Một email xác minh đã được gửi. Vui lòng nhấn vào liên kết\
\ đính kèm để hoàn tất xác minh."
notSet: "Chưa đặt"
emailVerified: "Email đã được xác minh"
noteFavoritesCount: "Số lượng tút yêu thích"
pageLikesCount: "Số lượng trang đã thích"
@ -640,6 +721,8 @@ pageLikedCount: "Số lượng thích trang đã nhận"
contact: "Liên hệ"
useSystemFont: "Dùng phông chữ mặc định của hệ thống"
clips: "Ghim"
experimentalFeatures: "Tính năng thử nghiệm"
developer: "Nhà phát triển"
makeExplorable: "Không hiện tôi trong \"Khám phá\""
makeExplorableDescription: "Nếu bạn tắt, tài khoản của bạn sẽ không hiện trong mục\
\ \"Khám phá\"."
@ -652,16 +735,28 @@ narrow: "Thu hẹp"
reloadToApplySetting: "Cài đặt này sẽ chỉ áp dụng sau khi tải lại trang. Tải lại ngay\
\ bây giờ?"
needReloadToApply: "Cần tải lại để điều này được áp dụng."
showTitlebar: "Hiện thanh tựa đề"
clearCache: "Xóa bộ nhớ đệm"
onlineUsersCount: "{n} người đang online"
nUsers: "{n} Người"
nNotes: "{n} Tút"
myTheme: "Theme của tôi"
backgroundColor: "Màu nền"
accentColor: "Màu phụ"
textColor: "Màu chữ"
saveAs: "Lưu thành"
advanced: "Nâng cao"
value: "Giá trị"
createdAt: "Ngày tạo"
updatedAt: "Cập nhật lúc"
saveConfirm: "Lưu thay đổi?"
deleteConfirm: "Bạn có muốn xóa không?"
invalidValue: "Giá trị không hợp lệ."
registry: "Registry"
closeAccount: "Đóng tài khoản"
currentVersion: "Phiên bản hiện tại"
latestVersion: "Phiên bản mới nhất"
youAreRunningUpToDateClient: "Bạn đang sử dụng phiên bản mới nhất."
newVersionOfClientAvailable: "Có phiên bản mới cho bạn cập nhật."
usageAmount: "Sử dụng"
capacity: "Sức chứa"
@ -671,9 +766,11 @@ apply: "Áp dụng"
receiveAnnouncementFromInstance: "Nhận thông báo từ máy chủ này"
emailNotification: "Thông báo email"
publish: "Đăng"
inChannelSearch: "Tìm trong kênh"
useReactionPickerForContextMenu: "Nhấn chuột phải để mở bộ chọn biểu cảm"
typingUsers: "{users} đang nhập…"
jumpToSpecifiedDate: "Đến một ngày cụ thể"
showingPastTimeline: "Hiện đang hiển thị dòng thời gian cũ"
clear: "Hoàn lại"
markAllAsRead: "Đánh dấu tất cả đã đọc"
goBack: "Quay lại"
@ -687,6 +784,7 @@ notSpecifiedMentionWarning: "Tút này có đề cập đến những người k
info: "Giới thiệu"
userInfo: "Thông tin người dùng"
unknown: "Chưa biết"
onlineStatus: "Trạng thái"
hideOnlineStatus: "Ẩn trạng thái online"
hideOnlineStatusDescription: "Ẩn trạng thái online của bạn làm giảm sự tiện lợi của\
\ một số tính năng như tìm kiếm."
@ -713,13 +811,22 @@ gallery: "Thư viện ảnh"
recentPosts: "Tút gần đây"
popularPosts: "Tút được xem nhiều nhất"
shareWithNote: "Chia sẻ kèm với tút"
expiration: "Thời hạn"
memo: "Lưu ý"
priority: "Ưu tiên"
high: "Cao"
middle: "Vừa"
low: "Thấp"
emailNotConfiguredWarning: "Chưa đặt địa chỉ email."
ratio: "Tỷ lệ"
previewNoteText: "Hiện xem trước"
customCss: "Tùy chỉnh CSS"
customCssWarn: "Chỉ sử dụng những cài đặt này nếu bạn biết rõ về nó. Việc nhập các\
\ giá trị không đúng có thể khiến máy chủ hoạt động không bình thường."
global: "Toàn cầu"
squareAvatars: "Ảnh đại diện vuông"
sent: "Gửi"
received: "Đã nhận"
searchResult: "Kết quả tìm kiếm"
hashtags: "Hashtag"
troubleshooting: "Khắc phục sự cố"
@ -807,6 +914,9 @@ _accountDelete:
requestAccountDelete: "Yêu cầu xóa tài khoản"
started: "Đang bắt đầu xóa tài khoản."
inProgress: "Đang xóa dần tài khoản."
_ad:
back: "Quay lại"
reduceFrequencyOfThisAd: "Hiện ít lại"
_forgotPassword:
enterEmail: "Nhập địa chỉ email bạn đã sử dụng để đăng ký. Một liên kết mà bạn có\
\ thể đặt lại mật khẩu của mình sau đó sẽ được gửi đến nó."
@ -827,6 +937,7 @@ _email:
_plugin:
install: "Cài đặt tiện ích"
installWarn: "Vui lòng không cài đặt những tiện ích đáng ngờ."
manage: "Quản lý plugin"
_registry:
scope: "Phạm vi"
key: "Mã"
@ -835,8 +946,10 @@ _registry:
createKey: "Tạo mã"
_aboutMisskey:
about: "FoundKey là phần mềm mã nguồn mở được phát triển bởi syuilo từ năm 2014."
contributors: "Những người đóng góp nổi bật"
allContributors: "Toàn bộ người đóng góp"
source: "Mã nguồn"
translation: "Dịch FoundKey"
_nsfw:
respect: "Ẩn nội dung NSFW"
ignore: "Hiện nội dung NSFW"
@ -962,6 +1075,69 @@ _theme:
alreadyInstalled: "Theme này đã được cài đặt"
invalid: "Định dạng của theme này không hợp lệ"
make: "Tạo theme"
base: "Dựa trên có sẵn"
addConstant: "Thêm hằng số"
constant: "Hằng số"
defaultValue: "Giá trị mặc định"
color: "Màu sắc"
refProp: "Tham chiếu một thuộc tính"
refConst: "Tham chiếu một hằng số"
key: "Khóa"
func: "Hàm"
funcKind: "Loại hàm"
argument: "Tham số"
basedProp: "Thuộc tính tham chiếu"
alpha: "Độ trong suốt"
darken: "Độ tối"
lighten: "Độ sáng"
inputConstantName: "Nhập tên cho hằng số này"
importInfo: "Nếu bạn nhập mã theme ở đây, bạn có thể nhập mã đó vào trình chỉnh\
\ sửa theme"
deleteConstantConfirm: "Bạn có chắc muốn xóa hằng số {const} không?"
keys:
accent: "Màu phụ"
bg: "Màu nền"
fg: "Màu chữ"
focus: "Trọng tâm"
indicator: "Chỉ báo"
panel: "Thanh bên"
shadow: "Bóng mờ"
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"
hashtag: "Hashtag"
mention: "Nhắc đến"
mentionMe: "Lượt nhắc (Tôi)"
renote: "Đăng lại"
modalBg: "Nền phương thức"
divider: "Phân chia"
scrollbarHandle: "Thanh cuộn khi giữ"
scrollbarHandleHover: "Thanh cuộn khi chạm"
dateLabelFg: "Màu ngày tháng năm"
infoBg: "Nền thông tin"
infoFg: "Chữ thông tin"
infoWarnBg: "Nền cảnh báo"
infoWarnFg: "Chữ cảnh báo"
cwBg: "Nền nút nội dung ẩn"
cwFg: "Chữ nút nội dung ẩn"
cwHoverBg: "Nền nút nội dung ẩn (Chạm)"
toastBg: "Nền thông báo"
toastFg: "Chữ thông báo"
buttonBg: "Nền nút"
buttonHoverBg: "Nền nút (Chạm)"
inputBorder: "Đường viền khung soạn thảo"
listItemHoverBg: "Nền mục liệt kê (Chạm)"
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"
noteMy: "Tút của tôi"
@ -1247,6 +1423,7 @@ _relayStatus:
accepted: "Đã duyệt"
rejected: "Đã từ chối"
_notification:
fileUploaded: "Đã tải lên tập tin"
youGotMention: "{name} nhắc đến bạn"
youGotReply: "{name} trả lời bạn"
youGotQuote: "{name} trích dẫn tút của bạn"
@ -1261,6 +1438,7 @@ _notification:
pollEnded: "Cuộc bình chọn đã kết thúc"
emptyPushNotificationMessage: "Đã cập nhật thông báo đẩy"
_types:
all: "Toàn bộ"
follow: "Đang theo dõi"
mention: "Nhắc đến"
reply: "Lượt trả lời"

View file

@ -12,6 +12,7 @@ fetchingAsApObject: "正在联邦宇宙查询中..."
ok: "OK"
gotIt: "我明白了"
cancel: "取消"
enterUsername: "输入用户名"
renotedBy: "由 {user} 转贴"
noNotes: "没有帖文"
noNotifications: "无通知"
@ -27,12 +28,16 @@ login: "登录"
loggingIn: "正在登录..."
logout: "登出"
signup: "新用户注册"
uploading: "正在上传"
save: "保存"
users: "用户"
addUser: "添加用户"
favorite: "收藏"
favorites: "收藏"
unfavorite: "取消收藏"
favorited: "已加入收藏夹。"
alreadyFavorited: "收藏夹中已存在。"
cantFavorite: "无法添加到收藏夹。"
pin: "置顶"
unpin: "取消置顶"
copyContent: "复制内容"
@ -43,6 +48,7 @@ deleteAndEditConfirm: "要删除此帖并再次编辑吗?对此帖的所有回
addToList: "添加至列表"
sendMessage: "发送"
copyUsername: "复制用户名"
searchUser: "搜索用户"
reply: "回复"
loadMore: "查看更多"
showMore: "查看更多"
@ -62,6 +68,7 @@ unfollowConfirm: "要取消对{name}的关注吗?"
exportRequested: "导出请求已提交,这可能需要花一些时间,导出的文件将保存到网盘中。"
importRequested: "导入请求已提交,这可能需要花一点时间。"
lists: "列表"
noLists: "列表为空"
note: "帖子"
notes: "帖子"
following: "关注中"
@ -85,15 +92,21 @@ followRequest: "关注申请"
followRequests: "关注申请"
unfollow: "取消关注"
followRequestPending: "发送关注请求"
enterEmoji: "输入表情符号"
renote: "转发"
unrenote: "取消转发"
renoted: "已转发。"
cantRenote: "该帖无法转发。"
cantReRenote: "转发无法被再次转发。"
quote: "引用"
pinnedNote: "已置顶的帖子"
pinned: "置顶"
you: "您"
clickToShow: "点击以显示"
sensitive: "敏感内容"
add: "添加"
reaction: "回应"
reactionSetting: "在选择器中显示的回应"
reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。"
attachCancel: "删除附件"
markAsSensitive: "标记为敏感内容"
@ -117,7 +130,10 @@ editWidgetsExit: "完成编辑"
customEmojis: "自定义表情符号"
emoji: "表情符号"
emojis: "表情符号"
emojiName: "表情符号名称"
emojiUrl: "表情符号地址"
addEmoji: "添加表情符号"
settingGuide: "推荐配置"
cacheRemoteFiles: "远程文件缓存"
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程实例载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
flagAsBot: "这是一个机器人账号"
@ -131,8 +147,10 @@ addAccount: "添加账户"
loginFailed: "登录失败"
showOnRemote: "转到所在实例显示"
general: "常规设置"
wallpaper: "壁纸"
setWallpaper: "设置壁纸"
removeWallpaper: "移除壁纸"
searchWith: "搜索:{q}"
youHaveNoLists: "列表为空"
followConfirm: "你确定要关注{name}吗?"
proxyAccount: "代理账户"
@ -142,19 +160,27 @@ selectUser: "选择用户"
recipient: "收件人"
annotation: "注解"
federation: "联合"
instances: "实例"
registeredAt: "初次观测"
latestRequestSentAt: "上次发送的请求"
latestRequestReceivedAt: "上次收到的请求"
latestStatus: "最后状态"
storageUsage: "已用存储"
charts: "图表"
perHour: "每小时"
perDay: "每天"
stopActivityDelivery: "停止发送活动"
blockThisInstance: "阻止此实例向本实例推流"
operations: "操作"
software: "软件"
version: "版本"
metadata: "元数据"
withNFiles: "{n}个文件"
monitor: "服务器状态"
jobQueue: "作业队列"
cpuAndMemory: "CPU和内存"
network: "网络"
disk: "存储"
instanceInfo: "实例信息"
statistics: "统计"
clearQueue: "清除队列"
@ -185,6 +211,9 @@ all: "全部"
subscribing: "已订阅"
publishing: "直播中"
notResponding: "没有响应"
instanceFollowing: "关注实例"
instanceFollowers: "关注实例"
instanceUsers: "实例用户"
changePassword: "修改密码"
security: "安全"
retypedNotMatch: "两次输入不一致!"
@ -200,6 +229,7 @@ lookup: "查询"
announcements: "公告"
imageUrl: "图片URL"
remove: "删除"
removed: "已删除"
removeAreYouSure: "要删掉「{x}」吗?"
deleteAreYouSure: "要删掉「{x}」吗?"
resetAreYouSure: "恢复默认设置?"
@ -239,6 +269,7 @@ lightThemes: "浅色主题"
darkThemes: "深色主题"
syncDeviceDarkMode: "将深色模式与设备设置同步"
drive: "网盘"
fileName: "文件名称"
selectFile: "选择文件"
selectFiles: "选择文件"
selectFolder: "选择文件夹"
@ -290,6 +321,7 @@ disconnectService: "断开连接"
enableLocalTimeline: "启用本地时间线功能"
enableGlobalTimeline: "启用全局时间线"
disablingTimelinesInfo: "即使时间线功能被禁用,出于方便,管理员和数据图表也可以继续使用。"
registration: "注册"
enableRegistration: "允许新用户注册"
invite: "邀请"
driveCapacityPerLocalAccount: "每个用户的网盘空间"
@ -298,12 +330,22 @@ inMb: "以兆字节(MegaByte)为单位"
iconUrl: "图标URL"
bannerUrl: "横幅URL"
backgroundImageUrl: "背景图URL"
basicInfo: "基本信息"
pinnedUsers: "置顶用户"
pinnedUsersDescription: "在「发现」页面中使用换行标记想要置顶的用户。"
pinnedPages: "固定页面"
pinnedPagesDescription: "输入您要固定到实例首页的页面路径,以换行符分隔。"
pinnedClipId: "置顶的书签ID"
pinnedNotes: "已置顶的帖子"
hcaptcha: "hCaptcha"
enableHcaptcha: "启用 hCaptcha"
hcaptchaSiteKey: "网站密钥"
hcaptchaSecretKey: "密钥"
recaptcha: "reCAPTCHA"
enableRecaptcha: "启用 reCAPTCHA\n(请注意, 此功能在中国大陆不可用. 如果启用, 可能导致无法正常使用登录或注册等功能)"
recaptchaSiteKey: "网站密钥"
recaptchaSecretKey: "reCAPTCHA 密钥"
avoidMultiCaptchaConfirm: "使用多种验证方式可能会造成干扰,您要禁用其他验证方式吗?您可以按“取消”按钮,仍然保持启用多种验证方式。"
antennas: "天线"
manageAntennas: "天线管理"
name: "名称"
@ -313,6 +355,7 @@ antennaExcludeKeywords: "排除关键字"
antennaKeywordsDescription: "使用空格分隔会产生AND规范并且使用换行符分隔会产生OR规范"
notifyAntenna: "开启通知"
withFileAntenna: "仅带有附件的帖子"
enableServiceworker: "启用ServiceWorker"
antennaUsersDescription: "指定用户名,用换行符分隔"
caseSensitive: "区分大小写"
withReplies: "包括回复"
@ -327,8 +370,11 @@ popularUsers: "热门用户"
recentlyUpdatedUsers: "最近投稿的用户"
recentlyRegisteredUsers: "最近登录的用户"
recentlyDiscoveredUsers: "最近发现的用户"
exploreUsersCount: "有{count}个用户"
exploreFediverse: "探索联邦宇宙"
popularTags: "热门标签"
userList: "列表"
about: "关于"
aboutMisskey: "关于 FoundKey"
administrator: "管理员"
token: "Token (令牌)"
@ -348,6 +394,7 @@ share: "分享"
notFound: "未找到"
notFoundDescription: "没有与指定URL对应的页面。"
uploadFolder: "默认上传文件夹"
cacheClear: "清空缓存"
markAsReadAllNotifications: "将所有通知标为已读"
markAsReadAllUnreadNotes: "将所有帖子标记为已读"
markAsReadAllTalkMessages: "将所有聊天标记为已读"
@ -378,6 +425,7 @@ noMessagesYet: "现在没有新的聊天"
newMessageExists: "新信息"
onlyOneFileCanBeAttached: "只能添加一个附件"
signinRequired: "请先登录"
invitations: "邀请"
invitationCode: "邀请码"
checking: "正在确认"
available: "可用"
@ -397,6 +445,7 @@ or: "或者"
language: "语言"
uiLanguage: "显示语言"
groupInvited: "您有新的群组邀请"
aboutX: "关于 {x}"
useOsNativeEmojis: "使用系统的原生表情符号"
disableDrawer: "不显示抽屉菜单"
youHaveNoGroups: "没有群组"
@ -404,19 +453,27 @@ joinOrCreateGroup: "请加入一个现有的群组,或者创建新群组。"
noHistory: "没有历史记录"
signinHistory: "登录历史"
disableAnimatedMfm: "禁用MFM动画"
doing: "正在进行"
category: "类别"
tags: "标签"
docSource: "文件来源"
createAccount: "注册账户"
existingAccount: "现有的账户"
regenerate: "重新生成"
fontSize: "字体大小"
noFollowRequests: "没有关注申请"
openImageInNewTab: "在新标签页中打开图片"
dashboard: "管理面板"
local: "本地"
remote: "远程"
total: "总计"
weekOverWeekChanges: "与前一周相比"
dayOverDayChanges: "与前一日相比"
appearance: "外观"
clientSettings: "客户端设置"
accountSettings: "账户设置"
numberOfDays: "天数"
hideThisNote: "隐藏这条帖子"
showFeaturedNotesInTimeline: "在时间线上显示热门推荐"
objectStorage: "对象存储"
useObjectStorage: "使用对象存储"
@ -436,6 +493,8 @@ objectStorageUseSSLDesc: "如果不使用https进行API连接请关闭。"
objectStorageUseProxy: "使用代理"
objectStorageUseProxyDesc: "如果您不使用代理进行API连接请将其关闭。"
objectStorageSetPublicRead: "上传时设置为public-read"
serverLogs: "服务器日志"
deleteAll: "全部删除"
showFixedPostForm: "在时间线顶部显示发帖框"
newNoteRecived: "有新的帖子"
sounds: "提示音"
@ -446,6 +505,7 @@ popout: "弹窗"
volume: "音量"
masterVolume: "主音量"
details: "详情"
chooseEmoji: "选择表情符号"
unableToProcess: "操作无法完成"
recentUsed: "最近使用"
install: "安装"
@ -461,7 +521,9 @@ descendingOrder: "降序"
scratchpad: "AiScript控制台"
scratchpadDescription: "AiScript控制台为AiScript提供了实验环境。您可以编写代码以与FoundKey交互运行它并查看结果。"
output: "输出"
script: "脚本"
updateRemoteUser: "更新远程用户信息"
deleteAllFiles: "删除所有文件"
deleteAllFilesConfirm: "要删除所有文件吗?"
removeAllFollowing: "取消所有关注"
removeAllFollowingDescription: "取消{host}的所有关注者。当实例不存在时执行。"
@ -475,7 +537,10 @@ addItem: "添加项目"
relays: "中继"
addRelay: "添加中继"
inboxUrl: "Inbox URL"
addedRelays: "已添加的中继"
serviceworkerInfo: "您需要启用推送通知"
deletedNote: "已删除的帖子"
invisibleNote: "隐藏的帖子"
enableInfiniteScroll: "启用自动滚动页面模式"
visibility: "可见性"
poll: "调查问卷"
@ -485,12 +550,15 @@ disablePlayer: "关闭播放器"
themeEditor: "主题编辑器"
description: "描述"
describeFile: "添加标题"
enterFileDescription: "输入标题"
author: "作者"
leaveConfirm: "存在未保存的更改。要放弃更改吗?"
manage: "管理"
plugins: "插件"
deck: "Deck"
undeck: "取消Deck"
useBlurEffectForModal: "对话框使用模糊效果"
useFullReactionPicker: "使用全功能的回应工具栏"
width: "宽度"
height: "高度"
large: "大"
@ -502,6 +570,7 @@ enableAll: "启用全部"
disableAll: "禁用全部"
tokenRequested: "允许访问账户"
pluginTokenRequestedDescription: "此插件将能够拥有此处设置的权限"
notificationType: "通知类型"
edit: "编辑"
useStarForReactionFallback: "如果回应的是未知表情符号,则使用★作为代替"
emailServer: "邮件服务器"
@ -526,7 +595,10 @@ userSaysSomething: "{name}说了什么"
makeActive: "启用"
display: "显示"
copy: "复制"
metrics: "服务器监控"
overview: "服务器概况"
logs: "日志"
delayed: "滞后"
database: "数据库"
channel: "频道"
create: "创建"
@ -540,6 +612,7 @@ regenerateLoginTokenDescription: "重新生成用于登录的内部令牌。通
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多个项目。"
fileIdOrUrl: "文件ID或者URL"
behavior: "行为"
sample: "示例"
abuseReports: "举报"
reportAbuse: "举报"
reportAbuseOf: "举报{name}"
@ -553,8 +626,12 @@ forwardReportIsAnonymous: "勾选则在远程实例上显示的举报者是匿
send: "发送"
abuseMarkAsResolved: "处理完毕"
openInNewTab: "在新标签页中打开"
openInSideView: "在侧边栏中打开"
defaultNavigationBehaviour: "默认导航"
editTheseSettingsMayBreakAccount: "编辑这些设置可以会损坏您的账号"
instanceTicker: "帖子的实例信息"
waitingFor: "等待{x}"
random: "随机"
system: "系统"
switchUi: "切换界面"
desktop: "桌面"
@ -588,6 +665,7 @@ alwaysMarkSensitive: "默认将媒体文件标记为敏感内容"
loadRawImages: "添加附件图像的缩略图时使用原始图像质量"
disableShowingAnimatedImages: "不播放动画"
verificationEmailSent: "已发送确认电子邮件。请访问电子邮件中的链接以完成设置。"
notSet: "未设置"
emailVerified: "电子邮件地址已验证"
noteFavoritesCount: "收藏的帖子数"
pageLikesCount: "页面点赞次数"
@ -595,6 +673,8 @@ pageLikedCount: "页面被点赞次数"
contact: "联系人"
useSystemFont: "使用系统默认字体"
clips: "书签"
experimentalFeatures: "实验性功能"
developer: "开发者"
makeExplorable: "使账号可见。"
makeExplorableDescription: "关闭时,账号不会显示在\"发现\"中。"
showGapBetweenNotesInTimeline: "时间线上的帖子分开显示。"
@ -605,16 +685,28 @@ wide: "宽"
narrow: "窄"
reloadToApplySetting: "页面刷新后设置才会生效。是否现在刷新页面?"
needReloadToApply: "重启后应用才会生效。"
showTitlebar: "显示标题栏"
clearCache: "清除缓存"
onlineUsersCount: "{n}人在线"
nUsers: "{n}用户"
nNotes: "{n}帖子"
myTheme: "我的主题"
backgroundColor: "背景"
accentColor: "强调色"
textColor: "文本"
saveAs: "另存为"
advanced: "高级"
value: "值"
createdAt: "创建日期"
updatedAt: "更新时间"
saveConfirm: "确定保存?"
deleteConfirm: "确定删除?"
invalidValue: "无效值。"
registry: "注册表"
closeAccount: "永久注销账户"
currentVersion: "当前版本"
latestVersion: "最新版本"
youAreRunningUpToDateClient: "您所使用的客户端已经是最新的。"
newVersionOfClientAvailable: "新版本的客户端可用。"
usageAmount: "使用量"
capacity: "容量"
@ -624,9 +716,11 @@ apply: "应用"
receiveAnnouncementFromInstance: "从实例接收通知"
emailNotification: "邮件通知"
publish: "发布"
inChannelSearch: "频道内搜索"
useReactionPickerForContextMenu: "单击右键打开回应工具栏"
typingUsers: "{users}正在输入"
jumpToSpecifiedDate: "跳转到特定日期"
showingPastTimeline: "显示过去的时间线"
clear: "清除"
markAllAsRead: "全部标记为已读"
goBack: "返回"
@ -639,6 +733,7 @@ notSpecifiedMentionWarning: "有未指定的提及"
info: "关于"
userInfo: "用户信息"
unknown: "未知"
onlineStatus: "在线状态"
hideOnlineStatus: "隐藏在线状态"
hideOnlineStatusDescription: "隐藏在线状态后,可能会降低例如搜索等功能的便利性。"
online: "在线"
@ -664,12 +759,21 @@ gallery: "图库"
recentPosts: "最新发布"
popularPosts: "热门投稿"
shareWithNote: "在帖子中分享"
expiration: "截止时间"
memo: "便笺"
priority: "优先级"
high: "高"
middle: "中"
low: "低"
emailNotConfiguredWarning: "电子邮件地址未设置。"
ratio: "比率"
previewNoteText: "预览文本"
customCss: "自定义 CSS"
customCssWarn: "这些设置必须有相关的基础知识,不当的配置可能导致客户端无法正常使用!"
global: "全局"
squareAvatars: "显示方形头像图标"
sent: "发送"
received: "收取"
searchResult: "搜索结果"
hashtags: "话题标签"
troubleshooting: "故障排除"
@ -749,6 +853,9 @@ _accountDelete:
requestAccountDelete: "请求删除账户"
started: "账户删除过程已开始。"
inProgress: "正在删除"
_ad:
back: "返回"
reduceFrequencyOfThisAd: "减少此广告的频率"
_forgotPassword:
enterEmail: "请输入您验证账号时用的电子邮箱地址,密码重置链接将发送至该邮箱上。"
ifNoEmail: "如果您没有使用电子邮件地址进行验证,请联系管理员。"
@ -766,6 +873,7 @@ _email:
_plugin:
install: "安装插件"
installWarn: "请不要安装不可信的插件。"
manage: "管理插件..."
_registry:
scope: "范围"
key: "主要"
@ -774,8 +882,10 @@ _registry:
createKey: "创建键"
_aboutMisskey:
about: "FoundKey是由syuilo于2014年开发的开源软件。"
contributors: "主要贡献者"
allContributors: "全体贡献者"
source: "源代码"
translation: "翻译FoundKey"
_nsfw:
respect: "隐藏敏感内容"
ignore: "不隐藏敏感内容"
@ -893,6 +1003,68 @@ _theme:
alreadyInstalled: "此主题已经安装"
invalid: "主题格式错误"
make: "制作主题"
base: "基于"
addConstant: "添加常量"
constant: "常量"
defaultValue: "默认值"
color: "颜色"
refProp: "查看属性"
refConst: "查看常量"
key: "主要"
func: "函数"
funcKind: "功能类型"
argument: "参数"
basedProp: "基于的属性名称"
alpha: "不透明度"
darken: "深色"
lighten: "浅色"
inputConstantName: "请输入常量名称"
importInfo: "您可以在此处粘贴主题代码,将其导入到编辑器中"
deleteConstantConfirm: "确定要删除常量{const}吗?"
keys:
accent: "强调色"
bg: "背景"
fg: "文本"
focus: "聚焦"
indicator: "标记"
panel: "面板"
shadow: "阴影"
header: "顶栏"
navBg: "侧边栏背景"
navFg: "侧栏文本"
navHoverFg: "侧栏文本(悬停)"
navActive: "侧栏文本(活动)"
navIndicator: "侧栏标记"
link: "链接"
hashtag: "话题标签"
mention: "提及"
mentionMe: "提及"
renote: "转发"
modalBg: "对话框背景"
divider: "分割线"
scrollbarHandle: "滚动条"
scrollbarHandleHover: "滚动条(悬停)"
dateLabelFg: "日期标签文字"
infoBg: "信息背景"
infoFg: "信息文本"
infoWarnBg: "警告背景"
infoWarnFg: "警告文本"
cwBg: "CW 按钮背景"
cwFg: "CW 按钮文本"
cwHoverBg: "CW 按钮背景(悬停)"
toastBg: "Toast通知背景"
toastFg: "Toast通知文本"
buttonBg: "按钮背景"
buttonHoverBg: "按钮背景(悬停)"
inputBorder: "输入框边框"
listItemHoverBg: "下拉列表项目背景(悬停)"
driveFolderBg: "网盘的文件夹背景"
wallpaperOverlay: "壁纸叠加层"
badge: "徽章"
messageBg: "聊天背景"
accentDarken: "强调色(深)"
accentLighten: "强调色(浅)"
fgHighlighted: "高亮显示文本"
_sfx:
note: "帖子"
noteMy: "我的帖子"
@ -1158,6 +1330,7 @@ _relayStatus:
accepted: "已批准"
rejected: "已拒绝"
_notification:
fileUploaded: "文件已上传"
youGotMention: "来自{name}的提及"
youGotReply: "来自{name}的回复"
youGotQuote: "来自{name}的引用"
@ -1172,6 +1345,7 @@ _notification:
pollEnded: "问卷调查结果已生成。"
emptyPushNotificationMessage: "推送通知已更新"
_types:
all: "全部"
follow: "关注中"
mention: "提及"
reply: "回复"

View file

@ -12,6 +12,7 @@ fetchingAsApObject: "從聯邦宇宙取得中..."
ok: "OK"
gotIt: "知道了"
cancel: "取消"
enterUsername: "輸入使用者名稱"
renotedBy: "{user} 轉傳了"
noNotes: "無貼文。"
noNotifications: "沒有通知"
@ -27,12 +28,16 @@ login: "登入"
loggingIn: "登入中"
logout: "登出"
signup: "註冊"
uploading: "上傳中"
save: "儲存"
users: "使用者"
addUser: "新增使用者"
favorite: "我的最愛"
favorites: "我的最愛"
unfavorite: "從我的最愛中移除"
favorited: "已添加至我的最愛"
alreadyFavorited: "我的最愛中已存在。"
cantFavorite: "無法加入至我的最愛。"
pin: "置頂"
unpin: "取消置頂"
copyContent: "複製內容"
@ -43,6 +48,7 @@ deleteAndEditConfirm: "要刪除並再次編輯嗎?此貼文的所有情感、
addToList: "加入至清單"
sendMessage: "發送訊息"
copyUsername: "複製使用者名稱"
searchUser: "搜尋使用者"
reply: "回覆"
loadMore: "載入更多"
showMore: "載入更多"
@ -62,6 +68,7 @@ unfollowConfirm: "確定要取消追隨{name}嗎?"
exportRequested: "已請求匯出。這可能會花一點時間。結束後檔案將會被放到雲端裡。"
importRequested: "已請求匯入。這可能會花一點時間"
lists: "清單"
noLists: "你沒有任何清單"
note: "貼文"
notes: "貼文"
following: "追隨中"
@ -85,15 +92,21 @@ followRequest: "追隨請求"
followRequests: "追隨請求"
unfollow: "取消追隨"
followRequestPending: "追隨許可批准中"
enterEmoji: "輸入表情符號"
renote: "轉發"
unrenote: "取消轉發"
renoted: "轉傳成功"
cantRenote: "無法轉發此貼文。"
cantReRenote: "無法轉傳之前已經轉傳過的內容。"
quote: "引用"
pinnedNote: "已置頂的貼文"
pinned: "置頂"
you: "您"
clickToShow: "按一下以顯示"
sensitive: "敏感內容"
add: "新增"
reaction: "情感"
reactionSetting: "在選擇器中顯示反應"
reactionSettingDescription2: "拖動以重新列序,點擊以刪除,按下 + 添加。"
attachCancel: "移除附件"
markAsSensitive: "標記為敏感內容"
@ -117,7 +130,10 @@ editWidgetsExit: "完成"
customEmojis: "自訂表情符號"
emoji: "表情符號"
emojis: "表情符號"
emojiName: "表情符號名稱"
emojiUrl: "表情符號URL"
addEmoji: "加入表情符號"
settingGuide: "推薦設定"
cacheRemoteFiles: "快取遠端檔案"
cacheRemoteFilesDescription: "禁用此設定會停止遠端檔案的緩存,從而節省儲存空間,但資料會因直接連線從而產生額外連接數據。"
flagAsBot: "此使用者是機器人"
@ -131,8 +147,10 @@ addAccount: "添加帳戶"
loginFailed: "登入失敗"
showOnRemote: "轉到所在實例顯示"
general: "一般"
wallpaper: "桌布"
setWallpaper: "設定桌布"
removeWallpaper: "移除桌布"
searchWith: "搜尋: {q}"
youHaveNoLists: "你沒有任何清單"
followConfirm: "你真的要追隨{name}嗎?"
proxyAccount: "代理帳戶"
@ -142,19 +160,27 @@ selectUser: "選取使用者"
recipient: "收件人"
annotation: "註解"
federation: "站台聯邦"
instances: "實例"
registeredAt: "初次觀測"
latestRequestSentAt: "上次發送的請求"
latestRequestReceivedAt: "上次收到的請求"
latestStatus: "最後狀態"
storageUsage: "已使用容量"
charts: "圖表"
perHour: "每小時"
perDay: "每日"
stopActivityDelivery: "停止發送活動"
blockThisInstance: "封鎖此實例"
operations: "操作"
software: "軟體"
version: "版本"
metadata: "元資料"
withNFiles: "{n}個檔案"
monitor: "監視器"
jobQueue: "佇列"
cpuAndMemory: "CPU及記憶體用量"
network: "網路"
disk: "硬碟"
instanceInfo: "實例資訊"
statistics: "統計"
clearQueue: "清除佇列"
@ -185,6 +211,9 @@ all: "全部"
subscribing: "訂閱中"
publishing: "直播中"
notResponding: "沒有回應"
instanceFollowing: "追蹤實例"
instanceFollowers: "追蹤實例"
instanceUsers: "用戶"
changePassword: "修改密碼"
security: "安全性"
retypedNotMatch: "兩次輸入不一致。"
@ -200,6 +229,7 @@ lookup: "查詢"
announcements: "公告"
imageUrl: "圖片URL"
remove: "刪除"
removed: "已刪除"
removeAreYouSure: "確定要刪掉「{x}」嗎?"
deleteAreYouSure: "確定要刪掉「{x}」嗎?"
resetAreYouSure: "確定要重設嗎?"
@ -239,6 +269,7 @@ lightThemes: "明亮主題"
darkThemes: "黑暗主題"
syncDeviceDarkMode: "將黑暗模式與設備設置同步"
drive: "雲端硬碟"
fileName: "檔案名稱"
selectFile: "選擇檔案"
selectFiles: "選擇檔案"
selectFolder: "選擇資料夾"
@ -290,6 +321,7 @@ disconnectService: "己斷開 "
enableLocalTimeline: "開啟本地時間軸"
enableGlobalTimeline: "啟用公開時間軸"
disablingTimelinesInfo: "即使您關閉了時間線功能,管理員和協調人仍可以繼續使用,以方便您。"
registration: "註冊"
enableRegistration: "開啟新使用者註冊"
invite: "邀請"
driveCapacityPerLocalAccount: "每個本地用戶的雲端空間大小"
@ -298,12 +330,22 @@ inMb: "以Mbps為單位"
iconUrl: "圖像URL"
bannerUrl: "橫幅圖像URL"
backgroundImageUrl: "背景圖片的來源網址 "
basicInfo: "基本資訊"
pinnedUsers: "置頂用戶"
pinnedUsersDescription: "在「發現」頁面中使用換行標記想要置頂的使用者。"
pinnedPages: "釘選頁面"
pinnedPagesDescription: "輸入要固定至實例首頁的頁面路徑,以換行符分隔。"
pinnedClipId: "置頂的摘錄ID"
pinnedNotes: "已置頂的貼文"
hcaptcha: "hCaptcha"
enableHcaptcha: "啟用 hCaptcha"
hcaptchaSiteKey: "網站金鑰"
hcaptchaSecretKey: "金鑰"
recaptcha: "reCAPTCHA"
enableRecaptcha: "啟用 reCAPTCHA"
recaptchaSiteKey: "網站金鑰"
recaptchaSecretKey: "金鑰"
avoidMultiCaptchaConfirm: "使用多種驗證方式可能會造成干擾,您要關閉其他驗證方式嗎?您可以按“取消”保留多種驗證方式。"
antennas: "天線"
manageAntennas: "管理天線"
name: "名稱"
@ -313,6 +355,7 @@ antennaExcludeKeywords: "排除關鍵字"
antennaKeywordsDescription: "用空格分隔指定AND、用換行符分隔指定OR"
notifyAntenna: "通知有新貼文"
withFileAntenna: "僅帶有附件的貼文"
enableServiceworker: "開啟 ServiceWorker"
antennaUsersDescription: "指定用換行符分隔的用戶名"
caseSensitive: "區分大小寫"
withReplies: "包含回覆"
@ -327,8 +370,11 @@ popularUsers: "熱門使用者"
recentlyUpdatedUsers: "最近發文的使用者"
recentlyRegisteredUsers: "新加入使用者"
recentlyDiscoveredUsers: "最近發現的使用者"
exploreUsersCount: "有{count}個使用者"
exploreFediverse: "探索聯邦世界"
popularTags: "熱門標籤"
userList: "清單"
about: "資訊"
aboutMisskey: "關於 FoundKey"
administrator: "管理員"
token: "權杖"
@ -348,6 +394,7 @@ share: "分享"
notFound: "找不到"
notFoundDescription: "找不到與指定URL回應的頁面"
uploadFolder: "預設上傳資料夾"
cacheClear: "清除快取"
markAsReadAllNotifications: "標記所有通知為已讀"
markAsReadAllUnreadNotes: "標記所有貼文為已讀"
markAsReadAllTalkMessages: "標記所有訊息為已讀"
@ -378,6 +425,7 @@ noMessagesYet: "沒有訊息"
newMessageExists: "有新的訊息"
onlyOneFileCanBeAttached: "只能加入一個附件"
signinRequired: "請先登入"
invitations: "邀請"
invitationCode: "邀請碼"
checking: "確認中"
available: "可用的"
@ -397,6 +445,7 @@ or: "或者"
language: "語言"
uiLanguage: "介面語言"
groupInvited: "您有新的群組邀請"
aboutX: "關於{x}"
useOsNativeEmojis: "使用OS原生表情符號"
disableDrawer: "不顯示下拉式選單"
youHaveNoGroups: "找不到群組"
@ -404,19 +453,27 @@ joinOrCreateGroup: "請加入現有群組,或創建新群組。"
noHistory: "沒有歷史紀錄"
signinHistory: "登入歷史"
disableAnimatedMfm: "禁用MFM動畫"
doing: "正在進行"
category: "類別"
tags: "標籤"
docSource: "文件來源"
createAccount: "建立帳戶"
existingAccount: "現有帳戶"
regenerate: "再生"
fontSize: "字體大小"
noFollowRequests: "沒有要求跟隨您的申請"
openImageInNewTab: "於新分頁中開啟圖片"
dashboard: "儀表板"
local: "本地"
remote: "遠端"
total: "合計"
weekOverWeekChanges: "與上週相比"
dayOverDayChanges: "與前一日相比"
appearance: "外觀"
clientSettings: "用戶端設定"
accountSettings: "帳戶設定"
numberOfDays: "有效天數"
hideThisNote: "隱藏此貼文"
showFeaturedNotesInTimeline: "在時間軸上顯示熱門推薦"
objectStorage: "Object Storage (物件儲存)"
useObjectStorage: "使用Object Storage"
@ -435,6 +492,8 @@ objectStorageUseSSLDesc: "如果不使用https進行API連接請關閉"
objectStorageUseProxy: "使用網路代理"
objectStorageUseProxyDesc: "如果不使用代理進行API連接請關閉"
objectStorageSetPublicRead: "上傳時設定為\"public-read\""
serverLogs: "伺服器日誌"
deleteAll: "刪除所有記錄"
showFixedPostForm: "於時間軸頁頂顯示「發送貼文」方框"
newNoteRecived: "發現新的貼文"
sounds: "音效"
@ -445,6 +504,7 @@ popout: "彈出型窗口"
volume: "音量"
masterVolume: "主音量"
details: "詳細資訊"
chooseEmoji: "選擇您的表情符號"
unableToProcess: "操作無法完成"
recentUsed: "最近使用"
install: "安裝"
@ -460,7 +520,9 @@ descendingOrder: "降冪"
scratchpad: "暫存記憶體"
scratchpadDescription: "AiScript控制台為AiScript提供了實驗環境。您可以在此編寫、執行和確認代碼與FoundKey互動的结果。"
output: "輸出"
script: "腳本"
updateRemoteUser: "更新遠端使用者資訊"
deleteAllFiles: "刪除所有檔案"
deleteAllFilesConfirm: "要删除所有檔案嗎?"
removeAllFollowing: "解除所有追蹤"
removeAllFollowingDescription: "解除{host}所有的追蹤。在實例不再存在時執行。"
@ -474,7 +536,10 @@ addItem: "新增項目"
relays: "中繼"
addRelay: "新增中繼"
inboxUrl: "收件夾URL"
addedRelays: "已加入的中繼"
serviceworkerInfo: "您需要啟用推送通知"
deletedNote: "已删除的貼文"
invisibleNote: "隱藏的貼文"
enableInfiniteScroll: "啟用自動滾動頁面模式"
visibility: "可見性"
poll: "投票"
@ -484,12 +549,15 @@ disablePlayer: "關閉播放器"
themeEditor: "主題編輯器"
description: "描述"
describeFile: "添加標題 "
enterFileDescription: "輸入標題 "
author: "作者"
leaveConfirm: "有未保存的更改。要放棄嗎?"
manage: "管理"
plugins: "外掛"
deck: "多欄模式"
undeck: "取消多欄模式"
useBlurEffectForModal: "在模態框使用模糊效果"
useFullReactionPicker: "使用全尺寸的反應選擇器"
width: "寬度"
height: "高度"
large: "大"
@ -501,6 +569,7 @@ enableAll: "啟用全部"
disableAll: "停用全部"
tokenRequested: "允許存取帳戶"
pluginTokenRequestedDescription: "此外掛將擁有在此設定的權限。"
notificationType: "通知形式"
edit: "編輯"
useStarForReactionFallback: "以★代替未知的表情符號"
emailServer: "電郵伺服器"
@ -525,7 +594,10 @@ userSaysSomething: "{name}說了什麼"
makeActive: "啟用"
display: "檢視"
copy: "複製"
metrics: "指標"
overview: "概覽"
logs: "日誌"
delayed: "延遲"
database: "資料庫"
channel: "頻道"
create: "新增"
@ -539,6 +611,7 @@ regenerateLoginTokenDescription: "重新產生用於登入的內部權杖。一
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多個項目。"
fileIdOrUrl: "檔案ID或URL"
behavior: "行為"
sample: "範例"
abuseReports: "檢舉"
reportAbuse: "檢舉"
reportAbuseOf: "檢舉{name}"
@ -552,8 +625,12 @@ forwardReportIsAnonymous: "在遠端實例上看不到您的資訊,顯示的
send: "發送"
abuseMarkAsResolved: "處理完畢"
openInNewTab: "在新分頁中開啟"
openInSideView: "在側欄中開啟"
defaultNavigationBehaviour: "默認導航"
editTheseSettingsMayBreakAccount: "修改這些設定可能會毀損您的帳戶"
instanceTicker: "貼文的實例來源"
waitingFor: "等待{x}"
random: "隨機"
system: "系統"
switchUi: "切換界面"
desktop: "桌面"
@ -587,6 +664,7 @@ alwaysMarkSensitive: "默認將圖像/影像標記為敏感內容"
loadRawImages: "以原始圖檔顯示附件圖檔的縮圖"
disableShowingAnimatedImages: "不播放動態圖檔"
verificationEmailSent: "已發送驗證電子郵件。請點擊進入電子郵件中的鏈接完成驗證。"
notSet: "未設定"
emailVerified: "已成功驗證您的電郵"
noteFavoritesCount: "我的最愛貼文的數目"
pageLikesCount: "頁面被按讚次數"
@ -594,6 +672,8 @@ pageLikedCount: "頁面被按讚次數"
contact: "聯絡人"
useSystemFont: "使用系統預設的字型"
clips: "摘錄"
experimentalFeatures: "實驗中的功能"
developer: "開發者"
makeExplorable: "使自己的帳戶能夠在“探索”頁面中顯示"
makeExplorableDescription: "如果關閉,帳戶將不會被顯示在\"探索\"頁面中。"
showGapBetweenNotesInTimeline: "分開顯示時間線上的貼文。"
@ -604,16 +684,28 @@ wide: "寬"
narrow: "窄"
reloadToApplySetting: "設定將會在頁面重新載入之後生效。要現在就重載頁面嗎?"
needReloadToApply: "必須重新載入才會生效。"
showTitlebar: "顯示標題列"
clearCache: "清除快取資料"
onlineUsersCount: "{n}人正在線上"
nUsers: "{n}用戶"
nNotes: "{n}貼文"
myTheme: "我的佈景主題"
backgroundColor: "背景"
accentColor: "重點色彩"
textColor: "文字"
saveAs: "另存為..."
advanced: "進階"
value: "數值"
createdAt: "建立於"
updatedAt: "最後更新"
saveConfirm: "您要儲存變更嗎?"
deleteConfirm: "你確定要刪除嗎?"
invalidValue: "輸入值無效。"
registry: "登錄表"
closeAccount: "停用帳戶"
currentVersion: "目前版本"
latestVersion: "最新版本"
youAreRunningUpToDateClient: "您所使用的用戶端已經是最新的。"
newVersionOfClientAvailable: "新版本的用戶端可用。"
usageAmount: "使用量"
capacity: "容量"
@ -623,9 +715,11 @@ apply: "套用"
receiveAnnouncementFromInstance: "接收由本實例發出的電郵通知"
emailNotification: "郵件通知"
publish: "發佈"
inChannelSearch: "頻道内搜尋"
useReactionPickerForContextMenu: "點擊右鍵開啟回應工具欄"
typingUsers: "{users}輸入中..."
jumpToSpecifiedDate: "跳轉到特定日期"
showingPastTimeline: "顯示過往的時間線"
clear: "清除"
markAllAsRead: "全部標示為已讀"
goBack: "返回"
@ -638,6 +732,7 @@ notSpecifiedMentionWarning: "此貼文有未指定的提及"
info: "資訊"
userInfo: "用戶資料"
unknown: "未知"
onlineStatus: "在線狀態"
hideOnlineStatus: "隱藏在線狀態"
hideOnlineStatusDescription: "隱藏在線狀態後,可能會降低檢索等功能的便利性。"
online: "線上"
@ -663,12 +758,21 @@ gallery: "相簿"
recentPosts: "最新貼文"
popularPosts: "熱門的貼文"
shareWithNote: "在貼文中分享"
expiration: "期限"
memo: "備忘錄"
priority: "優先級"
high: "高"
middle: "中"
low: "低"
emailNotConfiguredWarning: "沒有設定電子郵件地址"
ratio: "%"
previewNoteText: "預覽文本"
customCss: "自定義 CSS"
customCssWarn: "這個設定必須由具備相關知識的人員操作,不當的設定可能导致客戶端無法正常使用。"
global: "公開"
squareAvatars: "頭像以方形顯示"
sent: "發送"
received: "收取"
searchResult: "搜尋結果"
hashtags: "#tag"
troubleshooting: "故障排除"
@ -748,6 +852,9 @@ _accountDelete:
requestAccountDelete: "刪除帳戶請求"
started: "已開始刪除作業。"
inProgress: "正在刪除"
_ad:
back: "返回"
reduceFrequencyOfThisAd: "降低此廣告的頻率 "
_forgotPassword:
enterEmail: "請輸入您的帳戶註冊的電子郵件地址。 密碼重置連結將被發送到該電子郵件地址。"
ifNoEmail: "如果您還沒有註冊您的電子郵件地址,請聯繫管理員。 "
@ -765,6 +872,7 @@ _email:
_plugin:
install: "安裝外掛組件"
installWarn: "請不要安裝來源不明的外掛組件。"
manage: "管理外掛"
_registry:
scope: "範圍"
key: "機碼"
@ -773,8 +881,10 @@ _registry:
createKey: "新增機碼"
_aboutMisskey:
about: "FoundKey是由syuilo自2014年起開發的開源軟體。"
contributors: "主要貢獻者"
allContributors: "全體貢獻人員"
source: "原始碼"
translation: "翻譯FoundKey"
_nsfw:
respect: "隱藏敏感內容"
ignore: "不隱藏敏感內容"
@ -892,6 +1002,68 @@ _theme:
alreadyInstalled: "此主題已經安裝"
invalid: "主題格式錯誤"
make: "製作主題"
base: "基於"
addConstant: "添加常數"
constant: "常數"
defaultValue: "預設值"
color: "顏色"
refProp: "查看屬性 "
refConst: "查看常數"
key: "按鍵"
func: "函数"
funcKind: "功能類型"
argument: "參數"
basedProp: "要基於的屬性的名稱 "
alpha: "透明度"
darken: "暗度"
lighten: "亮度"
inputConstantName: "請輸入常數的名稱"
importInfo: "您可以在此貼上主題代碼,將其匯入編輯器中"
deleteConstantConfirm: "確定要删除常數{const}嗎?"
keys:
accent: "重點色彩"
bg: "背景"
fg: "文本"
focus: "聚焦"
indicator: "指標"
panel: "面板"
shadow: "陰影"
header: "標題"
navBg: "側邊欄的背景 "
navFg: "側邊欄的文字"
navHoverFg: "側邊欄文字(懸停) "
navActive: "側邊欄文本 (活動)"
navIndicator: "側邊欄指示符"
link: "鏈接"
hashtag: "#tag"
mention: "提到"
mentionMe: "提到了我"
renote: "轉發貼文"
modalBg: "對話框背景"
divider: "分割線"
scrollbarHandle: "捲動條"
scrollbarHandleHover: "捲動條 (漂浮)"
dateLabelFg: "日期標籤文字"
infoBg: "資訊背景"
infoFg: "資訊內容"
infoWarnBg: "警告背景"
infoWarnFg: "警告字元"
cwBg: "CW 按鈕背景"
cwFg: "CW 按鈕文本"
cwHoverBg: "CW 按鈕背景 (漂浮)"
toastBg: "通知背景"
toastFg: "通知文本"
buttonBg: "按鈕背景"
buttonHoverBg: "按鈕背景 (漂浮)"
inputBorder: "輸入框邊框"
listItemHoverBg: "列表物品背景 (漂浮)"
driveFolderBg: "雲端硬碟文件夾背景"
wallpaperOverlay: "壁紙覆蓋層"
badge: "獎章"
messageBg: "私訊背景"
accentDarken: "強調色(偏暗)"
accentLighten: "強調色(明亮)"
fgHighlighted: "高亮顯示文本"
_sfx:
note: "貼文"
noteMy: "我的貼文"
@ -1157,6 +1329,7 @@ _relayStatus:
accepted: "已通過核准"
rejected: "已拒絕"
_notification:
fileUploaded: "上傳檔案成功。"
youGotMention: "{name}提及到您"
youGotReply: "{name}回覆了您"
youGotQuote: "{name}引用了您"
@ -1171,6 +1344,7 @@ _notification:
pollEnded: "問卷調查已產生結果"
emptyPushNotificationMessage: "推送通知已更新"
_types:
all: "全部 "
follow: "追隨中"
mention: "提及"
reply: "回覆"

View file

@ -46,11 +46,11 @@
"devDependencies": {
"@types/gulp": "4.0.9",
"@types/gulp-rename": "2.0.1",
"@typescript-eslint/parser": "^5.44.0",
"@typescript-eslint/parser": "^5.36.2",
"cross-env": "7.0.3",
"cypress": "10.3.0",
"start-server-and-test": "1.14.0",
"typescript": "^4.9.3"
"typescript": "4.8.3"
},
"packageManager": "yarn@3.3.0"
"packageManager": "yarn@3.2.3"
}

View file

@ -1,12 +0,0 @@
export class userBlockFederation1631880003000 {
name = 'userBlockFederation1631880003000';
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" ADD "federateBlocks" boolean NOT NULL DEFAULT true`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "federateBlocks"`);
}
}

View file

@ -1,5 +1,5 @@
export class removeAds1657570176749 {
name = 'removeAds1657570176749';
name = 'removeAds1657570176749'
async up(queryRunner) {
await queryRunner.query(`DROP TABLE "ad"`);

View file

@ -0,0 +1,53 @@
export class noteVisibilityFunction1662132062000 {
name = 'noteVisibilityFunction1662132062000';
async up(queryRunner) {
await queryRunner.query(`
CREATE OR REPLACE FUNCTION note_visible(note_id varchar, user_id varchar) RETURNS BOOLEAN
LANGUAGE SQL
STABLE
CALLED ON NULL INPUT
AS $$
SELECT CASE
WHEN note_id IS NULL THEN TRUE
WHEN NOT EXISTS (SELECT 1 FROM note WHERE id = note_id) THEN FALSE
WHEN user_id IS NULL THEN (
-- simplified check without logged in user
SELECT
visibility IN ('public', 'home')
-- check reply / renote recursively
AND note_visible("replyId", NULL)
AND note_visible("renoteId", NULL)
FROM note WHERE note.id = note_id
) ELSE (
SELECT
(
visibility IN ('public', 'home')
OR
user_id = "userId"
OR
user_id = ANY("visibleUserIds")
OR
user_id = ANY("mentions")
OR (
visibility = 'followers'
AND
EXISTS (
SELECT 1 FROM following WHERE "followeeId" = "userId" AND "followerId" = user_id
)
)
)
-- check reply / renote recursively
AND note_visible("replyId", user_id)
AND note_visible("renoteId", user_id)
FROM note WHERE note.id = note_id
)
END;
$$;
`);
}
async down(queryRunner) {
await queryRunner.query('DROP FUNCTION note_visible');
}
}

View file

@ -1,44 +0,0 @@
export class sync1667503570994 {
name = 'sync1667503570994'
async up(queryRunner) {
await Promise.all([
// the migration for renote mutes added the index to the wrong table
queryRunner.query(`DROP INDEX "public"."IDX_renote_muting_createdAt"`),
queryRunner.query(`DROP INDEX "public"."IDX_renote_muting_muteeId"`),
queryRunner.query(`DROP INDEX "public"."IDX_renote_muting_muterId"`),
queryRunner.query(`CREATE INDEX "IDX_d1259a2c2b7bb413ff449e8711" ON "renote_muting" ("createdAt") `),
queryRunner.query(`CREATE INDEX "IDX_7eac97594bcac5ffcf2068089b" ON "renote_muting" ("muteeId") `),
queryRunner.query(`CREATE INDEX "IDX_7aa72a5fe76019bfe8e5e0e8b7" ON "renote_muting" ("muterId") `),
queryRunner.query(`COMMENT ON COLUMN "renote_muting"."createdAt" IS 'The created date of the Muting.'`),
queryRunner.query(`COMMENT ON COLUMN "renote_muting"."muteeId" IS 'The mutee user ID.'`),
queryRunner.query(`COMMENT ON COLUMN "renote_muting"."muterId" IS 'The muter user ID.'`),
queryRunner.query(`ALTER TABLE "page" ALTER COLUMN "text" SET NOT NULL`),
queryRunner.query(`ALTER TABLE "page" ALTER COLUMN "text" SET DEFAULT ''`),
queryRunner.query(`CREATE UNIQUE INDEX "IDX_0d801c609cec4e9eb4b6b4490c" ON "renote_muting" ("muterId", "muteeId") `),
queryRunner.query(`ALTER TABLE "renote_muting" ADD CONSTRAINT "FK_7eac97594bcac5ffcf2068089b6" FOREIGN KEY ("muteeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`),
queryRunner.query(`ALTER TABLE "renote_muting" ADD CONSTRAINT "FK_7aa72a5fe76019bfe8e5e0e8b7d" FOREIGN KEY ("muterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`),
]);
}
async down(queryRunner) {
await Promise.all([
queryRunner.query(`ALTER TABLE "renote_muting" DROP CONSTRAINT "FK_7aa72a5fe76019bfe8e5e0e8b7d"`),
queryRunner.query(`ALTER TABLE "renote_muting" DROP CONSTRAINT "FK_7eac97594bcac5ffcf2068089b6"`),
queryRunner.query(`DROP INDEX "public"."IDX_0d801c609cec4e9eb4b6b4490c"`),
queryRunner.query(`ALTER TABLE "page" ALTER COLUMN "text" DROP DEFAULT`),
queryRunner.query(`ALTER TABLE "page" ALTER COLUMN "text" DROP NOT NULL`),
queryRunner.query(`COMMENT ON COLUMN "renote_muting"."muterId" IS NULL`),
queryRunner.query(`COMMENT ON COLUMN "renote_muting"."muteeId" IS NULL`),
queryRunner.query(`COMMENT ON COLUMN "renote_muting"."createdAt" IS NULL`),
queryRunner.query(`DROP INDEX "public"."IDX_7aa72a5fe76019bfe8e5e0e8b7"`),
queryRunner.query(`DROP INDEX "public"."IDX_7eac97594bcac5ffcf2068089b"`),
queryRunner.query(`DROP INDEX "public"."IDX_d1259a2c2b7bb413ff449e8711"`),
queryRunner.query(`CREATE INDEX "IDX_renote_muting_muterId" ON "muting" ("muterId") `),
queryRunner.query(`CREATE INDEX "IDX_renote_muting_muteeId" ON "muting" ("muteeId") `),
queryRunner.query(`CREATE INDEX "IDX_renote_muting_createdAt" ON "muting" ("createdAt") `),
]);
}
}

View file

@ -1,24 +0,0 @@
import push from 'web-push';
export class forceEnablePush1668374092227 {
name = 'forceEnablePush1668374092227';
async up(queryRunner) {
// set VAPID keys if not yet set
const { publicKey, privateKey } = push.generateVAPIDKeys();
await queryRunner.query(`UPDATE "meta" SET "swPublicKey" = $1, "swPrivateKey" = $2 WHERE "swPublicKey" IS NULL OR "swPrivateKey" IS NULL`, [publicKey, privateKey]);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableServiceWorker"`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "swPublicKey" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "swPrivateKey" SET NOT NULL`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "swPrivateKey" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "swPublicKey" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "meta" ADD "enableServiceWorker" boolean NOT NULL DEFAULT false`);
// since VAPID keys are set and the service worker may have been enabled before, make sure it is now enabled
await queryRunner.query(`UPDATE "meta" SET "enableServiceWorker" = true`);
// can't unset the VAPID keys because we do not know if we set them in the migration
}
}

View file

@ -1,19 +0,0 @@
export class addLibretranslate1668661888188 {
name = 'addLibretranslate1668661888188'
async up(queryRunner) {
await queryRunner.query(`CREATE TYPE "public"."meta_translationservice_enum" AS ENUM('deepl', 'libretranslate')`);
await queryRunner.query(`ALTER TABLE "meta" ADD "translationService" "public"."meta_translationservice_enum"`);
await queryRunner.query(`ALTER TABLE "meta" ADD "libreTranslateAuthKey" character varying(128)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "libreTranslateEndpoint" character varying(2048)`);
// Set translationService to 'deepl' if auth key is already set
await queryRunner.query(`UPDATE "meta" SET "translationService"='deepl' WHERE "deeplAuthKey" IS NOT NULL`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "libreTranslateEndpoint"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "libreTranslateAuthKey"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "translationService"`);
await queryRunner.query(`DROP TYPE "public"."meta_translationservice_enum"`);
}
}

View file

@ -1,12 +0,0 @@
export class detectDeeplPro1669545702493 {
name = 'detectDeeplPro1669545702493';
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplIsPro"`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "deeplIsPro" boolean NOT NULL DEFAULT false`);
await queryRunner.query(`UPDATE "meta" SET "deeplIsPro" = true WHERE "deeplAuthKey" IS NOT NULL AND "deeplAuthKey" NOT LIKE '%:fx'`);
}
}

View file

@ -15,8 +15,8 @@
"test": "npm run mocha"
},
"dependencies": {
"@bull-board/api": "^4.3.1",
"@bull-board/koa": "^4.3.1",
"@bull-board/api": "^4.2.2",
"@bull-board/koa": "4.0.0",
"@discordapp/twemoji": "14.0.2",
"@elastic/elasticsearch": "7.11.0",
"@koa/cors": "3.1.0",
@ -87,7 +87,7 @@
"qrcode": "1.5.1",
"random-seed": "0.3.0",
"ratelimiter": "3.4.1",
"re2": "1.17.8",
"re2": "1.17.7",
"redis-lock": "0.1.4",
"reflect-metadata": "0.1.13",
"rename": "1.0.4",
@ -96,7 +96,7 @@
"rss-parser": "3.12.0",
"sanitize-html": "2.7.0",
"semver": "7.3.7",
"sharp": "0.31.2",
"sharp": "0.30.7",
"speakeasy": "2.0.0",
"strict-event-emitter-types": "2.0.0",
"stringz": "2.1.0",
@ -158,7 +158,6 @@
"@types/sanitize-html": "2.6.2",
"@types/semver": "7.3.12",
"@types/sharp": "0.30.5",
"@types/sinon": "^10.0.13",
"@types/sinonjs__fake-timers": "8.1.2",
"@types/speakeasy": "2.0.7",
"@types/tinycolor2": "1.4.3",
@ -167,14 +166,13 @@
"@types/web-push": "3.3.2",
"@types/websocket": "1.0.5",
"@types/ws": "8.5.3",
"@typescript-eslint/eslint-plugin": "^5.44.0",
"@typescript-eslint/parser": "^5.44.0",
"@typescript-eslint/eslint-plugin": "^5.36.2",
"@typescript-eslint/parser": "^5.36.2",
"cross-env": "7.0.3",
"eslint": "^8.28.0",
"eslint": "^8.20.0",
"eslint-plugin-import": "^2.26.0",
"execa": "6.1.0",
"form-data": "^4.0.0",
"sinon": "^14.0.2",
"typescript": "^4.9.3"
"typescript": "^4.8.3"
}
}

View file

@ -10,7 +10,7 @@ function getRedisFamily(family?: string | number): number {
dual: 0,
};
if (typeof family === 'string' && family in familyMap) {
return familyMap[family as keyof typeof familyMap];
return familyMap[family];
} else if (typeof family === 'number' && Object.values(familyMap).includes(family)) {
return family;
}

View file

@ -3,9 +3,6 @@ export const SECOND = 1000;
export const MINUTE = 60 * SECOND;
export const HOUR = 60 * MINUTE;
export const DAY = 24 * HOUR;
export const WEEK = 7 * DAY;
export const MONTH = 30 * DAY;
export const YEAR = 365 * DAY;
export const USER_ONLINE_THRESHOLD = 10 * MINUTE;
export const USER_ACTIVE_THRESHOLD = 3 * DAY;

View file

@ -1,10 +1,9 @@
import Xev from 'xev';
import { deliverQueue, inboxQueue } from '@/queue/queues.js';
import { SECOND } from '@/const.js';
const ev = new Xev();
const interval = 10 * SECOND;
const interval = 10000;
/**
* Report queue stats regularly

View file

@ -1,7 +1,5 @@
// https://github.com/typeorm/typeorm/issues/2400
import pg from 'pg';
import { SECOND } from '@/const.js';
pg.types.setTypeParser(20, Number);
import { Logger, DataSource } from 'typeorm';
@ -184,7 +182,7 @@ export const db = new DataSource({
password: config.db.pass,
database: config.db.db,
extra: {
statement_timeout: 10 * SECOND,
statement_timeout: 1000 * 10,
...config.db.extra,
},
synchronize: process.env.NODE_ENV === 'test',
@ -236,7 +234,7 @@ export async function resetDb() {
if (i === 3) {
throw e;
} else {
await new Promise(resolve => setTimeout(resolve, SECOND));
await new Promise(resolve => setTimeout(resolve, 1000));
continue;
}
}

View file

@ -7,7 +7,7 @@ const treeAdapter = parse5.defaultTreeAdapter;
const urlRegex = /^https?:\/\/[\w\/:%#@$&?!()\[\]~.,=+\-]+/;
const urlRegexFull = /^https?:\/\/[\w\/:%#@$&?!()\[\]~.,=+\-]+$/;
export function fromHtml(html: string, hashtagNames?: string[], quoteUri?: string | null): string {
export function fromHtml(html: string, hashtagNames?: string[]): string {
const dom = parse5.parseFragment(
// some AP servers like Pixelfed use br tags as well as newlines
html.replace(/<br\s?\/?>\r?\n/gi, '\n'),
@ -62,21 +62,22 @@ export function fromHtml(html: string, hashtagNames?: string[], quoteUri?: strin
const rel = node.attrs.find(x => x.name === 'rel');
const href = node.attrs.find(x => x.name === 'href');
// hashtags
// ハッシュタグ
if (hashtagNames && href && hashtagNames.map(x => x.toLowerCase()).includes(txt.toLowerCase())) {
text += txt;
// mentions
// メンション
} else if (txt.startsWith('@') && !(rel && rel.value.match(/^me /))) {
const part = txt.split('@');
if (part.length === 2 && href) {
// restore the host name part
//#region ホスト名部分が省略されているので復元する
const acct = `${txt}@${(new URL(href.value)).hostname}`;
text += acct;
//#endregion
} else if (part.length === 3) {
text += txt;
}
// other
// その他
} else {
const generateLink = () => {
if (!href && !txt) {
@ -202,17 +203,6 @@ export function fromHtml(html: string, hashtagNames?: string[], quoteUri?: strin
break;
}
case 'span':
{
const nodeClass = node.attrs.find(({ name }) => name === 'class')?.value;
if (/\bquote-inline\b/.test(nodeClass) && quoteUri && getText(node).trim() === `RE: ${quoteUri}`) {
// embedded quote thingy for backwards compatibility, don't show it
} else {
appendChildren(node.childNodes);
}
break;
}
default: // includes inline elements
{
appendChildren(node.childNodes);

View file

@ -5,7 +5,7 @@ import { subscriber } from '@/db/redis.js';
let antennasFetched = false;
let antennas: Antenna[] = [];
export async function getAntennas(): Promise<Antenna[]> {
export async function getAntennas() {
if (!antennasFetched) {
antennas = await Antennas.find();
antennasFetched = true;

View file

@ -1,7 +1,6 @@
import { promisify } from 'node:util';
import redisLock from 'redis-lock';
import { redisClient } from '@/db/redis.js';
import { SECOND } from '@/const.js';
/**
* Retry delay (ms) for lock acquisition
@ -19,14 +18,14 @@ const lock: (key: string, timeout?: number) => Promise<() => void>
* @param timeout Lock timeout (ms), The timeout releases previous lock.
* @returns Unlock function
*/
export function getApLock(uri: string, timeout = 30 * SECOND) {
export function getApLock(uri: string, timeout = 30 * 1000) {
return lock(`ap-object:${uri}`, timeout);
}
export function getFetchInstanceMetadataLock(host: string, timeout = 30 * SECOND) {
export function getFetchInstanceMetadataLock(host: string, timeout = 30 * 1000) {
return lock(`instance:${host}`, timeout);
}
export function getChartInsertLock(lockKey: string, timeout = 30 * SECOND) {
export function getChartInsertLock(lockKey: string, timeout = 30 * 1000) {
return lock(`chart-insert:${lockKey}`, timeout);
}

View file

@ -1,12 +1,10 @@
export class Cache<T> {
public cache: Map<string | null, { date: number; value: T; }>;
private lifetime: number;
public fetcher: (key: string | null) => Promise<T | undefined>;
constructor(lifetime: number, fetcher: Cache<T>['fetcher']) {
constructor(lifetime: Cache<never>['lifetime']) {
this.cache = new Map();
this.lifetime = lifetime;
this.fetcher = fetcher;
}
public set(key: string | null, value: T): void {
@ -19,38 +17,64 @@ export class Cache<T> {
public get(key: string | null): T | undefined {
const cached = this.cache.get(key);
if (cached == null) return undefined;
// discard if past the cache lifetime
if ((Date.now() - cached.date) > this.lifetime) {
this.cache.delete(key);
return undefined;
}
return cached.value;
}
public delete(key: string | null): void {
public delete(key: string | null) {
this.cache.delete(key);
}
/**
* If the value is cached, it is returned. Otherwise the fetcher is
* run to get the value. If the fetcher returns undefined, it is
* returned but not cached.
* fetcherを呼び出して結果をキャッシュ&
* optional: キャッシュが存在してもvalidatorでfalseを返すとキャッシュ無効扱いにします
*/
public async fetch(key: string | null): Promise<T | undefined> {
const cached = this.get(key);
if (cached !== undefined) {
return cached;
} else {
const value = await this.fetcher(key);
// don't cache undefined
if (value !== undefined) {
this.set(key, value);
public async fetch(key: string | null, fetcher: () => Promise<T>, validator?: (cachedValue: T) => boolean): Promise<T> {
const cachedValue = this.get(key);
if (cachedValue !== undefined) {
if (validator) {
if (validator(cachedValue)) {
// Cache HIT
return cachedValue;
}
} else {
// Cache HIT
return cachedValue;
}
return value;
}
// Cache MISS
const value = await fetcher();
this.set(key, value);
return value;
}
/**
* fetcherを呼び出して結果をキャッシュ&
* optional: キャッシュが存在してもvalidatorでfalseを返すとキャッシュ無効扱いにします
*/
public async fetchMaybe(key: string | null, fetcher: () => Promise<T | undefined>, validator?: (cachedValue: T) => boolean): Promise<T | undefined> {
const cachedValue = this.get(key);
if (cachedValue !== undefined) {
if (validator) {
if (validator(cachedValue)) {
// Cache HIT
return cachedValue;
}
} else {
// Cache HIT
return cachedValue;
}
}
// Cache MISS
const value = await fetcher();
if (value !== undefined) {
this.set(key, value);
}
return value;
}
}

View file

@ -3,7 +3,7 @@ import fetch from 'node-fetch';
import config from '@/config/index.js';
import { getAgentByUrl } from './fetch.js';
export async function verifyRecaptcha(secret: string, response: string): Promise<void> {
export async function verifyRecaptcha(secret: string, response: string) {
const result = await getCaptchaResponse('https://www.recaptcha.net/recaptcha/api/siteverify', secret, response).catch(e => {
throw new Error(`recaptcha-request-failed: ${e.message}`);
});
@ -14,7 +14,7 @@ export async function verifyRecaptcha(secret: string, response: string): Promise
}
}
export async function verifyHcaptcha(secret: string, response: string): Promise<void> {
export async function verifyHcaptcha(secret: string, response: string) {
const result = await getCaptchaResponse('https://hcaptcha.com/siteverify', secret, response).catch(e => {
throw new Error(`hcaptcha-request-failed: ${e.message}`);
});

View file

@ -3,26 +3,22 @@ import { Note } from '@/models/entities/note.js';
import { User } from '@/models/entities/user.js';
import { UserListJoinings, UserGroupJoinings, Blockings } from '@/models/index.js';
import * as Acct from '@/misc/acct.js';
import { MINUTE } from '@/const.js';
import { getFullApAccount } from './convert-host.js';
import { Packed } from './schema.js';
import { Cache } from './cache.js';
const blockingCache = new Cache<User['id'][]>(
5 * MINUTE,
(blockerId) => Blockings.findBy({ blockerId }).then(res => res.map(x => x.blockeeId)),
);
const blockingCache = new Cache<User['id'][]>(1000 * 60 * 5);
// designation for users you follow, list users and groups is disabled for performance reasons
// NOTE: フォローしているユーザーのノート、リストのユーザーのノート、グループのユーザーのノート指定はパフォーマンス上の理由で無効になっている
/**
* either noteUserFollowers or antennaUserFollowing must be specified
* noteUserFollowers / antennaUserFollowing
*/
export async function checkHitAntenna(antenna: Antenna, note: (Note | Packed<'Note'>), noteUser: { id: User['id']; username: string; host: string | null; }, noteUserFollowers?: User['id'][], antennaUserFollowing?: User['id'][]): Promise<boolean> {
if (note.visibility === 'specified') return false;
// skip if the antenna creator is blocked by the note author
const blockings = await blockingCache.fetch(noteUser.id);
// アンテナ作成者がノート作成者にブロックされていたらスキップ
const blockings = await blockingCache.fetch(noteUser.id, () => Blockings.findBy({ blockerId: noteUser.id }).then(res => res.map(x => x.blockeeId)));
if (blockings.some(blocking => blocking === antenna.userId)) return false;
if (note.visibility === 'followers') {

View file

@ -5,7 +5,6 @@ import { User } from '@/models/entities/user.js';
type NoteLike = {
userId: Note['userId'];
text: Note['text'];
cw: Note['cw'];
};
type UserLike = {

View file

@ -11,12 +11,12 @@ export function isSelfHost(host: string | null): boolean {
return toPuny(config.host) === toPuny(host);
}
export function extractDbHost(uri: string): string {
export function extractDbHost(uri: string) {
const url = new URL(uri);
return toPuny(url.hostname);
}
export function toPuny(host: string): string {
export function toPuny(host: string) {
return toASCII(host.toLowerCase());
}

View file

@ -2,7 +2,7 @@ import { createTemp } from './create-temp.js';
import { downloadUrl } from './download-url.js';
import { detectType } from './get-file-info.js';
export async function detectUrlMime(url: string): Promise<string> {
export async function detectUrlMime(url: string) {
const [path, cleanup] = await createTemp();
try {

View file

@ -5,7 +5,6 @@ import chalk from 'chalk';
import got, * as Got from 'got';
import IPCIDR from 'ip-cidr';
import PrivateIp from 'private-ip';
import { SECOND, MINUTE } from '@/const.js';
import config from '@/config/index.js';
import Logger from '@/services/logger.js';
import { httpAgent, httpsAgent, StatusError } from './fetch.js';
@ -17,8 +16,8 @@ export async function downloadUrl(url: string, path: string): Promise<void> {
logger.info(`Downloading ${chalk.cyan(url)} ...`);
const timeout = 30 * SECOND;
const operationTimeout = MINUTE;
const timeout = 30 * 1000;
const operationTimeout = 60 * 1000;
const maxSize = config.maxFileSize || 262144000;
const req = got.stream(url, {

View file

@ -1,61 +1,44 @@
import push from 'web-push';
import { db } from '@/db/postgre.js';
import { Meta } from '@/models/entities/meta.js';
import { getFetchInstanceMetadataLock } from '@/misc/app-lock.js';
let cache: Meta;
/**
* Performs the primitive database operation to set the server configuration
*/
export async function setMeta(meta: Meta): Promise<void> {
const unlock = await getFetchInstanceMetadataLock('localhost');
// try to mitigate older bugs where multiple meta entries may have been created
await db.manager.clear(Meta);
await db.manager.insert(Meta, meta);
cache = meta;
unlock();
}
/**
* Performs the primitive database operation to fetch server configuration.
* If there is no entry yet, inserts a new one.
* Writes to `cache` instead of returning.
*/
async function getMeta(): Promise<void> {
const unlock = await getFetchInstanceMetadataLock('localhost');
// new IDs are prioritised because multiple records may have been created due to past bugs
let metas = await db.manager.find(Meta, {
order: {
id: 'DESC',
},
});
if (metas.length === 0) {
const { publicKey, privateKey } = push.generateVAPIDKeys();
await db.manager.insert(Meta, {
id: 'x',
swPublicKey: publicKey,
swPrivateKey: privateKey,
});
metas = await db.manager.find(Meta, {
order: {
id: 'DESC',
},
});
}
cache = metas[0];
unlock();
}
export async function fetchMeta(noCache = false): Promise<Meta> {
if (!noCache && cache) return cache;
await getMeta();
return await db.transaction(async transactionalEntityManager => {
// 過去のバグでレコードが複数出来てしまっている可能性があるので新しいIDを優先する
const metas = await transactionalEntityManager.find(Meta, {
order: {
id: 'DESC',
},
});
return cache;
const meta = metas[0];
if (meta) {
cache = meta;
return meta;
} else {
// metaが空のときfetchMetaが同時に呼ばれるとここが同時に呼ばれてしまうことがあるのでフェイルセーフなupsertを使う
const saved = await transactionalEntityManager
.upsert(
Meta,
{
id: 'x',
},
['id'],
)
.then((x) => transactionalEntityManager.findOneByOrFail(Meta, x.identifiers[0]));
cache = saved;
return saved;
}
});
}
setInterval(() => {
fetchMeta(true).then(meta => {
cache = meta;
});
}, 1000 * 10);

View file

@ -4,10 +4,9 @@ import { URL } from 'node:url';
import CacheableLookup from 'cacheable-lookup';
import fetch from 'node-fetch';
import { HttpProxyAgent, HttpsProxyAgent } from 'hpagent';
import { SECOND } from '@/const.js';
import config from '@/config/index.js';
export async function getJson(url: string, accept = 'application/json, */*', timeout = 10 * SECOND, headers?: Record<string, string>) {
export async function getJson(url: string, accept = 'application/json, */*', timeout = 10000, headers?: Record<string, string>) {
const res = await getResponse({
url,
method: 'GET',
@ -21,7 +20,7 @@ export async function getJson(url: string, accept = 'application/json, */*', tim
return await res.json();
}
export async function getHtml(url: string, accept = 'text/html, */*', timeout = 10 * SECOND, headers?: Record<string, string>) {
export async function getHtml(url: string, accept = 'text/html, */*', timeout = 10000, headers?: Record<string, string>) {
const res = await getResponse({
url,
method: 'GET',
@ -36,7 +35,7 @@ export async function getHtml(url: string, accept = 'text/html, */*', timeout =
}
export async function getResponse(args: { url: string, method: string, body?: string, headers: Record<string, string>, timeout?: number, size?: number }) {
const timeout = args.timeout || 10 * SECOND;
const timeout = args.timeout || 10 * 1000;
const controller = new AbortController();
setTimeout(() => {
@ -71,7 +70,7 @@ const cache = new CacheableLookup({
*/
const _http = new http.Agent({
keepAlive: true,
keepAliveMsecs: 30 * SECOND,
keepAliveMsecs: 30 * 1000,
lookup: cache.lookup,
} as http.AgentOptions);
@ -80,7 +79,7 @@ const _http = new http.Agent({
*/
const _https = new https.Agent({
keepAlive: true,
keepAliveMsecs: 30 * SECOND,
keepAliveMsecs: 30 * 1000,
lookup: cache.lookup,
} as https.AgentOptions);
@ -92,7 +91,7 @@ const maxSockets = Math.max(256, config.deliverJobConcurrency || 128);
export const httpAgent = config.proxy
? new HttpProxyAgent({
keepAlive: true,
keepAliveMsecs: 30 * SECOND,
keepAliveMsecs: 30 * 1000,
maxSockets,
maxFreeSockets: 256,
scheduling: 'lifo',
@ -106,7 +105,7 @@ export const httpAgent = config.proxy
export const httpsAgent = config.proxy
? new HttpsProxyAgent({
keepAlive: true,
keepAliveMsecs: 30 * SECOND,
keepAliveMsecs: 30 * 1000,
maxSockets,
maxFreeSockets: 256,
scheduling: 'lifo',

View file

@ -3,11 +3,8 @@ import { User } from '@/models/entities/user.js';
import { UserKeypair } from '@/models/entities/user-keypair.js';
import { Cache } from './cache.js';
const cache = new Cache<UserKeypair>(
Infinity,
(userId) => UserKeypairs.findOneByOrFail({ userId }),
);
const cache = new Cache<UserKeypair>(Infinity);
export async function getUserKeypair(userId: User['id']): Promise<UserKeypair> {
return await cache.fetch(userId);
return await cache.fetch(userId, () => UserKeypairs.findOneByOrFail({ userId }));
}

View file

@ -4,27 +4,14 @@ import { Emojis } from '@/models/index.js';
import { Emoji } from '@/models/entities/emoji.js';
import { Note } from '@/models/entities/note.js';
import { query } from '@/prelude/url.js';
import { HOUR } from '@/const.js';
import { Cache } from './cache.js';
import { isSelfHost, toPunyNullable } from './convert-host.js';
import { decodeReaction } from './reaction-lib.js';
/**
* composite cache key: `${host ?? ''}:${name}`
*/
const cache = new Cache<Emoji | null>(
12 * HOUR,
async (key) => {
const [host, name] = key.split(':');
return (await Emojis.findOneBy({
name,
host: host || IsNull(),
})) || null;
},
);
const cache = new Cache<Emoji | null>(1000 * 60 * 60 * 12);
/**
* Information needed to attach in ActivityPub
*
*/
type PopulatedEmoji = {
name: string;
@ -49,22 +36,28 @@ function parseEmojiStr(emojiName: string, noteUserHost: string | null) {
const name = match[1];
// ホスト正規化
const host = toPunyNullable(normalizeHost(match[2], noteUserHost));
return { name, host };
}
/**
* Resolve emoji information from ActivityPub attachment.
* @param emojiName custom emoji names attached to notes, user profiles or in rections. Colons should not be included. Localhost is denote by @. (see also `decodeReaction`)
* @param noteUserHost host that the content is from, to default to
* @returns emoji information. `null` means not found.
*
* @param emojiName (:, @. (decodeReactionで可能))
* @param noteUserHost
* @returns , nullは未マッチを意味する
*/
export async function populateEmoji(emojiName: string, noteUserHost: string | null): Promise<PopulatedEmoji | null> {
const { name, host } = parseEmojiStr(emojiName, noteUserHost);
if (name == null) return null;
const emoji = await cache.fetch(`${host ?? ''}:${name}`);
const queryOrNull = async () => (await Emojis.findOneBy({
name,
host: host ?? IsNull(),
})) || null;
const emoji = await cache.fetch(`${name} ${host}`, queryOrNull);
if (emoji == null) return null;
@ -79,7 +72,7 @@ export async function populateEmoji(emojiName: string, noteUserHost: string | nu
}
/**
* Retrieve list of emojis from the cache. Uncached emoji are dropped.
* (, )
*/
export async function populateEmojis(emojiNames: string[], noteUserHost: string | null): Promise<PopulatedEmoji[]> {
const emojis = await Promise.all(emojiNames.map(x => populateEmoji(x, noteUserHost)));
@ -110,20 +103,11 @@ export function aggregateNoteEmojis(notes: Note[]) {
}
/**
* Query list of emojis in bulk and add them to the cache.
*
*/
export async function prefetchEmojis(emojis: { name: string; host: string | null; }[]): Promise<void> {
const notCachedEmojis = emojis.filter(emoji => {
// check if the cache has this emoji
return cache.get(`${emoji.host ?? ''}:${emoji.name}`) == null;
});
// check if there even are any uncached emoji to handle
if (notCachedEmojis.length === 0) return;
// query all uncached emoji
const notCachedEmojis = emojis.filter(emoji => cache.get(`${emoji.name} ${emoji.host}`) == null);
const emojisQuery: any[] = [];
// group by hosts to try to reduce query size
const hosts = new Set(notCachedEmojis.map(e => e.host));
for (const host of hosts) {
emojisQuery.push({
@ -131,14 +115,11 @@ export async function prefetchEmojis(emojis: { name: string; host: string | null
host: host ?? IsNull(),
});
}
await Emojis.find({
const _emojis = emojisQuery.length > 0 ? await Emojis.find({
where: emojisQuery,
select: ['name', 'host', 'originalUrl', 'publicUrl'],
}).then(emojis => {
// store all emojis into the cache
emojis.forEach(emoji => {
cache.set(`${emoji.host ?? ''}:${emoji.name}`, emoji);
});
});
}) : [];
for (const emoji of _emojis) {
cache.set(`${emoji.name} ${emoji.host}`, emoji);
}
}

View file

@ -1,5 +1,5 @@
import { Note } from '@/models/entities/note.js';
export function isPureRenote(note: Note): note is Note & { renoteId: string, text: null, fileIds: null | never[], hasPoll: false } {
export function isPureRenote(note: Note): boolean {
return note.renoteId != null && note.text == null && (note.fileIds == null || note.fileIds.length === 0) && !note.hasPoll;
}

View file

@ -1,53 +0,0 @@
import { Brackets } from 'typeorm';
import { db } from '@/db/postgre.js';
import { fetchMeta } from '@/misc/fetch-meta.js';
import { Instances } from '@/models/index.js';
import { Instance } from '@/models/entities/instance.js';
import { DAY } from '@/const.js';
// Threshold from last contact after which an instance will be considered
// "dead" and should no longer get activities delivered to it.
const deadThreshold = 7 * DAY;
/**
* Returns the subset of hosts which should be skipped.
*
* @param hosts array of punycoded instance hosts
* @returns array of punycoed instance hosts that should be skipped (subset of hosts parameter)
*/
export async function skippedInstances(hosts: Array<Instace['host']>): Array<Instance['host']> {
// first check for blocked instances since that info may already be in memory
const { blockedHosts } = await fetchMeta();
const skipped = hosts.filter(host => blockedHosts.includes(host));
// if possible return early and skip accessing the database
if (skipped.length === hosts.length) return hosts;
const deadTime = new Date(Date.now() - deadThreshold);
return skipped.concat(
await db.query(
`SELECT host FROM instance WHERE ("isSuspended" OR "latestStatus" = 410 OR "lastCommunicatedAt" < $1::date) AND host = ANY(string_to_array($2, ','))`,
[
deadTime.toISOString(),
// don't check hosts again that we already know are suspended
// also avoids adding duplicates to the list
hosts.filter(host => !skipped.includes(host) && !host.includes(',')).join(','),
],
)
.then(res => res.map(row => row.host))
);
}
/**
* Returns whether a specific host (punycoded) should be skipped.
* Convenience wrapper around skippedInstances which should only be used if there is a single host to check.
* If you have multiple hosts, consider using skippedInstances instead to do a bulk check.
*
* @param host punycoded instance host
* @returns whether the given host should be skipped
*/
export async function shouldSkipInstance(host: Instance['host']): boolean {
const skipped = await skippedInstances([host]);
return skipped.length > 0;
}

View file

@ -62,8 +62,7 @@ export class DriveFile {
public size: number;
@Column('varchar', {
length: 2048,
nullable: true,
length: 512, nullable: true,
comment: 'The comment of the DriveFile.',
})
public comment: string | null;

View file

@ -7,7 +7,7 @@ export class Instance {
public id: string;
/**
* Date and time this instance was first seen.
*
*/
@Index()
@Column('timestamp with time zone', {
@ -16,7 +16,7 @@ export class Instance {
public caughtAt: Date;
/**
* Hostname
*
*/
@Index({ unique: true })
@Column('varchar', {
@ -26,7 +26,7 @@ export class Instance {
public host: string;
/**
* Number of users on this instance.
*
*/
@Column('integer', {
default: 0,
@ -35,7 +35,7 @@ export class Instance {
public usersCount: number;
/**
* Number of notes on this instance.
* 稿
*/
@Column('integer', {
default: 0,
@ -44,7 +44,7 @@ export class Instance {
public notesCount: number;
/**
* Number of local users who are followed by users from this instance.
*
*/
@Column('integer', {
default: 0,
@ -52,7 +52,7 @@ export class Instance {
public followingCount: number;
/**
* Number of users from this instance who are followed by local users.
*
*/
@Column('integer', {
default: 0,
@ -60,7 +60,7 @@ export class Instance {
public followersCount: number;
/**
* Timestamp of the latest outgoing HTTP request.
*
*/
@Column('timestamp with time zone', {
nullable: true,
@ -68,7 +68,7 @@ export class Instance {
public latestRequestSentAt: Date | null;
/**
* HTTP status code that was received for the last outgoing HTTP request.
* HTTPステータスコード
*/
@Column('integer', {
nullable: true,
@ -76,7 +76,7 @@ export class Instance {
public latestStatus: number | null;
/**
* Timestamp of the latest incoming HTTP request.
*
*/
@Column('timestamp with time zone', {
nullable: true,
@ -84,13 +84,13 @@ export class Instance {
public latestRequestReceivedAt: Date | null;
/**
* Timestamp of last communication with this instance (incoming or outgoing).
*
*/
@Column('timestamp with time zone')
public lastCommunicatedAt: Date;
/**
* Whether this instance seems unresponsive.
*
*/
@Column('boolean', {
default: false,
@ -98,7 +98,7 @@ export class Instance {
public isNotResponding: boolean;
/**
* Whether sending activities to this instance has been suspended.
*
*/
@Index()
@Column('boolean', {

View file

@ -3,11 +3,6 @@ import { id } from '../id.js';
import { User } from './user.js';
import { Clip } from './clip.js';
export enum TranslationService {
DeepL = 'deepl',
LibreTranslate = 'libretranslate',
}
@Entity()
export class Meta {
@PrimaryColumn({
@ -236,15 +231,22 @@ export class Meta {
})
public smtpPass: string | null;
@Column('varchar', {
length: 128,
@Column('boolean', {
default: false,
})
public swPublicKey: string;
public enableServiceWorker: boolean;
@Column('varchar', {
length: 128,
nullable: true,
})
public swPrivateKey: string;
public swPublicKey: string | null;
@Column('varchar', {
length: 128,
nullable: true,
})
public swPrivateKey: string | null;
@Column('boolean', {
default: false,
@ -297,29 +299,16 @@ export class Meta {
})
public discordClientSecret: string | null;
@Column('enum', {
enum: TranslationService,
nullable: true,
})
public translationService: TranslationService | null;
@Column('varchar', {
length: 128,
nullable: true,
})
public deeplAuthKey: string | null;
@Column('varchar', {
length: 128,
nullable: true,
@Column('boolean', {
default: false,
})
public libreTranslateAuthKey: string | null;
@Column('varchar', {
length: 2048,
nullable: true,
})
public libreTranslateEndpoint: string | null;
public deeplIsPro: boolean;
@Column('varchar', {
length: 512,

View file

@ -218,11 +218,6 @@ export class User {
})
public token: string | null;
@Column('boolean', {
default: true,
})
public federateBlocks: boolean;
constructor(data: Partial<User>) {
if (data == null) return;

View file

@ -77,7 +77,7 @@ async function populateMyReaction(note: Note, meId: User['id'], _hint_?: {
export const NoteRepository = db.getRepository(Note).extend({
async isVisibleForMe(note: Note, meId: User['id'] | null): Promise<boolean> {
// This code must always be synchronized with the checks in generateVisibilityQuery.
// This code must always be synchronized with the `note_visible` SQL function.
// visibility が specified かつ自分が指定されていなかったら非表示
if (note.visibility === 'specified') {
if (meId == null) {
@ -216,20 +216,12 @@ export const NoteRepository = db.getRepository(Note).extend({
if (packed.user.isCat && packed.text) {
const tokens = packed.text ? mfm.parse(packed.text) : [];
function nyaizeNode(node: mfm.Node) {
if (node.type === 'quote') return;
mfm.inspect(tokens, node => {
if (node.type === 'text') {
// TODO: quoteなtextはskip
node.props.text = nyaize(node.props.text);
}
if (node.children) {
for (const child of node.children) {
nyaizeNode(child);
}
}
}
for (const node of tokens) {
nyaizeNode(node);
}
});
packed.text = mfm.toString(tokens);
}

View file

@ -6,16 +6,13 @@ import { Packed } from '@/misc/schema.js';
import { awaitAll, Promiseable } from '@/prelude/await-all.js';
import { populateEmojis } from '@/misc/populate-emojis.js';
import { getAntennas } from '@/misc/antenna-cache.js';
import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD, HOUR } from '@/const.js';
import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from '@/const.js';
import { Cache } from '@/misc/cache.js';
import { db } from '@/db/postgre.js';
import { Instance } from '../entities/instance.js';
import { Notes, NoteUnreads, FollowRequests, Notifications, MessagingMessages, UserNotePinings, Followings, Blockings, Mutings, RenoteMutings, UserProfiles, UserSecurityKeys, UserGroupJoinings, Pages, Announcements, AnnouncementReads, AntennaNotes, ChannelFollowings, Instances, DriveFiles } from '../index.js';
const userInstanceCache = new Cache<Instance | null>(
3 * HOUR,
(host) => Instances.findOneBy({ host }).then(x => x ?? undefined),
);
const userInstanceCache = new Cache<Instance | null>(1000 * 60 * 60 * 3);
type IsUserDetailed<Detailed extends boolean> = Detailed extends true ? Packed<'UserDetailed'> : Packed<'UserLite'>;
type IsMeAndIsUserDetailed<ExpectsMe extends boolean | null, Detailed extends boolean> =
@ -30,7 +27,7 @@ const ajv = new Ajv();
const localUsernameSchema = { type: 'string', pattern: /^\w{1,20}$/.toString().slice(1, -1) } as const;
const passwordSchema = { type: 'string', minLength: 1 } as const;
const nameSchema = { type: 'string', minLength: 1, maxLength: 50 } as const;
const descriptionSchema = { type: 'string', minLength: 1, maxLength: 2048 } as const;
const descriptionSchema = { type: 'string', minLength: 1, maxLength: 500 } as const;
const locationSchema = { type: 'string', minLength: 1, maxLength: 50 } as const;
const birthdaySchema = { type: 'string', pattern: /^([0-9]{4})-([0-9]{2})-([0-9]{2})$/.toString().slice(1, -1) } as const;
@ -312,15 +309,17 @@ export const UserRepository = db.getRepository(User).extend({
isModerator: user.isModerator || falsy,
isBot: user.isBot || falsy,
isCat: user.isCat || falsy,
instance: !user.host ? undefined : userInstanceCache.fetch(user.host)
.then(instance => !instance ? undefined : {
name: instance.name,
softwareName: instance.softwareName,
softwareVersion: instance.softwareVersion,
iconUrl: instance.iconUrl,
faviconUrl: instance.faviconUrl,
themeColor: instance.themeColor,
}),
instance: user.host ? userInstanceCache.fetch(user.host,
() => Instances.findOneBy({ host: user.host! }),
v => v != null,
).then(instance => instance ? {
name: instance.name,
softwareName: instance.softwareName,
softwareVersion: instance.softwareVersion,
iconUrl: instance.iconUrl,
faviconUrl: instance.faviconUrl,
themeColor: instance.themeColor,
} : undefined) : undefined,
emojis: populateEmojis(user.emojis, user.host),
onlineStatus: this.getOnlineStatus(user),
@ -393,7 +392,6 @@ export const UserRepository = db.getRepository(User).extend({
mutingNotificationTypes: profile!.mutingNotificationTypes,
emailNotificationTypes: profile!.emailNotificationTypes,
showTimelineReplies: user.showTimelineReplies || falsy,
federateBlocks: user!.federateBlocks,
} : {}),
...(opts.includeSecrets ? {

View file

@ -6,7 +6,6 @@ import { DriveFile } from '@/models/entities/drive-file.js';
import { Webhook, webhookEventTypes } from '@/models/entities/webhook.js';
import { IActivity } from '@/remote/activitypub/type.js';
import { envOption } from '@/env.js';
import { MINUTE } from '@/const.js';
import processDeliver from './processors/deliver.js';
import processInbox from './processors/inbox.js';
@ -97,7 +96,7 @@ export function deliver(user: ThinUser, content: unknown, to: string | null) {
return deliverQueue.add(data, {
attempts: config.deliverJobMaxAttempts || 12,
timeout: MINUTE,
timeout: 1 * 60 * 1000, // 1min
backoff: {
type: 'apBackoff',
},
@ -114,7 +113,7 @@ export function inbox(activity: IActivity, signature: httpSignature.IParsedSigna
return inboxQueue.add(data, {
attempts: config.inboxJobMaxAttempts || 8,
timeout: 5 * MINUTE,
timeout: 5 * 60 * 1000, // 5min
backoff: {
type: 'apBackoff',
},
@ -279,7 +278,7 @@ export function webhookDeliver(webhook: Webhook, type: typeof webhookEventTypes[
return webhookDeliverQueue.add(data, {
attempts: 4,
timeout: MINUTE,
timeout: 1 * 60 * 1000, // 1min
backoff: {
type: 'apBackoff',
},

View file

@ -1,5 +1,4 @@
import Bull from 'bull';
import { SECOND, MINUTE, HOUR } from '@/const.js';
import config from '@/config/index.js';
import { getRedisOptions } from '@/config/redis.js';
@ -9,7 +8,7 @@ export function initialize<T>(name: string, limitPerSec = -1): Bull.Queue<T> {
prefix: config.redis.prefix ? `${config.redis.prefix}:queue` : 'queue',
limiter: limitPerSec > 0 ? {
max: limitPerSec,
duration: SECOND,
duration: 1000,
} : undefined,
settings: {
backoffStrategies: {
@ -21,8 +20,8 @@ export function initialize<T>(name: string, limitPerSec = -1): Bull.Queue<T> {
// ref. https://github.com/misskey-dev/misskey/pull/7635#issue-971097019
function apBackoff(attemptsMade: number, err: Error) {
const baseDelay = MINUTE;
const maxBackoff = 8 * HOUR;
const baseDelay = 60 * 1000; // 1min
const maxBackoff = 8 * 60 * 60 * 1000; // 8hours
let backoff = (Math.pow(2, attemptsMade) - 1) * baseDelay;
backoff = Math.min(backoff, maxBackoff);
backoff += Math.round(backoff * Math.random() * 0.2);

View file

@ -3,7 +3,6 @@ import Bull from 'bull';
import { format as dateFormat } from 'date-fns';
import { In, MoreThan, Not } from 'typeorm';
import { MONTH } from '@/const.js';
import { getFullApAccount } from '@/misc/convert-host.js';
import { createTemp } from '@/misc/create-temp.js';
import { Following } from '@/models/entities/following.js';
@ -62,7 +61,7 @@ export async function exportFollowing(job: Bull.Job<DbUserJobData>, done: () =>
continue;
}
if (job.data.excludeInactive && u.updatedAt && (Date.now() - u.updatedAt.getTime() > 3 * MONTH)) {
if (job.data.excludeInactive && u.updatedAt && (Date.now() - u.updatedAt.getTime() > 1000 * 60 * 60 * 24 * 90)) {
continue;
}

View file

@ -6,20 +6,39 @@ import Logger from '@/services/logger.js';
import { Instances } from '@/models/index.js';
import { apRequestChart, federationChart, instanceChart } from '@/services/chart/index.js';
import { fetchInstanceMetadata } from '@/services/fetch-instance-metadata.js';
import { fetchMeta } from '@/misc/fetch-meta.js';
import { toPuny } from '@/misc/convert-host.js';
import { Cache } from '@/misc/cache.js';
import { Instance } from '@/models/entities/instance.js';
import { StatusError } from '@/misc/fetch.js';
import { shouldSkipInstance } from '@/misc/skipped-instances.js';
import { DeliverJobData } from '@/queue/types.js';
import { LessThan } from 'typeorm';
import { DAY } from '@/const.js';
const logger = new Logger('deliver');
let latest: string | null = null;
const deadThreshold = 30 * DAY;
export default async (job: Bull.Job<DeliverJobData>) => {
const { host } = new URL(job.data.to);
const puny = toPuny(host);
if (await shouldSkipInstance(puny)) return 'skip';
// ブロックしてたら中断
const meta = await fetchMeta();
if (meta.blockedHosts.includes(puny)) {
return 'skip (blocked)';
}
const deadTime = new Date(Date.now() - deadThreshold);
const isSuspendedOrDead = await Instances.countBy([
{ host: puny, isSuspended: true },
{ host: puny, lastCommunicatedAt: LessThan(deadTime) },
]);
if (isSuspendedOrDead) {
return 'skip (suspended or dead)';
}
try {
if (latest !== (latest = JSON.stringify(job.data.content, null, 2))) {
@ -62,8 +81,8 @@ export default async (job: Bull.Job<DeliverJobData>) => {
if (res instanceof StatusError) {
// 4xx
if (res.isClientError) {
// A client error means that something is wrong with the request we are making,
// which means that retrying it makes no sense.
// HTTPステータスコード4xxはクライアントエラーであり、それはつまり
// 何回再送しても成功することはないということなのでエラーにはしないでおく
return `${res.statusCode} ${res.statusMessage}`;
}

View file

@ -10,14 +10,8 @@ import { uriPersonCache, userByIdCache } from '@/services/user-cache.js';
import { IObject, getApId } from './type.js';
import { resolvePerson } from './models/person.js';
const publicKeyCache = new Cache<UserPublickey>(
Infinity,
(keyId) => UserPublickeys.findOneBy({ keyId }).then(x => x ?? undefined),
);
const publicKeyByUserIdCache = new Cache<UserPublickey>(
Infinity,
(userId) => UserPublickeys.findOneBy({ userId }).then(x => x ?? undefined),
);
const publicKeyCache = new Cache<UserPublickey | null>(Infinity);
const publicKeyByUserIdCache = new Cache<UserPublickey | null>(Infinity);
export type UriParseResult = {
/** wether the URI was generated by us */
@ -105,9 +99,13 @@ export default class DbResolver {
if (parsed.local) {
if (parsed.type !== 'users') return null;
return await userByIdCache.fetch(parsed.id) ?? null;
return await userByIdCache.fetchMaybe(parsed.id, () => Users.findOneBy({
id: parsed.id,
}).then(x => x ?? undefined)) ?? null;
} else {
return await uriPersonCache.fetch(parsed.uri) ?? null;
return await uriPersonCache.fetch(parsed.uri, () => Users.findOneBy({
uri: parsed.uri,
}));
}
}
@ -118,12 +116,20 @@ export default class DbResolver {
user: CacheableRemoteUser;
key: UserPublickey;
} | null> {
const key = await publicKeyCache.fetch(keyId);
const key = await publicKeyCache.fetch(keyId, async () => {
const key = await UserPublickeys.findOneBy({
keyId,
});
if (key == null) return null;
return key;
}, key => key != null);
if (key == null) return null;
return {
user: await userByIdCache.fetch(key.userId) as CacheableRemoteUser,
user: await userByIdCache.fetch(key.userId, () => Users.findOneByOrFail({ id: key.userId })) as CacheableRemoteUser,
key,
};
}
@ -139,7 +145,7 @@ export default class DbResolver {
if (user == null) return null;
const key = await publicKeyByUserIdCache.fetch(user.id);
const key = await publicKeyByUserIdCache.fetch(user.id, () => UserPublickeys.findOneBy({ userId: user.id }), v => v != null);
return {
user,

View file

@ -2,7 +2,6 @@ import { IsNull, Not } from 'typeorm';
import { ILocalUser, IRemoteUser, User } from '@/models/entities/user.js';
import { Users, Followings } from '@/models/index.js';
import { deliver } from '@/queue/index.js';
import { skippedInstances } from '@/misc/skipped-instances.js';
//#region types
interface IRecipe {
@ -119,18 +118,26 @@ export default class DeliverManager {
if (this.recipes.some(r => isFollowers(r))) {
// followers deliver
const followers = await Followings.createQueryBuilder('followings')
// return either the shared inbox (if available) or the individual inbox
.select('COALESCE(followings.followerSharedInbox, followings.followerInbox)', 'inbox')
// so we don't have to make our inboxes Set work as hard
.distinct(true)
// ...for the specific actors followers
.where('followings.followeeId = :actorId', { actorId: this.actor.id })
// don't deliver to ourselves
.andWhere('followings.followerHost IS NOT NULL')
.getRawMany();
// TODO: SELECT DISTINCT ON ("followerSharedInbox") "followerSharedInbox" みたいな問い合わせにすればよりパフォーマンス向上できそう
// ただ、sharedInboxがnullなリモートユーザーも稀におり、その対応ができなさそう
const followers = await Followings.find({
where: {
followeeId: this.actor.id,
followerHost: Not(IsNull()),
},
select: {
followerSharedInbox: true,
followerInbox: true,
},
}) as {
followerSharedInbox: string | null;
followerInbox: string;
}[];
followers.forEach(({ inbox }) => inboxes.add(inbox));
for (const following of followers) {
const inbox = following.followerSharedInbox || following.followerInbox;
inboxes.add(inbox);
}
}
this.recipes.filter((recipe): recipe is IDirectRecipe =>
@ -143,19 +150,8 @@ export default class DeliverManager {
)
.forEach(recipe => inboxes.add(recipe.to.inbox!));
const instancesToSkip = await skippedInstances(
// get (unique) list of hosts
Array.from(new Set(
Array.from(inboxes)
.map(inbox => new URL(inbox).host)
))
);
// deliver
for (const inbox of inboxes) {
// skip instances as indicated
if (instancesToSkip.includes(new URL(inbox).host)) continue;
deliver(this.actor, this.activity, inbox);
}
}

View file

@ -2,8 +2,8 @@ import { IObject } from '../type.js';
import { extractApHashtagObjects } from '../models/tag.js';
import { fromHtml } from '@/mfm/from-html.js';
export function htmlToMfm(html: string, tag?: IObject | IObject[], quoteUri?: string | null) {
export function htmlToMfm(html: string, tag?: IObject | IObject[]) {
const hashtagNames = extractApHashtagObjects(tag).map(x => x.name).filter((x): x is string => x != null);
return fromHtml(html, hashtagNames, quoteUri);
return fromHtml(html, hashtagNames);
}

View file

@ -194,14 +194,14 @@ export async function createNote(value: string | IObject, resolver?: Resolver =
const cw = note.summary === '' ? null : note.summary;
// text parsing
// テキストのパース
let text: string | null = null;
if (note.source?.mediaType === 'text/x.misskeymarkdown' && typeof note.source.content === 'string') {
text = note.source.content;
} else if (typeof note._misskey_content !== 'undefined') {
text = note._misskey_content;
} else if (typeof note.content === 'string') {
text = htmlToMfm(note.content, note.tag, quote?.uri);
text = htmlToMfm(note.content, note.tag);
}
// vote

View file

@ -1,4 +1,3 @@
import { DAY } from '@/const.js';
import { CacheableRemoteUser } from '@/models/entities/user.js';
import { IObject } from './type.js';
import { performActivity } from './kernel/index.js';
@ -7,9 +6,9 @@ import { updatePerson } from './models/person.js';
export default async (actor: CacheableRemoteUser, activity: IObject): Promise<void> => {
await performActivity(actor, activity);
// And while I'm at it, I'll update the remote user information if it's out of date.
// ついでにリモートユーザーの情報が古かったら更新しておく
if (actor.uri) {
if (actor.lastFetchedAt == null || Date.now() - actor.lastFetchedAt.getTime() > DAY) {
if (actor.lastFetchedAt == null || Date.now() - actor.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24) {
setImmediate(() => {
updatePerson(actor.uri!);
});

View file

@ -34,7 +34,7 @@ export default async (user: { id: User['id'] }, url: string, object: any) => {
* @param user http-signature user
* @param url URL to fetch
*/
export async function signedGet(url: string, user: { id: User['id'] }): Promise<any> {
export async function signedGet(url: string, user: { id: User['id'] }) {
const keypair = await getUserKeypair(user.id);
const req = createSignedGet({

View file

@ -1,7 +1,6 @@
import { URL } from 'node:url';
import chalk from 'chalk';
import { IsNull } from 'typeorm';
import { DAY } from '@/const.js';
import config from '@/config/index.js';
import { isSelfHost, toPuny } from '@/misc/convert-host.js';
import { User, IRemoteUser } from '@/models/entities/user.js';
@ -50,9 +49,9 @@ export async function resolveUser(username: string, idnHost: string | null): Pro
return await createPerson(self.href);
}
// If user information is out of date, start over with webfinger
if (user.lastFetchedAt == null || Date.now() - user.lastFetchedAt.getTime() > DAY) {
// Prevent race conditions
// ユーザー情報が古い場合は、WebFilgerからやりなおして返す
if (user.lastFetchedAt == null || Date.now() - user.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24) {
// 繋がらないインスタンスに何回も試行するのを防ぐ, 後続の同様処理の連続試行を防ぐ ため 試行前にも更新する
await Users.update(user.id, {
lastFetchedAt: new Date(),
});

View file

@ -23,7 +23,9 @@ import Featured from './activitypub/featured.js';
// Init router
const router = new Router();
function inbox(ctx: Router.RouterContext): void {
//#region Routing
function inbox(ctx: Router.RouterContext) {
let signature;
try {
@ -41,15 +43,13 @@ function inbox(ctx: Router.RouterContext): void {
const ACTIVITY_JSON = 'application/activity+json; charset=utf-8';
const LD_JSON = 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"; charset=utf-8';
function isActivityPubReq(ctx: Router.RouterContext): boolean {
function isActivityPubReq(ctx: Router.RouterContext) {
ctx.response.vary('Accept');
// if no accept header is supplied, koa returns the 1st, so html is used as a dummy
// i.e. activitypub requests must be explicit
const accepted = ctx.accepts('html', ACTIVITY_JSON, LD_JSON);
return typeof accepted === 'string' && !accepted.match(/html/);
}
export function setResponseType(ctx: Router.RouterContext): void {
export function setResponseType(ctx: Router.RouterContext) {
const accept = ctx.accepts(ACTIVITY_JSON, LD_JSON);
if (accept === LD_JSON) {
ctx.response.type = LD_JSON;
@ -77,7 +77,7 @@ router.get('/notes/:note', async (ctx, next) => {
return;
}
// redirect if remote
// リモートだったらリダイレクト
if (note.userHost != null) {
if (note.uri == null || isSelfHost(note.userHost)) {
ctx.status = 500;
@ -94,15 +94,6 @@ router.get('/notes/:note', async (ctx, next) => {
// note activity
router.get('/notes/:note/activity', async ctx => {
if (!isActivityPubReq(ctx)) {
/*
Redirect to the human readable page. in this case using next is not possible,
since there is no human readable page explicitly for the activity.
*/
ctx.redirect(`/notes/${ctx.params.note}`);
return;
}
const note = await Notes.findOneBy({
id: ctx.params.note,
userHost: IsNull(),
@ -158,7 +149,7 @@ router.get('/users/:user/publickey', async ctx => {
});
// user
async function userInfo(ctx: Router.RouterContext, user: User | null): Promise<void> {
async function userInfo(ctx: Router.RouterContext, user: User | null) {
if (user == null) {
ctx.status = 404;
return;
@ -194,6 +185,7 @@ router.get('/@:user', async (ctx, next) => {
await userInfo(ctx, user);
});
//#endregion
// emoji
router.get('/emojis/:emoji', async ctx => {
@ -214,13 +206,6 @@ router.get('/emojis/:emoji', async ctx => {
// like
router.get('/likes/:like', async ctx => {
const reaction = await NoteReactions.findOneBy({ id: ctx.params.like });
if (reaction == null) {
ctx.status = 404;
return;
}
const note = await Notes.findOneBy({
id: reaction.noteId,
visibility: In(['public' as const, 'home' as const]),
@ -231,6 +216,13 @@ router.get('/likes/:like', async ctx => {
return;
}
const reaction = await NoteReactions.findOneBy({ id: ctx.params.like });
if (reaction == null) {
ctx.status = 404;
return;
}
ctx.body = renderActivity(await renderLike(reaction, note));
ctx.set('Cache-Control', 'public, max-age=180');
setResponseType(ctx);

View file

@ -3,13 +3,10 @@ import { Users, AccessTokens, Apps } from '@/models/index.js';
import { AccessToken } from '@/models/entities/access-token.js';
import { Cache } from '@/misc/cache.js';
import { App } from '@/models/entities/app.js';
import { userByIdCache, localUserByNativeTokenCache } from '@/services/user-cache.js';
import { localUserByIdCache, localUserByNativeTokenCache } from '@/services/user-cache.js';
import isNativeToken from './common/is-native-token.js';
const appCache = new Cache<App>(
Infinity,
(id) => Apps.findOneByOrFail({ id }),
);
const appCache = new Cache<App>(Infinity);
export class AuthenticationError extends Error {
constructor(message: string) {
@ -18,8 +15,8 @@ export class AuthenticationError extends Error {
}
}
export default async (authorization: string | null | undefined, bodyToken: string | null | undefined): Promise<[CacheableLocalUser | null | undefined, AccessToken | null | undefined]> => {
let maybeToken: string | null = null;
export default async (authorization: string | null | undefined, bodyToken: string | null): Promise<[CacheableLocalUser | null | undefined, AccessToken | null | undefined]> => {
let token: string | null = null;
// check if there is an authorization header set
if (authorization != null) {
@ -30,19 +27,19 @@ export default async (authorization: string | null | undefined, bodyToken: strin
// check if OAuth 2.0 Bearer tokens are being used
// Authorization schemes are case insensitive
if (authorization.substring(0, 7).toLowerCase() === 'bearer ') {
maybeToken = authorization.substring(7);
token = authorization.substring(7);
} else {
throw new AuthenticationError('unsupported authentication scheme');
}
} else if (bodyToken != null) {
maybeToken = bodyToken;
token = bodyToken;
} else {
return [null, null];
}
const token: string = maybeToken;
if (isNativeToken(token)) {
const user = await localUserByNativeTokenCache.fetch(token);
const user = await localUserByNativeTokenCache.fetch(token,
() => Users.findOneBy({ token }) as Promise<ILocalUser | null>);
if (user == null) {
throw new AuthenticationError('unknown token');
@ -66,13 +63,14 @@ export default async (authorization: string | null | undefined, bodyToken: strin
lastUsedAt: new Date(),
});
const user = await userByIdCache.fetch(accessToken.userId);
// can't authorize remote users
if (!Users.isLocalUser(user)) return [null, null];
const user = await localUserByIdCache.fetch(accessToken.userId,
() => Users.findOneBy({
id: accessToken.userId,
}) as Promise<ILocalUser>);
if (accessToken.appId) {
const app = await appCache.fetch(accessToken.appId);
const app = await appCache.fetch(accessToken.appId,
() => Apps.findOneByOrFail({ id: accessToken.appId! }));
return [user, {
id: accessToken.id,

View file

@ -1,42 +1,17 @@
import { Brackets, SelectQueryBuilder } from 'typeorm';
import { SelectQueryBuilder } from 'typeorm';
import { User } from '@/models/entities/user.js';
import { Followings } from '@/models/index.js';
import { Note } from '@/models/entities/note.js';
import { Notes } from '@/models/index.js';
export function generateVisibilityQuery(q: SelectQueryBuilder<any>, me?: { id: User['id'] } | null) {
// This code must always be synchronized with the checks in Notes.isVisibleForMe.
if (me == null) {
q.andWhere(new Brackets(qb => { qb
.where("note.visibility = 'public'")
.orWhere("note.visibility = 'home'");
}));
export function visibilityQuery(q: SelectQueryBuilder<Note>, meId?: User['id'] | null = null): SelectQueryBuilder<Note> {
const superQuery = Notes.createQueryBuilder()
.from(() => q, 'note');
if (meId == null) {
superQuery.where('note_visible(note.id, null);');
} else {
const followingQuery = Followings.createQueryBuilder('following')
.select('following.followeeId')
.where('following.followerId = :meId');
q.andWhere(new Brackets(qb => { qb
// 公開投稿である
.where(new Brackets(qb => { qb
.where("note.visibility = 'public'")
.orWhere("note.visibility = 'home'");
}))
// または 自分自身
.orWhere('note.userId = :meId')
// または 自分宛て
.orWhere(':meId = ANY(note.visibleUserIds)')
.orWhere(':meId = ANY(note.mentions)')
.orWhere(new Brackets(qb => { qb
// または フォロワー宛ての投稿であり、
.where("note.visibility = 'followers'")
.andWhere(new Brackets(qb => { qb
// 自分がフォロワーである
.where(`note.userId IN (${ followingQuery.getQuery() })`)
// または 自分の投稿へのリプライ
.orWhere('note.replyUserId = :meId');
}));
}));
}));
q.setParameters({ meId: me.id });
superQuery.where('note_visible(note.id, :meId)', { meId });
}
return q;
}

View file

@ -2,7 +2,7 @@ import { IdentifiableError } from '@/misc/identifiable-error.js';
import { User } from '@/models/entities/user.js';
import { Note } from '@/models/entities/note.js';
import { Notes, Users } from '@/models/index.js';
import { generateVisibilityQuery } from './generate-visibility-query.js';
import { visibilityQuery } from './generate-visibility-query.js';
/**
* Get note for API processing, taking into account visibility.
@ -13,9 +13,7 @@ export async function getNote(noteId: Note['id'], me: { id: User['id'] } | null)
id: noteId,
});
generateVisibilityQuery(query, me);
const note = await query.getOne();
const note = await visibilityQuery(query, me).getOne();
if (note == null) {
throw new IdentifiableError('9725d0ce-ba28-4dde-95a7-2cbb2c15de24', 'No such note.');

View file

@ -1,5 +1,4 @@
import rndstr from 'rndstr';
import { DAY } from '@/const.js';
import { Note } from '@/models/entities/note.js';
import { User } from '@/models/entities/user.js';
import { Notes, UserProfiles, NoteReactions } from '@/models/index.js';
@ -17,13 +16,13 @@ export async function injectFeatured(timeline: Note[], user?: User | null) {
}
const max = 30;
const offset = 3 * DAY;
const day = 1000 * 60 * 60 * 24 * 3; // 3日前まで
const query = Notes.createQueryBuilder('note')
.addSelect('note.score')
.where('note.userHost IS NULL')
.andWhere('note.score > 0')
.andWhere('note.createdAt > :date', { date: new Date(Date.now() - offset) })
.andWhere('note.createdAt > :date', { date: new Date(Date.now() - day) })
.andWhere("note.visibility = 'public'")
.innerJoinAndSelect('note.user', 'user');

View file

@ -1,12 +0,0 @@
import { Meta, TranslationService } from '@/models/entities/meta.js';
export function translatorAvailable(instance: Meta): boolean {
switch (instance.translationService) {
case TranslationService.DeepL:
return instance.deeplAuthKey != null;
case TranslationService.LibreTranslate:
return instance.libreTranslateEndpoint != null;
default:
return false;
}
}

View file

@ -622,7 +622,7 @@ export interface IEndpointMeta {
readonly tags?: ReadonlyArray<string>;
readonly errors?: ReadonlyArray<keyof typeof errors>;
readonly errors?: Array<keyof errors>;
readonly res?: Schema;

View file

@ -1,7 +1,5 @@
import config from '@/config/index.js';
import { fetchMeta } from '@/misc/fetch-meta.js';
import { TranslationService } from '@/models/entities/meta.js';
import { translatorAvailable } from '../../common/translator.js';
import define from '../../define.js';
export const meta = {
@ -48,7 +46,7 @@ export const meta = {
},
swPublickey: {
type: 'string',
optional: false, nullable: false,
optional: false, nullable: true,
},
bannerUrl: {
type: 'string',
@ -114,6 +112,10 @@ export const meta = {
type: 'boolean',
optional: false, nullable: false,
},
enableServiceWorker: {
type: 'boolean',
optional: false, nullable: false,
},
translatorAvailable: {
type: 'boolean',
optional: false, nullable: false,
@ -215,6 +217,10 @@ export const meta = {
type: 'string',
optional: true, nullable: true,
},
swPrivateKey: {
type: 'string',
optional: true, nullable: true,
},
useObjectStorage: {
type: 'boolean',
optional: true, nullable: false,
@ -263,23 +269,6 @@ export const meta = {
type: 'boolean',
optional: true, nullable: false,
},
translatorService: {
type: 'string',
enum: [null, ...Object.values(TranslationService)],
optional: false, nullable: true,
},
deeplAuthKey: {
type: 'string',
optional: true, nullable: true,
},
libreTranslateEndpoint: {
type: 'string',
optional: true, nullable: true,
},
libreTranslateAuthKey: {
type: 'string',
optional: true, nullable: true,
},
},
},
} as const;
@ -327,6 +316,8 @@ export default define(meta, paramDef, async (ps, me) => {
enableTwitterIntegration: instance.enableTwitterIntegration,
enableGithubIntegration: instance.enableGithubIntegration,
enableDiscordIntegration: instance.enableDiscordIntegration,
enableServiceWorker: instance.enableServiceWorker,
translatorAvailable: instance.deeplAuthKey != null,
pinnedPages: instance.pinnedPages,
pinnedClipId: instance.pinnedClipId,
cacheRemoteFiles: instance.cacheRemoteFiles,
@ -351,6 +342,7 @@ export default define(meta, paramDef, async (ps, me) => {
smtpPort: instance.smtpPort,
smtpUser: instance.smtpUser,
smtpPass: instance.smtpPass,
swPrivateKey: instance.swPrivateKey,
useObjectStorage: instance.useObjectStorage,
objectStorageBaseUrl: instance.objectStorageBaseUrl,
objectStorageBucket: instance.objectStorageBucket,
@ -364,11 +356,7 @@ export default define(meta, paramDef, async (ps, me) => {
objectStorageUseProxy: instance.objectStorageUseProxy,
objectStorageSetPublicRead: instance.objectStorageSetPublicRead,
objectStorageS3ForcePathStyle: instance.objectStorageS3ForcePathStyle,
translatorAvailable: translatorAvailable(instance),
translationService: instance.translationService,
deeplAuthKey: instance.deeplAuthKey,
libreTranslateEndpoint: instance.libreTranslateEndpoint,
libreTranslateAuthKey: instance.libreTranslateAuthKey,
deeplIsPro: instance.deeplIsPro,
};
});

View file

@ -1,4 +1,3 @@
import { DAY } from '@/const.js';
import { Users } from '@/models/index.js';
import define from '../../define.js';
@ -47,7 +46,7 @@ export default define(meta, paramDef, async (ps, me) => {
case 'admin': query.where('user.isAdmin = TRUE'); break;
case 'moderator': query.where('user.isModerator = TRUE'); break;
case 'adminOrModerator': query.where('user.isAdmin = TRUE OR user.isModerator = TRUE'); break;
case 'alive': query.where('user.updatedAt > :date', { date: new Date(Date.now() - 5 * DAY) }); break;
case 'alive': query.where('user.updatedAt > :date', { date: new Date(Date.now() - 1000 * 60 * 60 * 24 * 5) }); break;
case 'silenced': query.where('user.isSilenced = TRUE'); break;
case 'suspended': query.where('user.isSuspended = TRUE'); break;
}

View file

@ -1,6 +1,6 @@
import { Meta } from '@/models/entities/meta.js';
import { insertModerationLog } from '@/services/insert-moderation-log.js';
import { fetchMeta, setMeta } from '@/misc/fetch-meta.js';
import { TranslationService } from '@/models/entities/meta.js';
import { db } from '@/db/postgre.js';
import define from '../../define.js';
export const meta = {
@ -56,10 +56,8 @@ export const paramDef = {
type: 'string',
} },
summalyProxy: { type: 'string', nullable: true },
translationService: { type: 'string', nullable: true, enum: [null, ...Object.values(TranslationService)] },
deeplAuthKey: { type: 'string', nullable: true },
libreTranslateAuthKey: { type: 'string', nullable: true },
libreTranslateEndpoint: { type: 'string', nullable: true },
deeplIsPro: { type: 'boolean' },
enableTwitterIntegration: { type: 'boolean' },
twitterConsumerKey: { type: 'string', nullable: true },
twitterConsumerSecret: { type: 'string', nullable: true },
@ -76,6 +74,9 @@ export const paramDef = {
smtpPort: { type: 'integer', nullable: true },
smtpUser: { type: 'string', nullable: true },
smtpPass: { type: 'string', nullable: true },
enableServiceWorker: { type: 'boolean' },
swPublicKey: { type: 'string', nullable: true },
swPrivateKey: { type: 'string', nullable: true },
tosUrl: { type: 'string', nullable: true },
useObjectStorage: { type: 'boolean' },
objectStorageBaseUrl: { type: 'string', nullable: true },
@ -294,6 +295,18 @@ export default define(meta, paramDef, async (ps, me) => {
set.smtpPass = ps.smtpPass;
}
if (ps.enableServiceWorker !== undefined) {
set.enableServiceWorker = ps.enableServiceWorker;
}
if (ps.swPublicKey !== undefined) {
set.swPublicKey = ps.swPublicKey;
}
if (ps.swPrivateKey !== undefined) {
set.swPrivateKey = ps.swPrivateKey;
}
if (ps.tosUrl !== undefined) {
set.ToSUrl = ps.tosUrl;
}
@ -350,10 +363,6 @@ export default define(meta, paramDef, async (ps, me) => {
set.objectStorageS3ForcePathStyle = ps.objectStorageS3ForcePathStyle;
}
if (ps.translationService !== undefined) {
set.translationService = ps.translationService;
}
if (ps.deeplAuthKey !== undefined) {
if (ps.deeplAuthKey === '') {
set.deeplAuthKey = null;
@ -362,26 +371,24 @@ export default define(meta, paramDef, async (ps, me) => {
}
}
if (ps.libreTranslateEndpoint !== undefined) {
if (ps.libreTranslateEndpoint === '') {
set.libreTranslateEndpoint = null;
} else {
set.libreTranslateEndpoint = ps.libreTranslateEndpoint;
}
if (ps.deeplIsPro !== undefined) {
set.deeplIsPro = ps.deeplIsPro;
}
if (ps.libreTranslateAuthKey !== undefined) {
if (ps.libreTranslateAuthKey === '') {
set.libreTranslateAuthKey = null;
} else {
set.libreTranslateAuthKey = ps.libreTranslateAuthKey;
}
}
await db.transaction(async transactionalEntityManager => {
const metas = await transactionalEntityManager.find(Meta, {
order: {
id: 'DESC',
},
});
const meta = await fetchMeta();
await setMeta({
...meta,
...set,
const meta = metas[0];
if (meta) {
await transactionalEntityManager.update(Meta, meta.id, set);
} else {
await transactionalEntityManager.save(Meta, set);
}
});
insertModerationLog(me, 'updateMeta');

View file

@ -1,7 +1,7 @@
import { readNote } from '@/services/note/read.js';
import { Antennas, Notes, AntennaNotes } from '@/models/index.js';
import { makePaginationQuery } from '../../common/make-pagination-query.js';
import { generateVisibilityQuery } from '../../common/generate-visibility-query.js';
import { visibilityQuery } from '../../common/generate-visibility-query.js';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query.js';
import { generateBlockedUserQuery } from '../../common/generate-block-query.js';
import define from '../../define.js';
@ -65,11 +65,10 @@ export default define(meta, paramDef, async (ps, user) => {
.leftJoinAndSelect('renoteUser.banner', 'renoteUserBanner')
.andWhere('antennaNote.antennaId = :antennaId', { antennaId: antenna.id });
generateVisibilityQuery(query, user);
generateMutedUserQuery(query, user);
generateBlockedUserQuery(query, user);
const notes = await query
const notes = await visibilityQuery(query, user)
.take(ps.limit)
.getMany();

View file

@ -2,7 +2,6 @@ import { Apps } from '@/models/index.js';
import { genId } from '@/misc/gen-id.js';
import { unique } from '@/prelude/array.js';
import { secureRndstr } from '@/misc/secure-rndstr.js';
import { kinds } from '@/misc/api-permissions.js';
import define from '../../define.js';
export const meta = {
@ -22,14 +21,10 @@ export const paramDef = {
properties: {
name: { type: 'string' },
description: { type: 'string' },
permission: {
type: 'array',
uniqueItems: true,
items: {
type: 'string',
enum: kinds,
},
},
permission: { type: 'array', uniqueItems: true, items: {
type: 'string',
// FIXME: add enum of possible permissions
} },
callbackUrl: { type: 'string', nullable: true },
},
required: ['name', 'description', 'permission'],

View file

@ -1,7 +1,7 @@
import { ClipNotes, Clips, Notes } from '@/models/index.js';
import define from '../../define.js';
import { makePaginationQuery } from '../../common/make-pagination-query.js';
import { generateVisibilityQuery } from '../../common/generate-visibility-query.js';
import { visibilityQuery } from '../../common/generate-visibility-query.js';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query.js';
import { ApiError } from '../../error.js';
import { generateBlockedUserQuery } from '../../common/generate-block-query.js';
@ -65,12 +65,11 @@ export default define(meta, paramDef, async (ps, user) => {
.andWhere('clipNote.clipId = :clipId', { clipId: clip.id });
if (user) {
generateVisibilityQuery(query, user);
generateMutedUserQuery(query, user);
generateBlockedUserQuery(query, user);
}
const notes = await query
const notes = await visibilityQuery(query, user)
.take(ps.limit)
.getMany();

View file

@ -1,4 +1,3 @@
import { DAY } from '@/const.js';
import { GalleryPosts } from '@/models/index.js';
import define from '../../define.js';
@ -27,7 +26,7 @@ export const paramDef = {
// eslint-disable-next-line import/no-default-export
export default define(meta, paramDef, async (ps, me) => {
const query = GalleryPosts.createQueryBuilder('post')
.andWhere('post.createdAt > :date', { date: new Date(Date.now() - 3 * DAY) })
.andWhere('post.createdAt > :date', { date: new Date(Date.now() - (1000 * 60 * 60 * 24 * 3)) })
.andWhere('post.likedCount > 0')
.orderBy('post.likedCount', 'DESC');

View file

@ -1,5 +1,4 @@
import { Brackets } from 'typeorm';
import { MINUTE, HOUR } from '@/const.js';
import { fetchMeta } from '@/misc/fetch-meta.js';
import { Notes } from '@/models/index.js';
import { Note } from '@/models/entities/note.js';
@ -14,8 +13,8 @@ import define from '../../define.js';
..PostgreSQLでどうするのか分からないので単にAの内に投稿されたユニーク投稿数が多いハッシュタグ
*/
const rangeA = HOUR;
//const rangeB = 2 * HOUR;
const rangeA = 1000 * 60 * 60; // 60分
//const rangeB = 1000 * 60 * 120; // 2時間
//const coefficient = 1.25; // 「n倍」の部分
//const requiredUsers = 3; // 最低何人がそのタグを投稿している必要があるか
@ -117,7 +116,8 @@ export default define(meta, paramDef, async () => {
const range = 20;
const interval = 10 * MINUTE;
// 10分
const interval = 1000 * 60 * 10;
for (let i = 0; i < range; i++) {
countPromises.push(Promise.all(hots.map(tag => Notes.createQueryBuilder('note')

View file

@ -1,4 +1,3 @@
import { DAY } from '@/const.js';
import { Users } from '@/models/index.js';
import { normalizeForSearch } from '@/misc/normalize-for-search.js';
import define from '../../define.js';
@ -36,7 +35,7 @@ export default define(meta, paramDef, async (ps, me) => {
const query = Users.createQueryBuilder('user')
.where(':tag = ANY(user.tags)', { tag: normalizeForSearch(ps.tag) });
const recent = new Date(Date.now() - 5 * DAY);
const recent = new Date(Date.now() - (1000 * 60 * 60 * 24 * 5));
if (ps.state === 'alive') {
query.andWhere('user.updatedAt > :date', { date: recent });

View file

@ -1,7 +1,6 @@
import { promisify } from 'node:util';
import bcrypt from 'bcryptjs';
import * as cbor from 'cbor';
import { MINUTE } from '@/const.js';
import {
UserProfiles,
UserSecurityKeys,
@ -113,10 +112,10 @@ export default define(meta, paramDef, async (ps, user) => {
id: ps.challengeId,
});
// Expired challenge
// Expired challenge (> 5min old)
if (
new Date().getTime() - attestationChallenge.createdAt.getTime() >=
5 * MINUTE
5 * 60 * 1000
) {
throw new Error('expired challenge');
}

View file

@ -81,7 +81,6 @@ export const paramDef = {
emailNotificationTypes: { type: 'array', items: {
type: 'string',
} },
federateBlocks: { type: 'boolean' },
},
} as const;
@ -130,7 +129,6 @@ export default define(meta, paramDef, async (ps, _user, token) => {
if (typeof ps.carefulBot === 'boolean') profileUpdates.carefulBot = ps.carefulBot;
if (typeof ps.autoAcceptFollowed === 'boolean') profileUpdates.autoAcceptFollowed = ps.autoAcceptFollowed;
if (typeof ps.noCrawle === 'boolean') profileUpdates.noCrawle = ps.noCrawle;
if (typeof ps.federateBlocks === 'boolean') updates.federateBlocks = ps.federateBlocks;
if (typeof ps.isCat === 'boolean') updates.isCat = ps.isCat;
if (typeof ps.injectFeaturedNote === 'boolean') profileUpdates.injectFeaturedNote = ps.injectFeaturedNote;
if (typeof ps.receiveAnnouncementEmail === 'boolean') profileUpdates.receiveAnnouncementEmail = ps.receiveAnnouncementEmail;

Some files were not shown because too many files have changed in this diff Show more