mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 05:26:47 +00:00
feat(plugins): redesign the admin plugins page — search, filters, cleaner cards
The panel was cramped and hard to scan. Rebuilt it as a proper management surface: - A segmented Installed/Discover switch with counts, and a real toolbar: search, filter by type, filter by status (active/off/update/error), and sort (name/recent/updates first). - An "N updates available · Update all" bar. - Installed rows are tidied up: a single health dot on the icon tile instead of a wall of badges, and capability chips underneath that show what each plugin can actually reach at a glance (reads your trips, dashboard widget, the hosts it talks to) — the reach is now visible without opening anything. Update, toggle and a ⋯ menu (restart, errors, source, uninstall) sit on the right. - The registry browser is now an App-Store-style card grid: screenshot with the plugin's icon chip, a reviewed badge, consistent heights. - The detail dialog gained "What it can access", "Connects to" and a details grid (version, size, requires, reviewed). To feed the capability chips, the installed list now returns each plugin's declared permissions and capabilities. New copy is in all 22 locales.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -25,6 +25,10 @@ export interface PluginListItem {
|
||||
last_error: string | null;
|
||||
reviewed_at: string | null;
|
||||
source_repo: string | null;
|
||||
/** Declared permissions (JSON string) — drives the "what this can access" chips. */
|
||||
permissions: string;
|
||||
/** Declared capabilities (JSON string) — e.g. widget slot. */
|
||||
capabilities: string;
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
@@ -32,7 +36,8 @@ export class PluginsService {
|
||||
list(): { enabled: boolean; plugins: PluginListItem[] } {
|
||||
const plugins = db
|
||||
.prepare(
|
||||
`SELECT id, name, description, type, icon, version, status, enabled, last_error, reviewed_at, source_repo
|
||||
`SELECT id, name, description, type, icon, version, status, enabled, last_error, reviewed_at, source_repo,
|
||||
permissions, capabilities
|
||||
FROM plugins
|
||||
ORDER BY sort_order, name`,
|
||||
)
|
||||
|
||||
@@ -9,7 +9,7 @@ const { testDb } = vi.hoisted(() => {
|
||||
const db = new Database(':memory:');
|
||||
db.exec(`CREATE TABLE plugins (
|
||||
id TEXT PRIMARY KEY, name TEXT, description TEXT, type TEXT, icon TEXT, version TEXT,
|
||||
status TEXT, enabled INTEGER DEFAULT 0, last_error TEXT, reviewed_at TEXT, source_repo TEXT, config TEXT DEFAULT '{}', capabilities TEXT DEFAULT '{}', updated_at TEXT,
|
||||
status TEXT, enabled INTEGER DEFAULT 0, last_error TEXT, reviewed_at TEXT, source_repo TEXT, config TEXT DEFAULT '{}', permissions TEXT DEFAULT '[]', capabilities TEXT DEFAULT '{}', updated_at TEXT,
|
||||
sort_order INTEGER DEFAULT 0);
|
||||
CREATE TABLE plugin_settings_fields (plugin_id TEXT, field_key TEXT, scope TEXT, secret INTEGER);
|
||||
CREATE TABLE plugin_error_log (id INTEGER PRIMARY KEY AUTOINCREMENT, plugin_id TEXT, level TEXT, message TEXT, ts TEXT DEFAULT '2026-01-01');`);
|
||||
|
||||
@@ -260,6 +260,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.reviewedBody': 'الإضافة التي تمت مراجعتها فُحصت يدويًا بحثًا عن البرمجيات الخبيثة بواسطة أحد القائمين على TREK في كل إصدار — جرى فحصها بحثًا عن شيفرة ضارة، لا لمعرفة ما إذا كانت تعمل جيدًا. وهي ليست وعدًا بأن الإضافة غير ضارة.',
|
||||
'admin.plugins.security.trustTitle': 'الخلاصة',
|
||||
'admin.plugins.security.trustBody': 'تثبيت إضافة يشبه تثبيت أي تطبيق من جهة خارجية: لا تُضِف سوى شيفرة من مطورين تثق بهم، وعند الشك، افحصها بنفسك أولًا. لا يتحمل TREK أي مسؤولية عن إضافات الجهات الخارجية.',
|
||||
'admin.plugins.runtimeOn': 'بيئة التشغيل مفعّلة',
|
||||
'admin.plugins.tabDiscover': 'اكتشاف',
|
||||
'admin.plugins.searchPlaceholder': 'ابحث عن الإضافات…',
|
||||
'admin.plugins.filterType': 'النوع',
|
||||
'admin.plugins.filterStatus': 'الحالة',
|
||||
'admin.plugins.sortBy': 'الترتيب',
|
||||
'admin.plugins.allTypes': 'كل الأنواع',
|
||||
'admin.plugins.allStatuses': 'الكل',
|
||||
'admin.plugins.stateOff': 'متوقفة',
|
||||
'admin.plugins.filterUpdate': 'يتوفر تحديث',
|
||||
'admin.plugins.sortName': 'الاسم',
|
||||
'admin.plugins.sortRecent': 'المحدّثة حديثًا',
|
||||
'admin.plugins.sortUpdates': 'التحديثات أولًا',
|
||||
'admin.plugins.updatesAvailable': '{count} تحديثات متاحة لإضافاتك.',
|
||||
'admin.plugins.updateAll': 'تحديث الكل',
|
||||
'admin.plugins.noMatchInstalled': 'لا توجد إضافات مثبّتة تطابق بحثك.',
|
||||
'admin.plugins.noMatchRegistry': 'لا توجد إضافات في السجل تطابق بحثك.',
|
||||
'admin.plugins.restart': 'إعادة التشغيل',
|
||||
'admin.plugins.restarted': 'تمت إعادة تشغيل الإضافة',
|
||||
'admin.plugins.cap.readsTrips': 'يقرأ رحلاتك',
|
||||
'admin.plugins.cap.readsUsers': 'يقرأ الملفات الشخصية الأساسية',
|
||||
'admin.plugins.cap.widget': 'أداة لوحة التحكم',
|
||||
'admin.plugins.cap.heroWidget': 'أداة بطاقة الصعود',
|
||||
'admin.plugins.cap.realtime': 'تحديثات فورية',
|
||||
'admin.plugins.cap.photos': 'يوفّر الصور',
|
||||
'admin.plugins.cap.calendar': 'يوفّر أحداث التقويم',
|
||||
'admin.plugins.accessTitle': 'ما الذي يمكنها الوصول إليه',
|
||||
'admin.plugins.connectsTitle': 'يتصل بـ',
|
||||
'admin.plugins.detailsTitle': 'التفاصيل',
|
||||
'admin.plugins.noAccess': 'لا يحتاج إلى أي وصول خاص.',
|
||||
'admin.plugins.metaVersion': 'الإصدار',
|
||||
'admin.plugins.metaSize': 'الحجم',
|
||||
'admin.plugins.metaRequires': 'يتطلب',
|
||||
'admin.plugins.metaReviewed': 'تمت المراجعة',
|
||||
'admin.addons.title': 'الإضافات',
|
||||
'admin.addons.subtitle': 'فعّل أو عطّل الميزات لتخصيص تجربة TREK.',
|
||||
'admin.addons.catalog.packing.name': 'القوائم',
|
||||
|
||||
@@ -247,6 +247,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Em resumo',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Instalar um plugin é como instalar qualquer app de terceiros: adicione apenas código de autores em quem você confia e, em caso de dúvida, inspecione-o você mesmo antes. O TREK não assume nenhuma responsabilidade por plugins de terceiros.',
|
||||
'admin.plugins.runtimeOn': 'Runtime ativo',
|
||||
'admin.plugins.tabDiscover': 'Descobrir',
|
||||
'admin.plugins.searchPlaceholder': 'Buscar plugins…',
|
||||
'admin.plugins.filterType': 'Tipo',
|
||||
'admin.plugins.filterStatus': 'Status',
|
||||
'admin.plugins.sortBy': 'Ordenar',
|
||||
'admin.plugins.allTypes': 'Todos os tipos',
|
||||
'admin.plugins.allStatuses': 'Todos',
|
||||
'admin.plugins.stateOff': 'Desligado',
|
||||
'admin.plugins.filterUpdate': 'Atualização disponível',
|
||||
'admin.plugins.sortName': 'Nome',
|
||||
'admin.plugins.sortRecent': 'Atualizados recentemente',
|
||||
'admin.plugins.sortUpdates': 'Atualizações primeiro',
|
||||
'admin.plugins.updatesAvailable': '{count} atualizações disponíveis para seus plugins.',
|
||||
'admin.plugins.updateAll': 'Atualizar todos',
|
||||
'admin.plugins.noMatchInstalled': 'Nenhum plugin instalado corresponde à sua busca.',
|
||||
'admin.plugins.noMatchRegistry': 'Nenhum plugin no registro corresponde à sua busca.',
|
||||
'admin.plugins.restart': 'Reiniciar',
|
||||
'admin.plugins.restarted': 'Plugin reiniciado',
|
||||
'admin.plugins.cap.readsTrips': 'Lê suas viagens',
|
||||
'admin.plugins.cap.readsUsers': 'Lê perfis básicos',
|
||||
'admin.plugins.cap.widget': 'Widget do painel',
|
||||
'admin.plugins.cap.heroWidget': 'Widget de cartão de embarque',
|
||||
'admin.plugins.cap.realtime': 'Atualizações em tempo real',
|
||||
'admin.plugins.cap.photos': 'Fornece fotos',
|
||||
'admin.plugins.cap.calendar': 'Fornece eventos de calendário',
|
||||
'admin.plugins.accessTitle': 'O que ele pode acessar',
|
||||
'admin.plugins.connectsTitle': 'Conecta-se a',
|
||||
'admin.plugins.detailsTitle': 'Detalhes',
|
||||
'admin.plugins.noAccess': 'Não precisa de acesso especial.',
|
||||
'admin.plugins.metaVersion': 'Versão',
|
||||
'admin.plugins.metaSize': 'Tamanho',
|
||||
'admin.plugins.metaRequires': 'Requer',
|
||||
'admin.plugins.metaReviewed': 'Revisado em',
|
||||
'admin.addons.title': 'Complementos',
|
||||
'admin.addons.subtitle': 'Ative ou desative recursos para personalizar sua experiência no TREK.',
|
||||
'admin.addons.catalog.memories.name': 'Memórias',
|
||||
|
||||
@@ -248,6 +248,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Závěrem',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Instalace pluginu je jako instalace jakékoli aplikace třetí strany: přidávejte pouze kód od autorů, kterým důvěřujete, a v případě pochybností si jej nejprve sami prohlédněte. TREK nenese žádnou odpovědnost za pluginy třetích stran.',
|
||||
'admin.plugins.runtimeOn': 'Běhové prostředí běží',
|
||||
'admin.plugins.tabDiscover': 'Objevit',
|
||||
'admin.plugins.searchPlaceholder': 'Hledat pluginy…',
|
||||
'admin.plugins.filterType': 'Typ',
|
||||
'admin.plugins.filterStatus': 'Stav',
|
||||
'admin.plugins.sortBy': 'Řadit',
|
||||
'admin.plugins.allTypes': 'Všechny typy',
|
||||
'admin.plugins.allStatuses': 'Vše',
|
||||
'admin.plugins.stateOff': 'Vypnuto',
|
||||
'admin.plugins.filterUpdate': 'Dostupná aktualizace',
|
||||
'admin.plugins.sortName': 'Název',
|
||||
'admin.plugins.sortRecent': 'Naposledy aktualizované',
|
||||
'admin.plugins.sortUpdates': 'Nejdřív aktualizace',
|
||||
'admin.plugins.updatesAvailable': 'Pro vaše pluginy je k dispozici {count} aktualizací.',
|
||||
'admin.plugins.updateAll': 'Aktualizovat vše',
|
||||
'admin.plugins.noMatchInstalled': 'Žádné nainstalované pluginy neodpovídají vašemu hledání.',
|
||||
'admin.plugins.noMatchRegistry': 'Žádné pluginy v registru neodpovídají vašemu hledání.',
|
||||
'admin.plugins.restart': 'Restartovat',
|
||||
'admin.plugins.restarted': 'Plugin restartován',
|
||||
'admin.plugins.cap.readsTrips': 'Čte vaše cesty',
|
||||
'admin.plugins.cap.readsUsers': 'Čte základní profily',
|
||||
'admin.plugins.cap.widget': 'Widget na nástěnce',
|
||||
'admin.plugins.cap.heroWidget': 'Widget palubní vstupenky',
|
||||
'admin.plugins.cap.realtime': 'Aktualizace v reálném čase',
|
||||
'admin.plugins.cap.photos': 'Poskytuje fotky',
|
||||
'admin.plugins.cap.calendar': 'Poskytuje události kalendáře',
|
||||
'admin.plugins.accessTitle': 'K čemu má přístup',
|
||||
'admin.plugins.connectsTitle': 'Připojuje se k',
|
||||
'admin.plugins.detailsTitle': 'Podrobnosti',
|
||||
'admin.plugins.noAccess': 'Nevyžaduje žádný zvláštní přístup.',
|
||||
'admin.plugins.metaVersion': 'Verze',
|
||||
'admin.plugins.metaSize': 'Velikost',
|
||||
'admin.plugins.metaRequires': 'Vyžaduje',
|
||||
'admin.plugins.metaReviewed': 'Zkontrolováno',
|
||||
'admin.addons.title': 'Doplňky',
|
||||
'admin.addons.subtitle': 'Zapněte nebo vypněte funkce a přizpůsobte si TREK.',
|
||||
'admin.addons.catalog.memories.name': 'Fotky (Immich)',
|
||||
|
||||
@@ -242,6 +242,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.reviewedBody': 'Ein geprüftes Plugin wurde bei jeder Version von einem TREK-Maintainer manuell auf Schadsoftware gescannt — geprüft auf feindlichen Code, nicht darauf, ob es gut funktioniert. Es ist kein Versprechen, dass das Plugin harmlos ist.',
|
||||
'admin.plugins.security.trustTitle': 'Das Fazit',
|
||||
'admin.plugins.security.trustBody': 'Ein Plugin zu installieren ist wie jede fremde App zu installieren: Füge nur Code von Autoren hinzu, denen du vertraust, und prüfe ihn im Zweifel zuerst selbst. TREK übernimmt keine Verantwortung für Plugins von Drittanbietern.',
|
||||
'admin.plugins.runtimeOn': 'Laufzeit aktiv',
|
||||
'admin.plugins.tabDiscover': 'Entdecken',
|
||||
'admin.plugins.searchPlaceholder': 'Plugins durchsuchen…',
|
||||
'admin.plugins.filterType': 'Typ',
|
||||
'admin.plugins.filterStatus': 'Status',
|
||||
'admin.plugins.sortBy': 'Sortieren',
|
||||
'admin.plugins.allTypes': 'Alle Typen',
|
||||
'admin.plugins.allStatuses': 'Alle',
|
||||
'admin.plugins.stateOff': 'Aus',
|
||||
'admin.plugins.filterUpdate': 'Update verfügbar',
|
||||
'admin.plugins.sortName': 'Name',
|
||||
'admin.plugins.sortRecent': 'Zuletzt aktualisiert',
|
||||
'admin.plugins.sortUpdates': 'Updates zuerst',
|
||||
'admin.plugins.updatesAvailable': '{count} Updates für deine Plugins verfügbar.',
|
||||
'admin.plugins.updateAll': 'Alle aktualisieren',
|
||||
'admin.plugins.noMatchInstalled': 'Keine installierten Plugins passen zu deiner Suche.',
|
||||
'admin.plugins.noMatchRegistry': 'Keine Plugins in der Registry passen zu deiner Suche.',
|
||||
'admin.plugins.restart': 'Neu starten',
|
||||
'admin.plugins.restarted': 'Plugin neu gestartet',
|
||||
'admin.plugins.cap.readsTrips': 'Liest deine Reisen',
|
||||
'admin.plugins.cap.readsUsers': 'Liest Basis-Profile',
|
||||
'admin.plugins.cap.widget': 'Dashboard-Widget',
|
||||
'admin.plugins.cap.heroWidget': 'Boarding-Pass-Widget',
|
||||
'admin.plugins.cap.realtime': 'Echtzeit-Updates',
|
||||
'admin.plugins.cap.photos': 'Liefert Fotos',
|
||||
'admin.plugins.cap.calendar': 'Liefert Kalender-Events',
|
||||
'admin.plugins.accessTitle': 'Worauf es zugreift',
|
||||
'admin.plugins.connectsTitle': 'Verbindet sich mit',
|
||||
'admin.plugins.detailsTitle': 'Details',
|
||||
'admin.plugins.noAccess': 'Braucht keinen besonderen Zugriff.',
|
||||
'admin.plugins.metaVersion': 'Version',
|
||||
'admin.plugins.metaSize': 'Größe',
|
||||
'admin.plugins.metaRequires': 'Benötigt',
|
||||
'admin.plugins.metaReviewed': 'Geprüft am',
|
||||
'admin.addons.title': 'Addons',
|
||||
'admin.addons.subtitle': 'Aktiviere oder deaktiviere Funktionen, um TREK nach deinen Wünschen anzupassen.',
|
||||
'admin.addons.catalog.packing.name': 'Listen',
|
||||
|
||||
@@ -294,6 +294,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.reviewedBody': 'A reviewed plugin was manually scanned for malware by a TREK maintainer on each version — checked for hostile code, not for whether it works well. It is not a promise that the plugin is harmless.',
|
||||
'admin.plugins.security.trustTitle': 'The bottom line',
|
||||
'admin.plugins.security.trustBody': 'Installing a plugin is like installing any third-party app: only add code from authors you trust, and when in doubt, inspect it yourself first. TREK takes no responsibility for third-party plugins.',
|
||||
'admin.plugins.runtimeOn': 'Runtime on',
|
||||
'admin.plugins.tabDiscover': 'Discover',
|
||||
'admin.plugins.searchPlaceholder': 'Search plugins…',
|
||||
'admin.plugins.filterType': 'Type',
|
||||
'admin.plugins.filterStatus': 'Status',
|
||||
'admin.plugins.sortBy': 'Sort',
|
||||
'admin.plugins.allTypes': 'All types',
|
||||
'admin.plugins.allStatuses': 'All',
|
||||
'admin.plugins.stateOff': 'Off',
|
||||
'admin.plugins.filterUpdate': 'Update available',
|
||||
'admin.plugins.sortName': 'Name',
|
||||
'admin.plugins.sortRecent': 'Recently updated',
|
||||
'admin.plugins.sortUpdates': 'Updates first',
|
||||
'admin.plugins.updatesAvailable': '{count} updates available for your plugins.',
|
||||
'admin.plugins.updateAll': 'Update all',
|
||||
'admin.plugins.noMatchInstalled': 'No installed plugins match your search.',
|
||||
'admin.plugins.noMatchRegistry': 'No plugins in the registry match your search.',
|
||||
'admin.plugins.restart': 'Restart',
|
||||
'admin.plugins.restarted': 'Plugin restarted',
|
||||
'admin.plugins.cap.readsTrips': 'Reads your trips',
|
||||
'admin.plugins.cap.readsUsers': 'Reads basic profiles',
|
||||
'admin.plugins.cap.widget': 'Dashboard widget',
|
||||
'admin.plugins.cap.heroWidget': 'Boarding-pass widget',
|
||||
'admin.plugins.cap.realtime': 'Real-time updates',
|
||||
'admin.plugins.cap.photos': 'Provides photos',
|
||||
'admin.plugins.cap.calendar': 'Provides calendar events',
|
||||
'admin.plugins.accessTitle': 'What it can access',
|
||||
'admin.plugins.connectsTitle': 'Connects to',
|
||||
'admin.plugins.detailsTitle': 'Details',
|
||||
'admin.plugins.noAccess': 'Needs no special access.',
|
||||
'admin.plugins.metaVersion': 'Version',
|
||||
'admin.plugins.metaSize': 'Size',
|
||||
'admin.plugins.metaRequires': 'Requires',
|
||||
'admin.plugins.metaReviewed': 'Reviewed on',
|
||||
'admin.addons.title': 'Addons',
|
||||
'admin.addons.subtitle': 'Enable or disable features to customize your TREK experience.',
|
||||
'admin.addons.catalog.packing.name': 'Lists',
|
||||
|
||||
@@ -249,6 +249,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'En resumen',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Instalar un plugin es como instalar cualquier aplicación de terceros: añade únicamente código de autores en los que confíes y, en caso de duda, inspecciónalo tú mismo primero. TREK no asume ninguna responsabilidad por los plugins de terceros.',
|
||||
'admin.plugins.runtimeOn': 'Entorno de ejecución activo',
|
||||
'admin.plugins.tabDiscover': 'Descubrir',
|
||||
'admin.plugins.searchPlaceholder': 'Buscar plugins…',
|
||||
'admin.plugins.filterType': 'Tipo',
|
||||
'admin.plugins.filterStatus': 'Estado',
|
||||
'admin.plugins.sortBy': 'Ordenar',
|
||||
'admin.plugins.allTypes': 'Todos los tipos',
|
||||
'admin.plugins.allStatuses': 'Todos',
|
||||
'admin.plugins.stateOff': 'Desactivado',
|
||||
'admin.plugins.filterUpdate': 'Actualización disponible',
|
||||
'admin.plugins.sortName': 'Nombre',
|
||||
'admin.plugins.sortRecent': 'Actualizados recientemente',
|
||||
'admin.plugins.sortUpdates': 'Actualizaciones primero',
|
||||
'admin.plugins.updatesAvailable': '{count} actualizaciones disponibles para tus plugins.',
|
||||
'admin.plugins.updateAll': 'Actualizar todo',
|
||||
'admin.plugins.noMatchInstalled': 'Ningún plugin instalado coincide con tu búsqueda.',
|
||||
'admin.plugins.noMatchRegistry': 'Ningún plugin del registro coincide con tu búsqueda.',
|
||||
'admin.plugins.restart': 'Reiniciar',
|
||||
'admin.plugins.restarted': 'Plugin reiniciado',
|
||||
'admin.plugins.cap.readsTrips': 'Lee tus viajes',
|
||||
'admin.plugins.cap.readsUsers': 'Lee perfiles básicos',
|
||||
'admin.plugins.cap.widget': 'Widget del panel',
|
||||
'admin.plugins.cap.heroWidget': 'Widget de tarjeta de embarque',
|
||||
'admin.plugins.cap.realtime': 'Actualizaciones en tiempo real',
|
||||
'admin.plugins.cap.photos': 'Proporciona fotos',
|
||||
'admin.plugins.cap.calendar': 'Proporciona eventos de calendario',
|
||||
'admin.plugins.accessTitle': 'A qué puede acceder',
|
||||
'admin.plugins.connectsTitle': 'Se conecta a',
|
||||
'admin.plugins.detailsTitle': 'Detalles',
|
||||
'admin.plugins.noAccess': 'No necesita ningún acceso especial.',
|
||||
'admin.plugins.metaVersion': 'Versión',
|
||||
'admin.plugins.metaSize': 'Tamaño',
|
||||
'admin.plugins.metaRequires': 'Requiere',
|
||||
'admin.plugins.metaReviewed': 'Revisado el',
|
||||
'admin.addons.title': 'Complementos',
|
||||
'admin.addons.subtitle': 'Activa o desactiva funciones para personalizar tu experiencia en TREK.',
|
||||
'admin.addons.subtitleBefore': 'Activa o desactiva funciones para personalizar tu experiencia en ',
|
||||
|
||||
@@ -252,6 +252,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'En résumé',
|
||||
'admin.plugins.security.trustBody':
|
||||
"Installer un plugin revient à installer n'importe quelle application tierce : n'ajoutez que du code provenant d'auteurs de confiance et, en cas de doute, inspectez-le vous-même au préalable. TREK décline toute responsabilité concernant les plugins tiers.",
|
||||
'admin.plugins.runtimeOn': 'Exécution activée',
|
||||
'admin.plugins.tabDiscover': 'Découvrir',
|
||||
'admin.plugins.searchPlaceholder': 'Rechercher des plugins…',
|
||||
'admin.plugins.filterType': 'Type',
|
||||
'admin.plugins.filterStatus': 'Statut',
|
||||
'admin.plugins.sortBy': 'Trier',
|
||||
'admin.plugins.allTypes': 'Tous les types',
|
||||
'admin.plugins.allStatuses': 'Tous',
|
||||
'admin.plugins.stateOff': 'Désactivé',
|
||||
'admin.plugins.filterUpdate': 'Mise à jour disponible',
|
||||
'admin.plugins.sortName': 'Nom',
|
||||
'admin.plugins.sortRecent': 'Récemment mis à jour',
|
||||
'admin.plugins.sortUpdates': 'Mises à jour en premier',
|
||||
'admin.plugins.updatesAvailable': '{count} mises à jour disponibles pour vos plugins.',
|
||||
'admin.plugins.updateAll': 'Tout mettre à jour',
|
||||
'admin.plugins.noMatchInstalled': 'Aucun plugin installé ne correspond à votre recherche.',
|
||||
'admin.plugins.noMatchRegistry': 'Aucun plugin du registre ne correspond à votre recherche.',
|
||||
'admin.plugins.restart': 'Redémarrer',
|
||||
'admin.plugins.restarted': 'Plugin redémarré',
|
||||
'admin.plugins.cap.readsTrips': 'Lit vos voyages',
|
||||
'admin.plugins.cap.readsUsers': 'Lit les profils de base',
|
||||
'admin.plugins.cap.widget': 'Widget de tableau de bord',
|
||||
'admin.plugins.cap.heroWidget': "Widget carte d'embarquement",
|
||||
'admin.plugins.cap.realtime': 'Mises à jour en temps réel',
|
||||
'admin.plugins.cap.photos': 'Fournit des photos',
|
||||
'admin.plugins.cap.calendar': 'Fournit des événements de calendrier',
|
||||
'admin.plugins.accessTitle': 'Ce à quoi il peut accéder',
|
||||
'admin.plugins.connectsTitle': 'Se connecte à',
|
||||
'admin.plugins.detailsTitle': 'Détails',
|
||||
'admin.plugins.noAccess': 'Ne nécessite aucun accès particulier.',
|
||||
'admin.plugins.metaVersion': 'Version',
|
||||
'admin.plugins.metaSize': 'Taille',
|
||||
'admin.plugins.metaRequires': 'Nécessite',
|
||||
'admin.plugins.metaReviewed': 'Vérifié le',
|
||||
'admin.addons.title': 'Extensions',
|
||||
'admin.addons.subtitle': 'Activez ou désactivez des fonctionnalités pour personnaliser votre expérience TREK.',
|
||||
'admin.addons.catalog.memories.name': 'Photos (Immich)',
|
||||
|
||||
@@ -296,6 +296,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Το συμπέρασμα',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Η εγκατάσταση ενός plugin είναι σαν την εγκατάσταση οποιασδήποτε εφαρμογής τρίτου: προσθέστε κώδικα μόνο από δημιουργούς που εμπιστεύεστε, και σε περίπτωση αμφιβολίας, ελέγξτε τον πρώτα μόνοι σας. Το TREK δεν αναλαμβάνει καμία ευθύνη για plugins τρίτων.',
|
||||
'admin.plugins.runtimeOn': 'Περιβάλλον εκτέλεσης ενεργό',
|
||||
'admin.plugins.tabDiscover': 'Ανακάλυψη',
|
||||
'admin.plugins.searchPlaceholder': 'Αναζήτηση plugins…',
|
||||
'admin.plugins.filterType': 'Τύπος',
|
||||
'admin.plugins.filterStatus': 'Κατάσταση',
|
||||
'admin.plugins.sortBy': 'Ταξινόμηση',
|
||||
'admin.plugins.allTypes': 'Όλοι οι τύποι',
|
||||
'admin.plugins.allStatuses': 'Όλες',
|
||||
'admin.plugins.stateOff': 'Ανενεργό',
|
||||
'admin.plugins.filterUpdate': 'Διαθέσιμη ενημέρωση',
|
||||
'admin.plugins.sortName': 'Όνομα',
|
||||
'admin.plugins.sortRecent': 'Πρόσφατα ενημερωμένα',
|
||||
'admin.plugins.sortUpdates': 'Ενημερώσεις πρώτα',
|
||||
'admin.plugins.updatesAvailable': 'Διαθέσιμες {count} ενημερώσεις για τα plugins σας.',
|
||||
'admin.plugins.updateAll': 'Ενημέρωση όλων',
|
||||
'admin.plugins.noMatchInstalled': 'Κανένα εγκατεστημένο plugin δεν ταιριάζει με την αναζήτησή σας.',
|
||||
'admin.plugins.noMatchRegistry': 'Κανένα plugin στο μητρώο δεν ταιριάζει με την αναζήτησή σας.',
|
||||
'admin.plugins.restart': 'Επανεκκίνηση',
|
||||
'admin.plugins.restarted': 'Το plugin επανεκκινήθηκε',
|
||||
'admin.plugins.cap.readsTrips': 'Διαβάζει τα ταξίδια σας',
|
||||
'admin.plugins.cap.readsUsers': 'Διαβάζει βασικά προφίλ',
|
||||
'admin.plugins.cap.widget': 'Widget πίνακα',
|
||||
'admin.plugins.cap.heroWidget': 'Widget κάρτας επιβίβασης',
|
||||
'admin.plugins.cap.realtime': 'Ενημερώσεις σε πραγματικό χρόνο',
|
||||
'admin.plugins.cap.photos': 'Παρέχει φωτογραφίες',
|
||||
'admin.plugins.cap.calendar': 'Παρέχει συμβάντα ημερολογίου',
|
||||
'admin.plugins.accessTitle': 'Σε τι έχει πρόσβαση',
|
||||
'admin.plugins.connectsTitle': 'Συνδέεται σε',
|
||||
'admin.plugins.detailsTitle': 'Λεπτομέρειες',
|
||||
'admin.plugins.noAccess': 'Δεν χρειάζεται ειδική πρόσβαση.',
|
||||
'admin.plugins.metaVersion': 'Έκδοση',
|
||||
'admin.plugins.metaSize': 'Μέγεθος',
|
||||
'admin.plugins.metaRequires': 'Απαιτεί',
|
||||
'admin.plugins.metaReviewed': 'Ελέγχθηκε στις',
|
||||
'admin.addons.title': 'Πρόσθετα',
|
||||
'admin.addons.subtitle':
|
||||
'Ενεργοποιήστε ή απενεργοποιήστε λειτουργίες για να εξατομικεύσετε την εμπειρία σας στο TREK.',
|
||||
|
||||
@@ -250,6 +250,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'A lényeg',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Egy plugin telepítése olyan, mint bármely harmadik féltől származó alkalmazás telepítése: csak megbízható szerzőktől adj hozzá kódot, és kétség esetén előbb magad vizsgáld meg. A TREK semmilyen felelősséget nem vállal a harmadik féltől származó pluginokért.',
|
||||
'admin.plugins.runtimeOn': 'Futtatókörnyezet bekapcsolva',
|
||||
'admin.plugins.tabDiscover': 'Felfedezés',
|
||||
'admin.plugins.searchPlaceholder': 'Pluginok keresése…',
|
||||
'admin.plugins.filterType': 'Típus',
|
||||
'admin.plugins.filterStatus': 'Állapot',
|
||||
'admin.plugins.sortBy': 'Rendezés',
|
||||
'admin.plugins.allTypes': 'Minden típus',
|
||||
'admin.plugins.allStatuses': 'Mind',
|
||||
'admin.plugins.stateOff': 'Ki',
|
||||
'admin.plugins.filterUpdate': 'Frissítés elérhető',
|
||||
'admin.plugins.sortName': 'Név',
|
||||
'admin.plugins.sortRecent': 'Nemrég frissítve',
|
||||
'admin.plugins.sortUpdates': 'Frissítések elöl',
|
||||
'admin.plugins.updatesAvailable': '{count} frissítés érhető el a pluginjaidhoz.',
|
||||
'admin.plugins.updateAll': 'Összes frissítése',
|
||||
'admin.plugins.noMatchInstalled': 'Nincs a keresésnek megfelelő telepített plugin.',
|
||||
'admin.plugins.noMatchRegistry': 'Nincs a keresésnek megfelelő plugin a tárban.',
|
||||
'admin.plugins.restart': 'Újraindítás',
|
||||
'admin.plugins.restarted': 'Plugin újraindítva',
|
||||
'admin.plugins.cap.readsTrips': 'Olvassa az utazásaidat',
|
||||
'admin.plugins.cap.readsUsers': 'Olvassa az alapprofilokat',
|
||||
'admin.plugins.cap.widget': 'Irányítópult-widget',
|
||||
'admin.plugins.cap.heroWidget': 'Beszállókártya-widget',
|
||||
'admin.plugins.cap.realtime': 'Valós idejű frissítések',
|
||||
'admin.plugins.cap.photos': 'Fotókat biztosít',
|
||||
'admin.plugins.cap.calendar': 'Naptáreseményeket biztosít',
|
||||
'admin.plugins.accessTitle': 'Mihez fér hozzá',
|
||||
'admin.plugins.connectsTitle': 'Kapcsolódik ehhez',
|
||||
'admin.plugins.detailsTitle': 'Részletek',
|
||||
'admin.plugins.noAccess': 'Nincs szüksége különleges hozzáférésre.',
|
||||
'admin.plugins.metaVersion': 'Verzió',
|
||||
'admin.plugins.metaSize': 'Méret',
|
||||
'admin.plugins.metaRequires': 'Szükséges',
|
||||
'admin.plugins.metaReviewed': 'Ellenőrizve',
|
||||
'admin.addons.title': 'Bővítmények',
|
||||
'admin.addons.subtitle': 'Funkciók engedélyezése vagy letiltása a TREK testreszabásához.',
|
||||
'admin.addons.catalog.packing.name': 'Listák',
|
||||
|
||||
@@ -284,6 +284,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.reviewedBody': 'Plugin yang ditinjau telah dipindai secara manual dari malware oleh seorang maintainer TREK pada setiap versi — diperiksa untuk kode berbahaya, bukan untuk apakah plugin berfungsi dengan baik. Ini bukan janji bahwa plugin tidak berbahaya.',
|
||||
'admin.plugins.security.trustTitle': 'Intinya',
|
||||
'admin.plugins.security.trustBody': 'Memasang plugin sama seperti memasang aplikasi pihak ketiga mana pun: hanya tambahkan kode dari pembuat yang kamu percaya, dan jika ragu, periksa sendiri terlebih dahulu. TREK tidak bertanggung jawab atas plugin pihak ketiga.',
|
||||
'admin.plugins.runtimeOn': 'Runtime aktif',
|
||||
'admin.plugins.tabDiscover': 'Jelajahi',
|
||||
'admin.plugins.searchPlaceholder': 'Cari plugin…',
|
||||
'admin.plugins.filterType': 'Jenis',
|
||||
'admin.plugins.filterStatus': 'Status',
|
||||
'admin.plugins.sortBy': 'Urutkan',
|
||||
'admin.plugins.allTypes': 'Semua jenis',
|
||||
'admin.plugins.allStatuses': 'Semua',
|
||||
'admin.plugins.stateOff': 'Nonaktif',
|
||||
'admin.plugins.filterUpdate': 'Pembaruan tersedia',
|
||||
'admin.plugins.sortName': 'Nama',
|
||||
'admin.plugins.sortRecent': 'Baru diperbarui',
|
||||
'admin.plugins.sortUpdates': 'Pembaruan dulu',
|
||||
'admin.plugins.updatesAvailable': '{count} pembaruan tersedia untuk plugin kamu.',
|
||||
'admin.plugins.updateAll': 'Perbarui semua',
|
||||
'admin.plugins.noMatchInstalled': 'Tidak ada plugin terpasang yang cocok dengan pencarianmu.',
|
||||
'admin.plugins.noMatchRegistry': 'Tidak ada plugin di registri yang cocok dengan pencarianmu.',
|
||||
'admin.plugins.restart': 'Mulai ulang',
|
||||
'admin.plugins.restarted': 'Plugin dimulai ulang',
|
||||
'admin.plugins.cap.readsTrips': 'Membaca perjalananmu',
|
||||
'admin.plugins.cap.readsUsers': 'Membaca profil dasar',
|
||||
'admin.plugins.cap.widget': 'Widget dasbor',
|
||||
'admin.plugins.cap.heroWidget': 'Widget boarding pass',
|
||||
'admin.plugins.cap.realtime': 'Pembaruan real-time',
|
||||
'admin.plugins.cap.photos': 'Menyediakan foto',
|
||||
'admin.plugins.cap.calendar': 'Menyediakan acara kalender',
|
||||
'admin.plugins.accessTitle': 'Yang bisa diaksesnya',
|
||||
'admin.plugins.connectsTitle': 'Terhubung ke',
|
||||
'admin.plugins.detailsTitle': 'Detail',
|
||||
'admin.plugins.noAccess': 'Tidak perlu akses khusus.',
|
||||
'admin.plugins.metaVersion': 'Versi',
|
||||
'admin.plugins.metaSize': 'Ukuran',
|
||||
'admin.plugins.metaRequires': 'Memerlukan',
|
||||
'admin.plugins.metaReviewed': 'Ditinjau pada',
|
||||
'admin.addons.title': 'Addon',
|
||||
'admin.addons.subtitle': 'Aktifkan atau nonaktifkan fitur untuk menyesuaikan pengalaman TREK kamu.',
|
||||
'admin.addons.catalog.packing.name': 'Daftar',
|
||||
|
||||
@@ -249,6 +249,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'In conclusione',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Installare un plugin è come installare una qualsiasi app di terze parti: aggiungi solo codice di autori di cui ti fidi e, in caso di dubbio, ispezionalo personalmente prima. TREK non si assume alcuna responsabilità per i plugin di terze parti.',
|
||||
'admin.plugins.runtimeOn': 'Runtime attivo',
|
||||
'admin.plugins.tabDiscover': 'Scopri',
|
||||
'admin.plugins.searchPlaceholder': 'Cerca plugin…',
|
||||
'admin.plugins.filterType': 'Tipo',
|
||||
'admin.plugins.filterStatus': 'Stato',
|
||||
'admin.plugins.sortBy': 'Ordina',
|
||||
'admin.plugins.allTypes': 'Tutti i tipi',
|
||||
'admin.plugins.allStatuses': 'Tutti',
|
||||
'admin.plugins.stateOff': 'Disattivato',
|
||||
'admin.plugins.filterUpdate': 'Aggiornamento disponibile',
|
||||
'admin.plugins.sortName': 'Nome',
|
||||
'admin.plugins.sortRecent': 'Aggiornati di recente',
|
||||
'admin.plugins.sortUpdates': 'Prima gli aggiornamenti',
|
||||
'admin.plugins.updatesAvailable': '{count} aggiornamenti disponibili per i tuoi plugin.',
|
||||
'admin.plugins.updateAll': 'Aggiorna tutti',
|
||||
'admin.plugins.noMatchInstalled': 'Nessun plugin installato corrisponde alla tua ricerca.',
|
||||
'admin.plugins.noMatchRegistry': 'Nessun plugin nel registro corrisponde alla tua ricerca.',
|
||||
'admin.plugins.restart': 'Riavvia',
|
||||
'admin.plugins.restarted': 'Plugin riavviato',
|
||||
'admin.plugins.cap.readsTrips': 'Legge i tuoi viaggi',
|
||||
'admin.plugins.cap.readsUsers': 'Legge i profili di base',
|
||||
'admin.plugins.cap.widget': 'Widget dashboard',
|
||||
'admin.plugins.cap.heroWidget': "Widget carta d'imbarco",
|
||||
'admin.plugins.cap.realtime': 'Aggiornamenti in tempo reale',
|
||||
'admin.plugins.cap.photos': 'Fornisce foto',
|
||||
'admin.plugins.cap.calendar': 'Fornisce eventi calendario',
|
||||
'admin.plugins.accessTitle': 'A cosa può accedere',
|
||||
'admin.plugins.connectsTitle': 'Si connette a',
|
||||
'admin.plugins.detailsTitle': 'Dettagli',
|
||||
'admin.plugins.noAccess': 'Non richiede accessi speciali.',
|
||||
'admin.plugins.metaVersion': 'Versione',
|
||||
'admin.plugins.metaSize': 'Dimensione',
|
||||
'admin.plugins.metaRequires': 'Richiede',
|
||||
'admin.plugins.metaReviewed': 'Verificato il',
|
||||
'admin.addons.title': 'Moduli',
|
||||
'admin.addons.subtitle': 'Abilita o disabilita le funzionalità per personalizzare la tua esperienza TREK.',
|
||||
'admin.addons.catalog.packing.name': 'Liste',
|
||||
|
||||
@@ -281,6 +281,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': '結論',
|
||||
'admin.plugins.security.trustBody':
|
||||
'プラグインのインストールは、サードパーティ製アプリのインストールと同じです。信頼できる作者のコードのみを追加し、少しでも疑わしい場合は、まずご自身で内容を確認してください。TREKはサードパーティ製プラグインについて一切の責任を負いません。',
|
||||
'admin.plugins.runtimeOn': 'ランタイム:オン',
|
||||
'admin.plugins.tabDiscover': '探す',
|
||||
'admin.plugins.searchPlaceholder': 'プラグインを検索…',
|
||||
'admin.plugins.filterType': 'タイプ',
|
||||
'admin.plugins.filterStatus': 'ステータス',
|
||||
'admin.plugins.sortBy': '並び替え',
|
||||
'admin.plugins.allTypes': 'すべてのタイプ',
|
||||
'admin.plugins.allStatuses': 'すべて',
|
||||
'admin.plugins.stateOff': 'オフ',
|
||||
'admin.plugins.filterUpdate': 'アップデートあり',
|
||||
'admin.plugins.sortName': '名前',
|
||||
'admin.plugins.sortRecent': '最近更新',
|
||||
'admin.plugins.sortUpdates': 'アップデート優先',
|
||||
'admin.plugins.updatesAvailable': 'プラグインに{count}件のアップデートがあります。',
|
||||
'admin.plugins.updateAll': 'すべて更新',
|
||||
'admin.plugins.noMatchInstalled': '検索条件に一致するインストール済みプラグインはありません。',
|
||||
'admin.plugins.noMatchRegistry': '検索条件に一致するプラグインはレジストリにありません。',
|
||||
'admin.plugins.restart': '再起動',
|
||||
'admin.plugins.restarted': 'プラグインを再起動しました',
|
||||
'admin.plugins.cap.readsTrips': '旅行を読み取り',
|
||||
'admin.plugins.cap.readsUsers': '基本プロフィールを読み取り',
|
||||
'admin.plugins.cap.widget': 'ダッシュボードウィジェット',
|
||||
'admin.plugins.cap.heroWidget': '搭乗券ウィジェット',
|
||||
'admin.plugins.cap.realtime': 'リアルタイム更新',
|
||||
'admin.plugins.cap.photos': '写真を提供',
|
||||
'admin.plugins.cap.calendar': 'カレンダー予定を提供',
|
||||
'admin.plugins.accessTitle': 'アクセスできるもの',
|
||||
'admin.plugins.connectsTitle': '接続先',
|
||||
'admin.plugins.detailsTitle': '詳細',
|
||||
'admin.plugins.noAccess': '特別なアクセスは不要です。',
|
||||
'admin.plugins.metaVersion': 'バージョン',
|
||||
'admin.plugins.metaSize': 'サイズ',
|
||||
'admin.plugins.metaRequires': '要件',
|
||||
'admin.plugins.metaReviewed': 'レビュー日',
|
||||
'admin.addons.title': 'アドオン',
|
||||
'admin.addons.subtitle': '機能を有効/無効にしてTREKをカスタマイズします。',
|
||||
'admin.addons.catalog.packing.name': 'リスト',
|
||||
|
||||
@@ -287,6 +287,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': '핵심 요약',
|
||||
'admin.plugins.security.trustBody':
|
||||
'플러그인을 설치하는 것은 다른 서드파티 앱을 설치하는 것과 같습니다: 신뢰할 수 있는 작성자의 코드만 추가하고, 의심스러우면 먼저 직접 확인하세요. TREK은 서드파티 플러그인에 대해 어떠한 책임도 지지 않습니다.',
|
||||
'admin.plugins.runtimeOn': '런타임 켜짐',
|
||||
'admin.plugins.tabDiscover': '둘러보기',
|
||||
'admin.plugins.searchPlaceholder': '플러그인 검색…',
|
||||
'admin.plugins.filterType': '유형',
|
||||
'admin.plugins.filterStatus': '상태',
|
||||
'admin.plugins.sortBy': '정렬',
|
||||
'admin.plugins.allTypes': '모든 유형',
|
||||
'admin.plugins.allStatuses': '전체',
|
||||
'admin.plugins.stateOff': '꺼짐',
|
||||
'admin.plugins.filterUpdate': '업데이트 가능',
|
||||
'admin.plugins.sortName': '이름',
|
||||
'admin.plugins.sortRecent': '최근 업데이트순',
|
||||
'admin.plugins.sortUpdates': '업데이트 우선',
|
||||
'admin.plugins.updatesAvailable': '플러그인 업데이트 {count}건이 있습니다.',
|
||||
'admin.plugins.updateAll': '모두 업데이트',
|
||||
'admin.plugins.noMatchInstalled': '검색과 일치하는 설치된 플러그인이 없습니다.',
|
||||
'admin.plugins.noMatchRegistry': '레지스트리에 검색과 일치하는 플러그인이 없습니다.',
|
||||
'admin.plugins.restart': '다시 시작',
|
||||
'admin.plugins.restarted': '플러그인이 다시 시작되었습니다',
|
||||
'admin.plugins.cap.readsTrips': '여행 읽기',
|
||||
'admin.plugins.cap.readsUsers': '기본 프로필 읽기',
|
||||
'admin.plugins.cap.widget': '대시보드 위젯',
|
||||
'admin.plugins.cap.heroWidget': '탑승권 위젯',
|
||||
'admin.plugins.cap.realtime': '실시간 업데이트',
|
||||
'admin.plugins.cap.photos': '사진 제공',
|
||||
'admin.plugins.cap.calendar': '캘린더 일정 제공',
|
||||
'admin.plugins.accessTitle': '접근할 수 있는 항목',
|
||||
'admin.plugins.connectsTitle': '연결 대상',
|
||||
'admin.plugins.detailsTitle': '상세 정보',
|
||||
'admin.plugins.noAccess': '특별한 접근 권한이 필요하지 않습니다.',
|
||||
'admin.plugins.metaVersion': '버전',
|
||||
'admin.plugins.metaSize': '크기',
|
||||
'admin.plugins.metaRequires': '요구 사항',
|
||||
'admin.plugins.metaReviewed': '검토일',
|
||||
'admin.addons.title': '애드온',
|
||||
'admin.addons.subtitle': '기능을 활성화 또는 비활성화하여 TREK 경험을 맞춤 설정하세요.',
|
||||
'admin.addons.catalog.packing.name': '목록',
|
||||
|
||||
@@ -250,6 +250,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'De conclusie',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Een plugin installeren is als het installeren van elke andere app van derden: voeg alleen code toe van auteurs die je vertrouwt en controleer deze bij twijfel eerst zelf. TREK aanvaardt geen enkele verantwoordelijkheid voor plugins van derden.',
|
||||
'admin.plugins.runtimeOn': 'Runtime aan',
|
||||
'admin.plugins.tabDiscover': 'Ontdekken',
|
||||
'admin.plugins.searchPlaceholder': 'Plugins zoeken…',
|
||||
'admin.plugins.filterType': 'Type',
|
||||
'admin.plugins.filterStatus': 'Status',
|
||||
'admin.plugins.sortBy': 'Sorteren',
|
||||
'admin.plugins.allTypes': 'Alle typen',
|
||||
'admin.plugins.allStatuses': 'Alle',
|
||||
'admin.plugins.stateOff': 'Uit',
|
||||
'admin.plugins.filterUpdate': 'Update beschikbaar',
|
||||
'admin.plugins.sortName': 'Naam',
|
||||
'admin.plugins.sortRecent': 'Onlangs bijgewerkt',
|
||||
'admin.plugins.sortUpdates': 'Updates eerst',
|
||||
'admin.plugins.updatesAvailable': '{count} updates beschikbaar voor je plugins.',
|
||||
'admin.plugins.updateAll': 'Alles bijwerken',
|
||||
'admin.plugins.noMatchInstalled': 'Geen geïnstalleerde plugins komen overeen met je zoekopdracht.',
|
||||
'admin.plugins.noMatchRegistry': 'Geen plugins in het register komen overeen met je zoekopdracht.',
|
||||
'admin.plugins.restart': 'Opnieuw starten',
|
||||
'admin.plugins.restarted': 'Plugin opnieuw gestart',
|
||||
'admin.plugins.cap.readsTrips': 'Leest je reizen',
|
||||
'admin.plugins.cap.readsUsers': 'Leest basisprofielen',
|
||||
'admin.plugins.cap.widget': 'Dashboardwidget',
|
||||
'admin.plugins.cap.heroWidget': 'Instapkaartwidget',
|
||||
'admin.plugins.cap.realtime': 'Realtime updates',
|
||||
'admin.plugins.cap.photos': "Levert foto's",
|
||||
'admin.plugins.cap.calendar': 'Levert kalenderevenementen',
|
||||
'admin.plugins.accessTitle': 'Waartoe hij toegang heeft',
|
||||
'admin.plugins.connectsTitle': 'Maakt verbinding met',
|
||||
'admin.plugins.detailsTitle': 'Details',
|
||||
'admin.plugins.noAccess': 'Heeft geen speciale toegang nodig.',
|
||||
'admin.plugins.metaVersion': 'Versie',
|
||||
'admin.plugins.metaSize': 'Grootte',
|
||||
'admin.plugins.metaRequires': 'Vereist',
|
||||
'admin.plugins.metaReviewed': 'Beoordeeld op',
|
||||
'admin.addons.title': 'Add-ons',
|
||||
'admin.addons.subtitle': 'Schakel functies in of uit om je TREK-ervaring aan te passen.',
|
||||
'admin.addons.catalog.memories.name': "Foto's (Immich)",
|
||||
|
||||
@@ -243,6 +243,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Podsumowanie',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Instalacja wtyczki jest jak instalacja dowolnej aplikacji innych firm: dodawaj tylko kod od autorów, którym ufasz, a w razie wątpliwości najpierw samodzielnie go sprawdź. TREK nie ponosi żadnej odpowiedzialności za wtyczki innych firm.',
|
||||
'admin.plugins.runtimeOn': 'Środowisko włączone',
|
||||
'admin.plugins.tabDiscover': 'Odkrywaj',
|
||||
'admin.plugins.searchPlaceholder': 'Szukaj wtyczek…',
|
||||
'admin.plugins.filterType': 'Typ',
|
||||
'admin.plugins.filterStatus': 'Status',
|
||||
'admin.plugins.sortBy': 'Sortuj',
|
||||
'admin.plugins.allTypes': 'Wszystkie typy',
|
||||
'admin.plugins.allStatuses': 'Wszystkie',
|
||||
'admin.plugins.stateOff': 'Wył.',
|
||||
'admin.plugins.filterUpdate': 'Dostępna aktualizacja',
|
||||
'admin.plugins.sortName': 'Nazwa',
|
||||
'admin.plugins.sortRecent': 'Ostatnio zaktualizowane',
|
||||
'admin.plugins.sortUpdates': 'Najpierw aktualizacje',
|
||||
'admin.plugins.updatesAvailable': 'Dostępne aktualizacje dla Twoich wtyczek: {count}.',
|
||||
'admin.plugins.updateAll': 'Zaktualizuj wszystkie',
|
||||
'admin.plugins.noMatchInstalled': 'Żadna zainstalowana wtyczka nie pasuje do wyszukiwania.',
|
||||
'admin.plugins.noMatchRegistry': 'Żadna wtyczka w rejestrze nie pasuje do wyszukiwania.',
|
||||
'admin.plugins.restart': 'Uruchom ponownie',
|
||||
'admin.plugins.restarted': 'Wtyczka została uruchomiona ponownie',
|
||||
'admin.plugins.cap.readsTrips': 'Odczytuje Twoje podróże',
|
||||
'admin.plugins.cap.readsUsers': 'Odczytuje podstawowe profile',
|
||||
'admin.plugins.cap.widget': 'Widget na pulpicie',
|
||||
'admin.plugins.cap.heroWidget': 'Widget karty pokładowej',
|
||||
'admin.plugins.cap.realtime': 'Aktualizacje na żywo',
|
||||
'admin.plugins.cap.photos': 'Dostarcza zdjęcia',
|
||||
'admin.plugins.cap.calendar': 'Dostarcza wydarzenia kalendarza',
|
||||
'admin.plugins.accessTitle': 'Do czego ma dostęp',
|
||||
'admin.plugins.connectsTitle': 'Łączy się z',
|
||||
'admin.plugins.detailsTitle': 'Szczegóły',
|
||||
'admin.plugins.noAccess': 'Nie wymaga specjalnego dostępu.',
|
||||
'admin.plugins.metaVersion': 'Wersja',
|
||||
'admin.plugins.metaSize': 'Rozmiar',
|
||||
'admin.plugins.metaRequires': 'Wymaga',
|
||||
'admin.plugins.metaReviewed': 'Zweryfikowano',
|
||||
'admin.addons.title': 'Dodatki',
|
||||
'admin.addons.subtitle': 'Włączaj lub wyłączaj funkcje, aby dostosować swoje doświadczenie w TREK.',
|
||||
'admin.addons.catalog.packing.name': 'Listy',
|
||||
|
||||
@@ -250,6 +250,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Итог',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Установка плагина похожа на установку любого стороннего приложения: добавляйте только код от авторов, которым доверяете, а при сомнениях сначала проверьте его самостоятельно. TREK не несёт ответственности за сторонние плагины.',
|
||||
'admin.plugins.runtimeOn': 'Среда выполнения включена',
|
||||
'admin.plugins.tabDiscover': 'Каталог',
|
||||
'admin.plugins.searchPlaceholder': 'Поиск плагинов…',
|
||||
'admin.plugins.filterType': 'Тип',
|
||||
'admin.plugins.filterStatus': 'Статус',
|
||||
'admin.plugins.sortBy': 'Сортировка',
|
||||
'admin.plugins.allTypes': 'Все типы',
|
||||
'admin.plugins.allStatuses': 'Все',
|
||||
'admin.plugins.stateOff': 'Выкл.',
|
||||
'admin.plugins.filterUpdate': 'Есть обновление',
|
||||
'admin.plugins.sortName': 'Название',
|
||||
'admin.plugins.sortRecent': 'Недавно обновлённые',
|
||||
'admin.plugins.sortUpdates': 'Сначала с обновлениями',
|
||||
'admin.plugins.updatesAvailable': 'Доступно обновлений для ваших плагинов: {count}.',
|
||||
'admin.plugins.updateAll': 'Обновить все',
|
||||
'admin.plugins.noMatchInstalled': 'Нет установленных плагинов по вашему запросу.',
|
||||
'admin.plugins.noMatchRegistry': 'В реестре нет плагинов по вашему запросу.',
|
||||
'admin.plugins.restart': 'Перезапустить',
|
||||
'admin.plugins.restarted': 'Плагин перезапущен',
|
||||
'admin.plugins.cap.readsTrips': 'Читает ваши поездки',
|
||||
'admin.plugins.cap.readsUsers': 'Читает основные профили',
|
||||
'admin.plugins.cap.widget': 'Виджет панели',
|
||||
'admin.plugins.cap.heroWidget': 'Виджет посадочного талона',
|
||||
'admin.plugins.cap.realtime': 'Обновления в реальном времени',
|
||||
'admin.plugins.cap.photos': 'Предоставляет фото',
|
||||
'admin.plugins.cap.calendar': 'Предоставляет события календаря',
|
||||
'admin.plugins.accessTitle': 'К чему есть доступ',
|
||||
'admin.plugins.connectsTitle': 'Подключается к',
|
||||
'admin.plugins.detailsTitle': 'Подробности',
|
||||
'admin.plugins.noAccess': 'Особый доступ не требуется.',
|
||||
'admin.plugins.metaVersion': 'Версия',
|
||||
'admin.plugins.metaSize': 'Размер',
|
||||
'admin.plugins.metaRequires': 'Требуется',
|
||||
'admin.plugins.metaReviewed': 'Проверен',
|
||||
'admin.addons.title': 'Дополнения',
|
||||
'admin.addons.subtitle': 'Включайте или отключайте функции для настройки TREK под себя.',
|
||||
'admin.addons.catalog.memories.name': 'Фото (Immich)',
|
||||
|
||||
@@ -302,6 +302,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Sammanfattningsvis',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Att installera ett plugin är som att installera vilken tredjepartsapp som helst: lägg bara till kod från upphovspersoner du litar på, och granska det själv först om du är osäker. TREK tar inget ansvar för tredjepartsplugins.',
|
||||
'admin.plugins.runtimeOn': 'Körmiljö på',
|
||||
'admin.plugins.tabDiscover': 'Upptäck',
|
||||
'admin.plugins.searchPlaceholder': 'Sök plugins…',
|
||||
'admin.plugins.filterType': 'Typ',
|
||||
'admin.plugins.filterStatus': 'Status',
|
||||
'admin.plugins.sortBy': 'Sortera',
|
||||
'admin.plugins.allTypes': 'Alla typer',
|
||||
'admin.plugins.allStatuses': 'Alla',
|
||||
'admin.plugins.stateOff': 'Av',
|
||||
'admin.plugins.filterUpdate': 'Uppdatering tillgänglig',
|
||||
'admin.plugins.sortName': 'Namn',
|
||||
'admin.plugins.sortRecent': 'Nyligen uppdaterade',
|
||||
'admin.plugins.sortUpdates': 'Uppdateringar först',
|
||||
'admin.plugins.updatesAvailable': '{count} uppdateringar tillgängliga för dina plugins.',
|
||||
'admin.plugins.updateAll': 'Uppdatera alla',
|
||||
'admin.plugins.noMatchInstalled': 'Inga installerade plugins matchar din sökning.',
|
||||
'admin.plugins.noMatchRegistry': 'Inga plugins i registret matchar din sökning.',
|
||||
'admin.plugins.restart': 'Starta om',
|
||||
'admin.plugins.restarted': 'Pluginet har startats om',
|
||||
'admin.plugins.cap.readsTrips': 'Läser dina resor',
|
||||
'admin.plugins.cap.readsUsers': 'Läser grundläggande profiler',
|
||||
'admin.plugins.cap.widget': 'Dashboard-widget',
|
||||
'admin.plugins.cap.heroWidget': 'Boardingkort-widget',
|
||||
'admin.plugins.cap.realtime': 'Realtidsuppdateringar',
|
||||
'admin.plugins.cap.photos': 'Tillhandahåller foton',
|
||||
'admin.plugins.cap.calendar': 'Tillhandahåller kalenderhändelser',
|
||||
'admin.plugins.accessTitle': 'Vad det har åtkomst till',
|
||||
'admin.plugins.connectsTitle': 'Ansluter till',
|
||||
'admin.plugins.detailsTitle': 'Detaljer',
|
||||
'admin.plugins.noAccess': 'Behöver ingen särskild åtkomst.',
|
||||
'admin.plugins.metaVersion': 'Version',
|
||||
'admin.plugins.metaSize': 'Storlek',
|
||||
'admin.plugins.metaRequires': 'Kräver',
|
||||
'admin.plugins.metaReviewed': 'Granskad',
|
||||
'admin.addons.title': 'Tillägg',
|
||||
'admin.addons.subtitle': 'Aktivera eller inaktivera funktioner för att anpassa din TREK-upplevelse.',
|
||||
'admin.addons.catalog.packing.name': 'Listor',
|
||||
|
||||
@@ -294,6 +294,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Özetle',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Bir eklenti yüklemek, herhangi bir üçüncü taraf uygulamasını yüklemek gibidir: yalnızca güvendiğiniz geliştiricilerin kodunu ekleyin ve şüpheye düştüğünüzde önce kendiniz inceleyin. TREK, üçüncü taraf eklentiler için hiçbir sorumluluk kabul etmez.',
|
||||
'admin.plugins.runtimeOn': 'Çalışma zamanı açık',
|
||||
'admin.plugins.tabDiscover': 'Keşfet',
|
||||
'admin.plugins.searchPlaceholder': 'Eklenti ara…',
|
||||
'admin.plugins.filterType': 'Tür',
|
||||
'admin.plugins.filterStatus': 'Durum',
|
||||
'admin.plugins.sortBy': 'Sırala',
|
||||
'admin.plugins.allTypes': 'Tüm türler',
|
||||
'admin.plugins.allStatuses': 'Tümü',
|
||||
'admin.plugins.stateOff': 'Kapalı',
|
||||
'admin.plugins.filterUpdate': 'Güncelleme mevcut',
|
||||
'admin.plugins.sortName': 'Ad',
|
||||
'admin.plugins.sortRecent': 'Son güncellenen',
|
||||
'admin.plugins.sortUpdates': 'Önce güncellemeler',
|
||||
'admin.plugins.updatesAvailable': 'Eklentileriniz için {count} güncelleme mevcut.',
|
||||
'admin.plugins.updateAll': 'Tümünü güncelle',
|
||||
'admin.plugins.noMatchInstalled': 'Aramanızla eşleşen yüklü eklenti yok.',
|
||||
'admin.plugins.noMatchRegistry': 'Dizinde aramanızla eşleşen eklenti yok.',
|
||||
'admin.plugins.restart': 'Yeniden başlat',
|
||||
'admin.plugins.restarted': 'Eklenti yeniden başlatıldı',
|
||||
'admin.plugins.cap.readsTrips': 'Seyahatlerinizi okur',
|
||||
'admin.plugins.cap.readsUsers': 'Temel profilleri okur',
|
||||
'admin.plugins.cap.widget': "Pano widget'ı",
|
||||
'admin.plugins.cap.heroWidget': "Biniş kartı widget'ı",
|
||||
'admin.plugins.cap.realtime': 'Gerçek zamanlı güncellemeler',
|
||||
'admin.plugins.cap.photos': 'Fotoğraf sağlar',
|
||||
'admin.plugins.cap.calendar': 'Takvim etkinlikleri sağlar',
|
||||
'admin.plugins.accessTitle': 'Neye erişebilir',
|
||||
'admin.plugins.connectsTitle': 'Şuraya bağlanır',
|
||||
'admin.plugins.detailsTitle': 'Detaylar',
|
||||
'admin.plugins.noAccess': 'Özel bir erişime ihtiyaç duymaz.',
|
||||
'admin.plugins.metaVersion': 'Sürüm',
|
||||
'admin.plugins.metaSize': 'Boyut',
|
||||
'admin.plugins.metaRequires': 'Gerektirir',
|
||||
'admin.plugins.metaReviewed': 'İncelenme tarihi',
|
||||
'admin.addons.title': 'Eklentiler',
|
||||
'admin.addons.subtitle': 'TREK deneyiminizi özelleştirmek için özellikleri etkinleştirin veya devre dışı bırakın.',
|
||||
'admin.addons.catalog.packing.name': 'Listeler',
|
||||
|
||||
@@ -250,6 +250,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Підсумок',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Встановлення плагіна — це те саме, що встановлення будь-якого стороннього застосунку: додавайте лише код від авторів, яким довіряєте, а в разі сумнівів спершу перевірте його самостійно. TREK не несе відповідальності за сторонні плагіни.',
|
||||
'admin.plugins.runtimeOn': 'Середовище виконання ввімкнено',
|
||||
'admin.plugins.tabDiscover': 'Огляд',
|
||||
'admin.plugins.searchPlaceholder': 'Пошук плагінів…',
|
||||
'admin.plugins.filterType': 'Тип',
|
||||
'admin.plugins.filterStatus': 'Статус',
|
||||
'admin.plugins.sortBy': 'Сортування',
|
||||
'admin.plugins.allTypes': 'Усі типи',
|
||||
'admin.plugins.allStatuses': 'Усі',
|
||||
'admin.plugins.stateOff': 'Вимкнено',
|
||||
'admin.plugins.filterUpdate': 'Доступне оновлення',
|
||||
'admin.plugins.sortName': 'Назва',
|
||||
'admin.plugins.sortRecent': 'Нещодавно оновлені',
|
||||
'admin.plugins.sortUpdates': 'Спочатку оновлення',
|
||||
'admin.plugins.updatesAvailable': 'Для ваших плагінів доступно оновлень: {count}.',
|
||||
'admin.plugins.updateAll': 'Оновити все',
|
||||
'admin.plugins.noMatchInstalled': 'Жоден встановлений плагін не відповідає вашому запиту.',
|
||||
'admin.plugins.noMatchRegistry': 'Жоден плагін у реєстрі не відповідає вашому запиту.',
|
||||
'admin.plugins.restart': 'Перезапустити',
|
||||
'admin.plugins.restarted': 'Плагін перезапущено',
|
||||
'admin.plugins.cap.readsTrips': 'Читає ваші подорожі',
|
||||
'admin.plugins.cap.readsUsers': 'Читає базові профілі',
|
||||
'admin.plugins.cap.widget': 'Віджет панелі',
|
||||
'admin.plugins.cap.heroWidget': 'Віджет посадкового талона',
|
||||
'admin.plugins.cap.realtime': 'Оновлення в реальному часі',
|
||||
'admin.plugins.cap.photos': 'Надає фотографії',
|
||||
'admin.plugins.cap.calendar': 'Надає події календаря',
|
||||
'admin.plugins.accessTitle': 'До чого має доступ',
|
||||
'admin.plugins.connectsTitle': 'Підключається до',
|
||||
'admin.plugins.detailsTitle': 'Деталі',
|
||||
'admin.plugins.noAccess': 'Не потребує особливого доступу.',
|
||||
'admin.plugins.metaVersion': 'Версія',
|
||||
'admin.plugins.metaSize': 'Розмір',
|
||||
'admin.plugins.metaRequires': 'Потребує',
|
||||
'admin.plugins.metaReviewed': 'Перевірено',
|
||||
'admin.addons.title': 'Доповнення',
|
||||
'admin.addons.subtitle': 'Увімкніть або вимкніть функції, щоб налаштувати TREK під себе.',
|
||||
'admin.addons.catalog.memories.name': 'Фото (Immich)',
|
||||
|
||||
@@ -302,6 +302,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': 'Điểm mấu chốt',
|
||||
'admin.plugins.security.trustBody':
|
||||
'Cài đặt một plugin cũng giống như cài đặt bất kỳ ứng dụng bên thứ ba nào: chỉ cài đặt mã từ những tác giả bạn tin tưởng, và khi còn nghi ngờ, hãy tự kiểm tra nó trước. TREK không chịu trách nhiệm về các plugin của bên thứ ba.',
|
||||
'admin.plugins.runtimeOn': 'Runtime đang bật',
|
||||
'admin.plugins.tabDiscover': 'Khám phá',
|
||||
'admin.plugins.searchPlaceholder': 'Tìm kiếm plugin…',
|
||||
'admin.plugins.filterType': 'Loại',
|
||||
'admin.plugins.filterStatus': 'Trạng thái',
|
||||
'admin.plugins.sortBy': 'Sắp xếp',
|
||||
'admin.plugins.allTypes': 'Tất cả loại',
|
||||
'admin.plugins.allStatuses': 'Tất cả',
|
||||
'admin.plugins.stateOff': 'Tắt',
|
||||
'admin.plugins.filterUpdate': 'Có bản cập nhật',
|
||||
'admin.plugins.sortName': 'Tên',
|
||||
'admin.plugins.sortRecent': 'Cập nhật gần đây',
|
||||
'admin.plugins.sortUpdates': 'Ưu tiên bản cập nhật',
|
||||
'admin.plugins.updatesAvailable': 'Có {count} bản cập nhật cho các plugin của bạn.',
|
||||
'admin.plugins.updateAll': 'Cập nhật tất cả',
|
||||
'admin.plugins.noMatchInstalled': 'Không có plugin đã cài đặt nào khớp với tìm kiếm của bạn.',
|
||||
'admin.plugins.noMatchRegistry': 'Không có plugin nào trong kho đăng ký khớp với tìm kiếm của bạn.',
|
||||
'admin.plugins.restart': 'Khởi động lại',
|
||||
'admin.plugins.restarted': 'Đã khởi động lại plugin',
|
||||
'admin.plugins.cap.readsTrips': 'Đọc chuyến đi của bạn',
|
||||
'admin.plugins.cap.readsUsers': 'Đọc hồ sơ cơ bản',
|
||||
'admin.plugins.cap.widget': 'Widget bảng điều khiển',
|
||||
'admin.plugins.cap.heroWidget': 'Widget thẻ lên máy bay',
|
||||
'admin.plugins.cap.realtime': 'Cập nhật thời gian thực',
|
||||
'admin.plugins.cap.photos': 'Cung cấp ảnh',
|
||||
'admin.plugins.cap.calendar': 'Cung cấp sự kiện lịch',
|
||||
'admin.plugins.accessTitle': 'Những gì có thể truy cập',
|
||||
'admin.plugins.connectsTitle': 'Kết nối tới',
|
||||
'admin.plugins.detailsTitle': 'Chi tiết',
|
||||
'admin.plugins.noAccess': 'Không cần quyền truy cập đặc biệt nào.',
|
||||
'admin.plugins.metaVersion': 'Phiên bản',
|
||||
'admin.plugins.metaSize': 'Kích thước',
|
||||
'admin.plugins.metaRequires': 'Yêu cầu',
|
||||
'admin.plugins.metaReviewed': 'Đã kiểm duyệt vào',
|
||||
'admin.addons.title': 'Tiện ích bổ sung',
|
||||
'admin.addons.subtitle': 'Bật hoặc tắt các tính năng để tùy chỉnh trải nghiệm TREK của bạn.',
|
||||
'admin.addons.catalog.packing.name': 'Danh sách',
|
||||
|
||||
@@ -284,6 +284,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': '結論',
|
||||
'admin.plugins.security.trustBody':
|
||||
'安裝外掛就像安裝任何第三方應用程式:只加入你信任的作者所提供的程式碼,如有疑慮,請先自行檢查。TREK 對第三方外掛概不承擔任何責任。',
|
||||
'admin.plugins.runtimeOn': '執行環境已啟用',
|
||||
'admin.plugins.tabDiscover': '探索',
|
||||
'admin.plugins.searchPlaceholder': '搜尋外掛…',
|
||||
'admin.plugins.filterType': '型別',
|
||||
'admin.plugins.filterStatus': '狀態',
|
||||
'admin.plugins.sortBy': '排序',
|
||||
'admin.plugins.allTypes': '所有型別',
|
||||
'admin.plugins.allStatuses': '全部',
|
||||
'admin.plugins.stateOff': '關閉',
|
||||
'admin.plugins.filterUpdate': '有可用更新',
|
||||
'admin.plugins.sortName': '名稱',
|
||||
'admin.plugins.sortRecent': '最近更新',
|
||||
'admin.plugins.sortUpdates': '更新優先',
|
||||
'admin.plugins.updatesAvailable': '你的外掛有 {count} 項可用更新。',
|
||||
'admin.plugins.updateAll': '全部更新',
|
||||
'admin.plugins.noMatchInstalled': '沒有符合搜尋條件的已安裝外掛。',
|
||||
'admin.plugins.noMatchRegistry': '外掛庫中沒有符合搜尋條件的外掛。',
|
||||
'admin.plugins.restart': '重新啟動',
|
||||
'admin.plugins.restarted': '外掛已重新啟動',
|
||||
'admin.plugins.cap.readsTrips': '讀取你的行程',
|
||||
'admin.plugins.cap.readsUsers': '讀取基本個人資料',
|
||||
'admin.plugins.cap.widget': '儀表板小工具',
|
||||
'admin.plugins.cap.heroWidget': '登機證小工具',
|
||||
'admin.plugins.cap.realtime': '即時更新',
|
||||
'admin.plugins.cap.photos': '提供照片',
|
||||
'admin.plugins.cap.calendar': '提供行事曆事件',
|
||||
'admin.plugins.accessTitle': '可存取的內容',
|
||||
'admin.plugins.connectsTitle': '連線至',
|
||||
'admin.plugins.detailsTitle': '詳細資訊',
|
||||
'admin.plugins.noAccess': '無需任何特殊存取權限。',
|
||||
'admin.plugins.metaVersion': '版本',
|
||||
'admin.plugins.metaSize': '大小',
|
||||
'admin.plugins.metaRequires': '需要',
|
||||
'admin.plugins.metaReviewed': '審核於',
|
||||
'admin.addons.title': '擴充套件',
|
||||
'admin.addons.subtitle': '啟用或停用功能以自定義你的 TREK 體驗。',
|
||||
'admin.addons.catalog.memories.name': '照片 (Immich)',
|
||||
|
||||
@@ -245,6 +245,40 @@ const admin: TranslationStrings = {
|
||||
'admin.plugins.security.trustTitle': '归根结底',
|
||||
'admin.plugins.security.trustBody':
|
||||
'安装插件就如同安装任何第三方应用:只添加来自你信任的作者的代码,如有疑虑,请先自行检查。TREK 对第三方插件不承担任何责任。',
|
||||
'admin.plugins.runtimeOn': '运行时已开启',
|
||||
'admin.plugins.tabDiscover': '发现',
|
||||
'admin.plugins.searchPlaceholder': '搜索插件…',
|
||||
'admin.plugins.filterType': '类型',
|
||||
'admin.plugins.filterStatus': '状态',
|
||||
'admin.plugins.sortBy': '排序',
|
||||
'admin.plugins.allTypes': '全部类型',
|
||||
'admin.plugins.allStatuses': '全部',
|
||||
'admin.plugins.stateOff': '已关闭',
|
||||
'admin.plugins.filterUpdate': '有可用更新',
|
||||
'admin.plugins.sortName': '名称',
|
||||
'admin.plugins.sortRecent': '最近更新',
|
||||
'admin.plugins.sortUpdates': '优先显示有更新的',
|
||||
'admin.plugins.updatesAvailable': '你的插件有 {count} 个可用更新。',
|
||||
'admin.plugins.updateAll': '全部更新',
|
||||
'admin.plugins.noMatchInstalled': '没有已安装的插件与你的搜索匹配。',
|
||||
'admin.plugins.noMatchRegistry': '插件库中没有与你的搜索匹配的插件。',
|
||||
'admin.plugins.restart': '重启',
|
||||
'admin.plugins.restarted': '插件已重启',
|
||||
'admin.plugins.cap.readsTrips': '读取你的旅行',
|
||||
'admin.plugins.cap.readsUsers': '读取基本个人资料',
|
||||
'admin.plugins.cap.widget': '仪表盘小组件',
|
||||
'admin.plugins.cap.heroWidget': '登机牌小组件',
|
||||
'admin.plugins.cap.realtime': '实时更新',
|
||||
'admin.plugins.cap.photos': '提供照片',
|
||||
'admin.plugins.cap.calendar': '提供日历事件',
|
||||
'admin.plugins.accessTitle': '可访问的内容',
|
||||
'admin.plugins.connectsTitle': '连接到',
|
||||
'admin.plugins.detailsTitle': '详情',
|
||||
'admin.plugins.noAccess': '无需任何特殊访问权限。',
|
||||
'admin.plugins.metaVersion': '版本',
|
||||
'admin.plugins.metaSize': '大小',
|
||||
'admin.plugins.metaRequires': '需要',
|
||||
'admin.plugins.metaReviewed': '审核于',
|
||||
'admin.addons.title': '扩展',
|
||||
'admin.addons.subtitle': '启用或禁用功能以自定义你的 TREK 体验。',
|
||||
'admin.addons.catalog.memories.name': '照片 (Immich)',
|
||||
|
||||
Reference in New Issue
Block a user