mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 19:21:10 +02:00
feat(manacore/web): wire TagField, FavoriteButton, ColorPicker into module UIs
Add shared TagField component (ID-based wrapper for TagSelector). Wire TagField into: calendar EventForm, times EntryForm, cards CreateDeckModal, contacts detail page. Wire FavoriteButton into contacts list (replaces inline Star toggle). Add ColorPicker to cards CreateDeckModal for deck color selection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
39af8f8480
commit
7ba82472b2
81 changed files with 10403 additions and 600 deletions
|
|
@ -53,14 +53,22 @@
|
|||
- **Phase 5:** Infrastruktur (Docker -20 Container, Cloudflare -60 Zeilen, mana-auth 30→8 Origins)
|
||||
- **Phase 6:** Navigation (APP_URLS auf Pfade, PillNav intern statt window.open)
|
||||
- **Phase 7:** Unified Sync (Multi-App Sync Manager, Change Tracker mit appId-Routing)
|
||||
- **Phase 8:** Sync Fix & Cross-App-Reader Elimination (2026-04-02)
|
||||
- Dexie Hooks für automatisches Change-Tracking (ersetzt manuelles trackChange())
|
||||
- sync.ts komplett neu: korrekte URLs, Auth-Token, Table-Name-Mapping, Server-Change-Guard
|
||||
- 12 Cross-App-Reader eliminiert (cross-app-stores.ts gelöscht, 383 Zeilen)
|
||||
- Legacy-DB-Migration (manacore-todo etc. → unified manacore DB)
|
||||
- manacoreStore refaktoriert auf unified DB Wrapper
|
||||
- Build verifiziert, 0 neue Type-Fehler
|
||||
|
||||
### Alle 7 Phasen abgeschlossen!
|
||||
### Alle 8 Phasen abgeschlossen!
|
||||
|
||||
**Verbleibende Arbeiten (nicht im Plan, aber empfohlen):**
|
||||
- Alte standalone Web-Apps in `apps-archived/` verschieben (nach Validierung)
|
||||
- E2E-Tests pro Modul (Routen erreichbar, CRUD funktioniert)
|
||||
- Build-Validierung der unified App (`pnpm --filter @manacore/web build`)
|
||||
- Production-Deploy + Cloudflare Tunnel Config auf Server aktualisieren
|
||||
- WebSocket-Konsolidierung: eine WS-Verbindung pro User statt 27 pro App (optional, Backend-Änderung)
|
||||
- End-to-End Sync-Test mit laufendem mana-sync Server verifizieren
|
||||
|
||||
### Nächste Schritte — Phase 2 abgeschlossen!
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"name": "@clock/shared",
|
||||
"version": "0.2.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "./src/index.ts",
|
||||
"exports": {
|
||||
".": "./src/index.ts",
|
||||
"./types": "./src/types/index.ts",
|
||||
"./constants": "./src/constants/index.ts"
|
||||
},
|
||||
"scripts": {
|
||||
"type-check": "tsc --noEmit",
|
||||
"lint": "eslint src"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5.7.2"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
// Popular timezones with city names and coordinates for map display
|
||||
export const POPULAR_TIMEZONES = [
|
||||
{
|
||||
timezone: 'America/New_York',
|
||||
city: 'New York',
|
||||
region: 'Americas',
|
||||
lat: 40.7128,
|
||||
lng: -74.006,
|
||||
},
|
||||
{
|
||||
timezone: 'America/Los_Angeles',
|
||||
city: 'Los Angeles',
|
||||
region: 'Americas',
|
||||
lat: 34.0522,
|
||||
lng: -118.2437,
|
||||
},
|
||||
{ timezone: 'America/Chicago', city: 'Chicago', region: 'Americas', lat: 41.8781, lng: -87.6298 },
|
||||
{ timezone: 'America/Toronto', city: 'Toronto', region: 'Americas', lat: 43.6532, lng: -79.3832 },
|
||||
{
|
||||
timezone: 'America/Sao_Paulo',
|
||||
city: 'São Paulo',
|
||||
region: 'Americas',
|
||||
lat: -23.5505,
|
||||
lng: -46.6333,
|
||||
},
|
||||
{
|
||||
timezone: 'America/Mexico_City',
|
||||
city: 'Mexico City',
|
||||
region: 'Americas',
|
||||
lat: 19.4326,
|
||||
lng: -99.1332,
|
||||
},
|
||||
{
|
||||
timezone: 'America/Buenos_Aires',
|
||||
city: 'Buenos Aires',
|
||||
region: 'Americas',
|
||||
lat: -34.6037,
|
||||
lng: -58.3816,
|
||||
},
|
||||
{
|
||||
timezone: 'America/Vancouver',
|
||||
city: 'Vancouver',
|
||||
region: 'Americas',
|
||||
lat: 49.2827,
|
||||
lng: -123.1207,
|
||||
},
|
||||
{ timezone: 'Europe/London', city: 'London', region: 'Europe', lat: 51.5074, lng: -0.1278 },
|
||||
{ timezone: 'Europe/Paris', city: 'Paris', region: 'Europe', lat: 48.8566, lng: 2.3522 },
|
||||
{ timezone: 'Europe/Berlin', city: 'Berlin', region: 'Europe', lat: 52.52, lng: 13.405 },
|
||||
{ timezone: 'Europe/Rome', city: 'Rome', region: 'Europe', lat: 41.9028, lng: 12.4964 },
|
||||
{ timezone: 'Europe/Madrid', city: 'Madrid', region: 'Europe', lat: 40.4168, lng: -3.7038 },
|
||||
{ timezone: 'Europe/Amsterdam', city: 'Amsterdam', region: 'Europe', lat: 52.3676, lng: 4.9041 },
|
||||
{ timezone: 'Europe/Vienna', city: 'Vienna', region: 'Europe', lat: 48.2082, lng: 16.3738 },
|
||||
{ timezone: 'Europe/Zurich', city: 'Zurich', region: 'Europe', lat: 47.3769, lng: 8.5417 },
|
||||
{ timezone: 'Europe/Moscow', city: 'Moscow', region: 'Europe', lat: 55.7558, lng: 37.6173 },
|
||||
{ timezone: 'Europe/Stockholm', city: 'Stockholm', region: 'Europe', lat: 59.3293, lng: 18.0686 },
|
||||
{ timezone: 'Europe/Istanbul', city: 'Istanbul', region: 'Europe', lat: 41.0082, lng: 28.9784 },
|
||||
{ timezone: 'Asia/Tokyo', city: 'Tokyo', region: 'Asia', lat: 35.6762, lng: 139.6503 },
|
||||
{ timezone: 'Asia/Shanghai', city: 'Shanghai', region: 'Asia', lat: 31.2304, lng: 121.4737 },
|
||||
{ timezone: 'Asia/Hong_Kong', city: 'Hong Kong', region: 'Asia', lat: 22.3193, lng: 114.1694 },
|
||||
{ timezone: 'Asia/Singapore', city: 'Singapore', region: 'Asia', lat: 1.3521, lng: 103.8198 },
|
||||
{ timezone: 'Asia/Seoul', city: 'Seoul', region: 'Asia', lat: 37.5665, lng: 126.978 },
|
||||
{ timezone: 'Asia/Mumbai', city: 'Mumbai', region: 'Asia', lat: 19.076, lng: 72.8777 },
|
||||
{ timezone: 'Asia/Dubai', city: 'Dubai', region: 'Asia', lat: 25.2048, lng: 55.2708 },
|
||||
{ timezone: 'Asia/Bangkok', city: 'Bangkok', region: 'Asia', lat: 13.7563, lng: 100.5018 },
|
||||
{ timezone: 'Asia/Jakarta', city: 'Jakarta', region: 'Asia', lat: -6.2088, lng: 106.8456 },
|
||||
{ timezone: 'Australia/Sydney', city: 'Sydney', region: 'Oceania', lat: -33.8688, lng: 151.2093 },
|
||||
{
|
||||
timezone: 'Australia/Melbourne',
|
||||
city: 'Melbourne',
|
||||
region: 'Oceania',
|
||||
lat: -37.8136,
|
||||
lng: 144.9631,
|
||||
},
|
||||
{
|
||||
timezone: 'Pacific/Auckland',
|
||||
city: 'Auckland',
|
||||
region: 'Oceania',
|
||||
lat: -36.8485,
|
||||
lng: 174.7633,
|
||||
},
|
||||
{ timezone: 'Africa/Cairo', city: 'Cairo', region: 'Africa', lat: 30.0444, lng: 31.2357 },
|
||||
{
|
||||
timezone: 'Africa/Johannesburg',
|
||||
city: 'Johannesburg',
|
||||
region: 'Africa',
|
||||
lat: -26.2041,
|
||||
lng: 28.0473,
|
||||
},
|
||||
{ timezone: 'Africa/Lagos', city: 'Lagos', region: 'Africa', lat: 6.5244, lng: 3.3792 },
|
||||
] as const;
|
||||
|
||||
// Available alarm sounds
|
||||
export const ALARM_SOUNDS = [
|
||||
{ id: 'default', name: 'Default', nameDE: 'Standard' },
|
||||
{ id: 'gentle', name: 'Gentle', nameDE: 'Sanft' },
|
||||
{ id: 'classic', name: 'Classic', nameDE: 'Klassisch' },
|
||||
{ id: 'digital', name: 'Digital', nameDE: 'Digital' },
|
||||
{ id: 'nature', name: 'Nature', nameDE: 'Natur' },
|
||||
{ id: 'chime', name: 'Chime', nameDE: 'Glockenspiel' },
|
||||
] as const;
|
||||
|
||||
// Timer presets
|
||||
export const QUICK_TIMER_PRESETS = [
|
||||
{ label: '1 min', seconds: 60 },
|
||||
{ label: '3 min', seconds: 180 },
|
||||
{ label: '5 min', seconds: 300 },
|
||||
{ label: '10 min', seconds: 600 },
|
||||
{ label: '15 min', seconds: 900 },
|
||||
{ label: '30 min', seconds: 1800 },
|
||||
{ label: '45 min', seconds: 2700 },
|
||||
{ label: '1 hour', seconds: 3600 },
|
||||
] as const;
|
||||
|
||||
// Default alarm presets (like iOS Clock app)
|
||||
export const DEFAULT_ALARM_PRESETS = [
|
||||
{ time: '06:00', label: 'Früh aufstehen', labelEN: 'Wake up early' },
|
||||
{ time: '07:00', label: 'Aufwachen', labelEN: 'Wake up' },
|
||||
{ time: '08:00', label: 'Morgen', labelEN: 'Morning' },
|
||||
{ time: '12:00', label: 'Mittag', labelEN: 'Noon' },
|
||||
{ time: '18:00', label: 'Feierabend', labelEN: 'End of work' },
|
||||
{ time: '22:00', label: 'Schlafenszeit', labelEN: 'Bedtime' },
|
||||
] as const;
|
||||
|
||||
// Pomodoro presets
|
||||
export const POMODORO_PRESETS = [
|
||||
{
|
||||
name: 'Classic Pomodoro',
|
||||
nameDE: 'Klassischer Pomodoro',
|
||||
workDuration: 25 * 60,
|
||||
breakDuration: 5 * 60,
|
||||
longBreakDuration: 15 * 60,
|
||||
sessionsBeforeLongBreak: 4,
|
||||
},
|
||||
{
|
||||
name: 'Short Focus',
|
||||
nameDE: 'Kurzer Fokus',
|
||||
workDuration: 15 * 60,
|
||||
breakDuration: 3 * 60,
|
||||
longBreakDuration: 10 * 60,
|
||||
sessionsBeforeLongBreak: 4,
|
||||
},
|
||||
{
|
||||
name: 'Deep Work',
|
||||
nameDE: 'Tiefes Arbeiten',
|
||||
workDuration: 50 * 60,
|
||||
breakDuration: 10 * 60,
|
||||
longBreakDuration: 30 * 60,
|
||||
sessionsBeforeLongBreak: 3,
|
||||
},
|
||||
] as const;
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
export * from './types';
|
||||
export * from './constants';
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
export interface Alarm {
|
||||
id: string;
|
||||
userId: string;
|
||||
label: string | null;
|
||||
time: string; // HH:MM:SS format
|
||||
enabled: boolean;
|
||||
repeatDays: number[] | null; // [0-6] where 0 = Sunday
|
||||
snoozeMinutes: number | null;
|
||||
sound: string | null;
|
||||
vibrate: boolean | null;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface CreateAlarmInput {
|
||||
label?: string;
|
||||
time: string;
|
||||
enabled?: boolean;
|
||||
repeatDays?: number[];
|
||||
snoozeMinutes?: number;
|
||||
sound?: string;
|
||||
vibrate?: boolean;
|
||||
}
|
||||
|
||||
export interface UpdateAlarmInput {
|
||||
label?: string;
|
||||
time?: string;
|
||||
enabled?: boolean;
|
||||
repeatDays?: number[];
|
||||
snoozeMinutes?: number;
|
||||
sound?: string;
|
||||
vibrate?: boolean;
|
||||
}
|
||||
|
||||
export type RepeatDay = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
||||
|
||||
export const REPEAT_DAY_LABELS = {
|
||||
0: 'Sun',
|
||||
1: 'Mon',
|
||||
2: 'Tue',
|
||||
3: 'Wed',
|
||||
4: 'Thu',
|
||||
5: 'Fri',
|
||||
6: 'Sat',
|
||||
} as const;
|
||||
|
||||
export const REPEAT_DAY_LABELS_DE = {
|
||||
0: 'So',
|
||||
1: 'Mo',
|
||||
2: 'Di',
|
||||
3: 'Mi',
|
||||
4: 'Do',
|
||||
5: 'Fr',
|
||||
6: 'Sa',
|
||||
} as const;
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
export * from './alarm';
|
||||
export * from './timer';
|
||||
export * from './world-clock';
|
||||
export * from './preset';
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
export type PresetType = 'timer' | 'pomodoro';
|
||||
|
||||
export interface PresetSettings {
|
||||
// For pomodoro presets
|
||||
workDuration?: number;
|
||||
breakDuration?: number;
|
||||
longBreakDuration?: number;
|
||||
sessionsBeforeLongBreak?: number;
|
||||
// For timer presets
|
||||
sound?: string;
|
||||
}
|
||||
|
||||
export interface Preset {
|
||||
id: string;
|
||||
userId: string;
|
||||
type: PresetType;
|
||||
name: string;
|
||||
durationSeconds: number;
|
||||
settings: PresetSettings | null;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
export interface CreatePresetInput {
|
||||
type: PresetType;
|
||||
name: string;
|
||||
durationSeconds: number;
|
||||
settings?: PresetSettings;
|
||||
}
|
||||
|
||||
export interface UpdatePresetInput {
|
||||
name?: string;
|
||||
durationSeconds?: number;
|
||||
settings?: PresetSettings;
|
||||
}
|
||||
|
||||
// Default pomodoro settings
|
||||
export const DEFAULT_POMODORO_SETTINGS: PresetSettings = {
|
||||
workDuration: 25 * 60, // 25 minutes
|
||||
breakDuration: 5 * 60, // 5 minutes
|
||||
longBreakDuration: 15 * 60, // 15 minutes
|
||||
sessionsBeforeLongBreak: 4,
|
||||
};
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
export type TimerStatus = 'idle' | 'running' | 'paused' | 'finished';
|
||||
|
||||
export interface Timer {
|
||||
id: string;
|
||||
userId: string;
|
||||
label: string | null;
|
||||
durationSeconds: number;
|
||||
remainingSeconds: number | null;
|
||||
status: TimerStatus;
|
||||
startedAt: string | null;
|
||||
pausedAt: string | null;
|
||||
sound: string | null;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface CreateTimerInput {
|
||||
label?: string;
|
||||
durationSeconds: number;
|
||||
sound?: string;
|
||||
}
|
||||
|
||||
export interface UpdateTimerInput {
|
||||
label?: string;
|
||||
durationSeconds?: number;
|
||||
sound?: string;
|
||||
}
|
||||
|
||||
export function formatDuration(seconds: number): string {
|
||||
const hours = Math.floor(seconds / 3600);
|
||||
const minutes = Math.floor((seconds % 3600) / 60);
|
||||
const secs = seconds % 60;
|
||||
|
||||
if (hours > 0) {
|
||||
return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
|
||||
}
|
||||
return `${minutes}:${secs.toString().padStart(2, '0')}`;
|
||||
}
|
||||
|
||||
export function parseDuration(formatted: string): number {
|
||||
const parts = formatted.split(':').map(Number);
|
||||
if (parts.length === 3) {
|
||||
return parts[0] * 3600 + parts[1] * 60 + parts[2];
|
||||
}
|
||||
if (parts.length === 2) {
|
||||
return parts[0] * 60 + parts[1];
|
||||
}
|
||||
return parts[0];
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
export interface WorldClock {
|
||||
id: string;
|
||||
userId: string;
|
||||
timezone: string; // IANA timezone e.g. 'America/New_York'
|
||||
cityName: string;
|
||||
sortOrder: number;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
export interface CreateWorldClockInput {
|
||||
timezone: string;
|
||||
cityName: string;
|
||||
}
|
||||
|
||||
export interface TimezoneInfo {
|
||||
timezone: string;
|
||||
city: string;
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2021",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"declaration": true,
|
||||
"outDir": "./dist",
|
||||
"rootDir": "./src"
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
||||
269
apps/manacore/apps/web/src/lib/i18n/locales/calendar/de.json
Normal file
269
apps/manacore/apps/web/src/lib/i18n/locales/calendar/de.json
Normal file
|
|
@ -0,0 +1,269 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Kalender",
|
||||
"loading": "Laden..."
|
||||
},
|
||||
"nav": {
|
||||
"calendar": "Kalender",
|
||||
"calendars": "Kalender",
|
||||
"agenda": "Agenda",
|
||||
"settings": "Einstellungen",
|
||||
"feedback": "Feedback"
|
||||
},
|
||||
"views": {
|
||||
"day": "Tag",
|
||||
"5day": "5 Tage",
|
||||
"week": "Woche",
|
||||
"10day": "10 Tage",
|
||||
"14day": "14 Tage",
|
||||
"month": "Monat",
|
||||
"year": "Jahr",
|
||||
"agenda": "Agenda",
|
||||
"weekdaysOnly": "Nur Wochentage",
|
||||
"weekNumber": "KW",
|
||||
"moreEvents": "+{count} mehr",
|
||||
"allDay": "Ganztägig",
|
||||
"birthday": "Geburtstag",
|
||||
"weekView": "Wochenansicht",
|
||||
"monthView": "Monatsansicht"
|
||||
},
|
||||
"calendar": {
|
||||
"today": "Heute",
|
||||
"newEvent": "Neuer Termin",
|
||||
"noEvents": "Keine Termine",
|
||||
"allDay": "Ganztägig",
|
||||
"myCalendars": "Meine Kalender",
|
||||
"sharedCalendars": "Geteilte Kalender",
|
||||
"draftEvent": "(Neuer Termin)",
|
||||
"untitled": "Ohne Titel",
|
||||
"hideSidebar": "Sidebar ausblenden",
|
||||
"showSidebar": "Sidebar einblenden",
|
||||
"contextMenu": {
|
||||
"edit": "Bearbeiten",
|
||||
"duplicate": "Duplizieren",
|
||||
"copy": "Kopie",
|
||||
"delete": "Löschen"
|
||||
}
|
||||
},
|
||||
"event": {
|
||||
"title": "Titel",
|
||||
"description": "Beschreibung",
|
||||
"location": "Ort",
|
||||
"start": "Beginn",
|
||||
"end": "Ende",
|
||||
"allDay": "Ganztägig",
|
||||
"repeat": "Wiederholen",
|
||||
"reminder": "Erinnerung",
|
||||
"calendar": "Kalender",
|
||||
"changeStartTime": "Startzeit ändern",
|
||||
"changeEndTime": "Endzeit ändern"
|
||||
},
|
||||
"repeat": {
|
||||
"none": "Nicht wiederholen",
|
||||
"daily": "Täglich",
|
||||
"weekly": "Wöchentlich",
|
||||
"monthly": "Monatlich",
|
||||
"yearly": "Jährlich"
|
||||
},
|
||||
"reminder": {
|
||||
"atTime": "Zum Zeitpunkt",
|
||||
"5min": "5 Minuten vorher",
|
||||
"15min": "15 Minuten vorher",
|
||||
"30min": "30 Minuten vorher",
|
||||
"1hour": "1 Stunde vorher",
|
||||
"1day": "1 Tag vorher"
|
||||
},
|
||||
"share": {
|
||||
"share": "Teilen",
|
||||
"shareCalendar": "Kalender teilen",
|
||||
"permissions": "Berechtigungen",
|
||||
"read": "Nur lesen",
|
||||
"write": "Lesen & Schreiben",
|
||||
"admin": "Administrator",
|
||||
"pending": "Ausstehend",
|
||||
"accepted": "Akzeptiert"
|
||||
},
|
||||
"toast": {
|
||||
"eventLoadError": "Termine konnten nicht geladen werden",
|
||||
"eventUpdateError": "Termin konnte nicht aktualisiert werden",
|
||||
"eventDeleteError": "Termin konnte nicht gelöscht werden",
|
||||
"eventDeleted": "Termin gelöscht",
|
||||
"error": "Fehler",
|
||||
"calendarShared": "Kalender mit {email} geteilt",
|
||||
"shareLinkCreated": "Freigabe-Link erstellt",
|
||||
"inviteAccepted": "Einladung angenommen",
|
||||
"shareRemoved": "Freigabe entfernt",
|
||||
"shareError": "Freigabe fehlgeschlagen",
|
||||
"updateError": "Aktualisierung fehlgeschlagen",
|
||||
"removeError": "Entfernen fehlgeschlagen",
|
||||
"declineError": "Ablehnung fehlgeschlagen",
|
||||
"calendarConnected": "{name} verbunden",
|
||||
"calendarDisconnected": "{name} getrennt",
|
||||
"syncCompleted": "Synchronisation abgeschlossen",
|
||||
"connectionError": "Verbindung fehlgeschlagen",
|
||||
"syncError": "Sync fehlgeschlagen"
|
||||
},
|
||||
"settings": {
|
||||
"myCalendars": "Meine Kalender",
|
||||
"externalCalendars": "Externe Kalender",
|
||||
"shares": "Kalender-Freigaben",
|
||||
"appSettings": "App-Einstellungen",
|
||||
"appSettingsDesc": "Diese Einstellungen werden mit allen Mana Apps synchronisiert",
|
||||
"calendarView": "Kalender-Ansicht",
|
||||
"events": "Termine",
|
||||
"birthdays": "Geburtstage",
|
||||
"account": "Konto",
|
||||
"newCalendar": "Neuer Kalender",
|
||||
"calendarName": "Kalender Name",
|
||||
"name": "Name",
|
||||
"color": "Farbe",
|
||||
"default": "Standard",
|
||||
"setAsDefault": "Als Standardkalender verwenden",
|
||||
"currentDefault": "aktueller Standard",
|
||||
"noCalendars": "Keine Kalender vorhanden",
|
||||
"calendarCreated": "Kalender erstellt",
|
||||
"calendarUpdated": "Kalender aktualisiert",
|
||||
"calendarDeleted": "Kalender gelöscht",
|
||||
"confirmDeleteCalendar": "Möchten Sie \"{name}\" wirklich löschen?",
|
||||
"externalCalendarsDesc": "Verbinde Google Calendar, Apple Calendar, CalDAV oder iCal-URLs.",
|
||||
"manageSync": "Kalender-Sync verwalten",
|
||||
"sharesDesc": "Teile Kalender mit anderen Nutzern oder verwalte Einladungen.",
|
||||
"manageShares": "Freigaben verwalten",
|
||||
"defaultView": "Standard-Ansicht",
|
||||
"defaultViewDesc": "Ansicht beim Öffnen des Kalenders",
|
||||
"selectView": "Ansicht wählen",
|
||||
"viewWeek": "Woche",
|
||||
"viewMonth": "Monat",
|
||||
"viewAgenda": "Agenda",
|
||||
"timeFormat": "Zeitformat",
|
||||
"timeFormatDesc": "Anzeige der Uhrzeiten",
|
||||
"weekdaysOnly": "Nur Werktage anzeigen",
|
||||
"weekdaysOnlyDesc": "Wochenenden in der Kalenderansicht ausblenden",
|
||||
"showWeekNumbers": "Wochennummern anzeigen",
|
||||
"showWeekNumbersDesc": "Kalenderwoche (KW) in der Ansicht anzeigen",
|
||||
"filterHours": "Stunden filtern",
|
||||
"filterHoursDesc": "Nur bestimmte Stunden in der Tages-/Wochenansicht anzeigen",
|
||||
"visibleHours": "Sichtbare Stunden",
|
||||
"visibleHoursDesc": "Zeitbereich der in der Kalenderansicht angezeigt wird",
|
||||
"hoursFrom": "Von",
|
||||
"hoursTo": "Bis",
|
||||
"allDayEvents": "Ganztägige Termine",
|
||||
"allDayEventsDesc": "Wie sollen ganztägige Termine angezeigt werden?",
|
||||
"allDayInHeader": "In Kopfzeile",
|
||||
"allDayAsBlock": "Als Tagesblock",
|
||||
"defaultDuration": "Standard-Dauer",
|
||||
"defaultDurationDesc": "Voreingestellte Dauer für neue Termine",
|
||||
"selectDuration": "Dauer wählen",
|
||||
"durationMinutes": "{count} Minuten",
|
||||
"durationHours": "{count} Stunde(n)",
|
||||
"defaultReminder": "Standard-Erinnerung",
|
||||
"defaultReminderDesc": "Voreingestellte Erinnerung für neue Termine",
|
||||
"selectReminder": "Erinnerung wählen",
|
||||
"reminderNone": "Keine",
|
||||
"reminderMinutes": "{count} Minuten",
|
||||
"reminderHour": "1 Stunde",
|
||||
"reminderDay": "1 Tag",
|
||||
"showBirthdays": "Geburtstage anzeigen",
|
||||
"showBirthdaysDesc": "Geburtstage aus Kontakten im Kalender anzeigen",
|
||||
"showAge": "Alter anzeigen",
|
||||
"showAgeDesc": "Das Alter der Person bei Geburtstagen anzeigen"
|
||||
},
|
||||
"errors": {
|
||||
"loadEvents": "Termine konnten nicht geladen werden",
|
||||
"createEvent": "Termin konnte nicht erstellt werden",
|
||||
"updateEvent": "Termin konnte nicht aktualisiert werden",
|
||||
"deleteEvent": "Termin konnte nicht gelöscht werden"
|
||||
},
|
||||
"success": {
|
||||
"eventCreated": "Termin erstellt",
|
||||
"eventDeleted": "Termin gelöscht"
|
||||
},
|
||||
"a11y": {
|
||||
"createEventOn": "Termin erstellen am {date}",
|
||||
"slotTime": "{day} {time}"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Seite nicht gefunden",
|
||||
"backToHome": "Zurück zur Startseite"
|
||||
},
|
||||
"sync": {
|
||||
"pageTitle": "Kalender-Sync - Einstellungen",
|
||||
"title": "Kalender-Sync",
|
||||
"connectCalendar": "Kalender verbinden",
|
||||
"description": "Verbinde externe Kalender, um Termine zu importieren und zu synchronisieren.",
|
||||
"emptyState": "Keine externen Kalender verbunden",
|
||||
"syncNow": "Jetzt synchronisieren",
|
||||
"disconnect": "Verbindung trennen",
|
||||
"confirmDisconnect": "\"{name}\" wirklich trennen? Synchronisierte Termine werden gelöscht.",
|
||||
"neverSynced": "Noch nie",
|
||||
"directionLabel": "Richtung",
|
||||
"lastSync": "Letzte Sync",
|
||||
"statusLabel": "Status",
|
||||
"autoSync": "Auto-Sync",
|
||||
"connectCaldav": "CalDAV-Server verbinden",
|
||||
"connectProvider": "{provider} verbinden",
|
||||
"searching": "Suche...",
|
||||
"searchCalendars": "Kalender suchen",
|
||||
"discoveredCalendars": "Gefundene Kalender:",
|
||||
"connecting": "Verbinde...",
|
||||
"connect": "Verbinden",
|
||||
"direction": {
|
||||
"import": "Nur Import",
|
||||
"export": "Nur Export",
|
||||
"both": "Bidirektional"
|
||||
},
|
||||
"status": {
|
||||
"error": "Fehler",
|
||||
"active": "Aktiv (alle {interval} Min.)",
|
||||
"paused": "Pausiert"
|
||||
},
|
||||
"providers": {
|
||||
"icalUrl": "iCal URL",
|
||||
"icalUrlDesc": "ICS-Link importieren (z.B. Feiertage)",
|
||||
"caldav": "CalDAV",
|
||||
"caldavDesc": "CalDAV-Server verbinden",
|
||||
"google": "Google Calendar",
|
||||
"googleDesc": "Mit Google Kalender synchronisieren",
|
||||
"apple": "Apple Calendar",
|
||||
"appleDesc": "iCloud Kalender verbinden"
|
||||
},
|
||||
"form": {
|
||||
"serverUrl": "Server-URL",
|
||||
"username": "Benutzername",
|
||||
"password": "Passwort",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "Mein externer Kalender",
|
||||
"url": "URL",
|
||||
"syncDirection": "Sync-Richtung"
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"pageTitle": "Kalender-Freigaben - Einstellungen",
|
||||
"title": "Freigaben",
|
||||
"shareCalendar": "Kalender teilen",
|
||||
"invitations": "Einladungen ({count})",
|
||||
"calendarInvitation": "Kalender-Einladung",
|
||||
"access": "Zugriff",
|
||||
"accept": "Annehmen",
|
||||
"sharedWithMe": "Mit mir geteilt",
|
||||
"sharedCalendar": "Geteilter Kalender",
|
||||
"shareMyCalendars": "Meine Kalender teilen",
|
||||
"notSharedYet": "Noch nicht geteilt",
|
||||
"linkShare": "Link-Freigabe",
|
||||
"pending": "Ausstehend",
|
||||
"removeShare": "Freigabe entfernen",
|
||||
"confirmRemoveShare": "Freigabe wirklich entfernen?",
|
||||
"addPerson": "Person hinzufügen",
|
||||
"sharing": "Teile...",
|
||||
"permission": {
|
||||
"read": "Lesen",
|
||||
"write": "Lesen & Bearbeiten",
|
||||
"admin": "Administrator"
|
||||
},
|
||||
"form": {
|
||||
"calendar": "Kalender",
|
||||
"email": "E-Mail-Adresse",
|
||||
"permission": "Berechtigung"
|
||||
}
|
||||
}
|
||||
}
|
||||
296
apps/manacore/apps/web/src/lib/i18n/locales/calendar/en.json
Normal file
296
apps/manacore/apps/web/src/lib/i18n/locales/calendar/en.json
Normal file
|
|
@ -0,0 +1,296 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Calendar",
|
||||
"loading": "Loading..."
|
||||
},
|
||||
"nav": {
|
||||
"calendar": "Calendar",
|
||||
"calendars": "Calendars",
|
||||
"agenda": "Agenda",
|
||||
"settings": "Settings",
|
||||
"feedback": "Feedback"
|
||||
},
|
||||
"views": {
|
||||
"day": "Day",
|
||||
"5day": "5 Days",
|
||||
"week": "Week",
|
||||
"10day": "10 Days",
|
||||
"14day": "14 Days",
|
||||
"month": "Month",
|
||||
"year": "Year",
|
||||
"agenda": "Agenda",
|
||||
"weekdaysOnly": "Weekdays only",
|
||||
"weekNumber": "W",
|
||||
"moreEvents": "+{count} more",
|
||||
"allDay": "All day",
|
||||
"birthday": "Birthday",
|
||||
"weekView": "Week view",
|
||||
"monthView": "Month view"
|
||||
},
|
||||
"calendar": {
|
||||
"today": "Today",
|
||||
"newEvent": "New Event",
|
||||
"noEvents": "No events",
|
||||
"allDay": "All day",
|
||||
"myCalendars": "My Calendars",
|
||||
"sharedCalendars": "Shared Calendars",
|
||||
"draftEvent": "(New Event)",
|
||||
"untitled": "Untitled",
|
||||
"hideSidebar": "Hide sidebar",
|
||||
"showSidebar": "Show sidebar",
|
||||
"contextMenu": {
|
||||
"edit": "Edit",
|
||||
"duplicate": "Duplicate",
|
||||
"copy": "Copy",
|
||||
"delete": "Delete"
|
||||
}
|
||||
},
|
||||
"event": {
|
||||
"title": "Title",
|
||||
"description": "Description",
|
||||
"location": "Location",
|
||||
"start": "Start",
|
||||
"end": "End",
|
||||
"allDay": "All day",
|
||||
"repeat": "Repeat",
|
||||
"reminder": "Reminder",
|
||||
"calendar": "Calendar",
|
||||
"save": "Save",
|
||||
"delete": "Delete",
|
||||
"cancel": "Cancel",
|
||||
"changeStartTime": "Change start time",
|
||||
"changeEndTime": "Change end time"
|
||||
},
|
||||
"repeat": {
|
||||
"none": "Don't repeat",
|
||||
"daily": "Daily",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"yearly": "Yearly"
|
||||
},
|
||||
"reminder": {
|
||||
"atTime": "At time of event",
|
||||
"5min": "5 minutes before",
|
||||
"15min": "15 minutes before",
|
||||
"30min": "30 minutes before",
|
||||
"1hour": "1 hour before",
|
||||
"1day": "1 day before"
|
||||
},
|
||||
"share": {
|
||||
"share": "Share",
|
||||
"shareCalendar": "Share calendar",
|
||||
"permissions": "Permissions",
|
||||
"read": "View only",
|
||||
"write": "Can edit",
|
||||
"admin": "Admin",
|
||||
"pending": "Pending",
|
||||
"accepted": "Accepted"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"register": "Register",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"forgotPassword": "Forgot password?"
|
||||
},
|
||||
"toast": {
|
||||
"eventLoadError": "Failed to load events",
|
||||
"eventUpdateError": "Failed to update event",
|
||||
"eventDeleteError": "Failed to delete event",
|
||||
"eventDeleted": "Event deleted",
|
||||
"error": "Error",
|
||||
"calendarShared": "Calendar shared with {email}",
|
||||
"shareLinkCreated": "Share link created",
|
||||
"inviteAccepted": "Invitation accepted",
|
||||
"shareRemoved": "Share removed",
|
||||
"shareError": "Sharing failed",
|
||||
"updateError": "Update failed",
|
||||
"removeError": "Remove failed",
|
||||
"declineError": "Decline failed",
|
||||
"calendarConnected": "{name} connected",
|
||||
"calendarDisconnected": "{name} disconnected",
|
||||
"syncCompleted": "Sync completed",
|
||||
"connectionError": "Connection failed",
|
||||
"syncError": "Sync failed"
|
||||
},
|
||||
"common": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"add": "Add",
|
||||
"close": "Close",
|
||||
"search": "Search",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"calendar": "Calendar",
|
||||
"create": "Create"
|
||||
},
|
||||
"settings": {
|
||||
"myCalendars": "My Calendars",
|
||||
"externalCalendars": "External Calendars",
|
||||
"shares": "Calendar Sharing",
|
||||
"appSettings": "App Settings",
|
||||
"appSettingsDesc": "These settings are synced across all Mana apps",
|
||||
"calendarView": "Calendar View",
|
||||
"events": "Events",
|
||||
"birthdays": "Birthdays",
|
||||
"account": "Account",
|
||||
"newCalendar": "New Calendar",
|
||||
"calendarName": "Calendar Name",
|
||||
"name": "Name",
|
||||
"color": "Color",
|
||||
"default": "Default",
|
||||
"setAsDefault": "Set as default calendar",
|
||||
"currentDefault": "current default",
|
||||
"noCalendars": "No calendars available",
|
||||
"calendarCreated": "Calendar created",
|
||||
"calendarUpdated": "Calendar updated",
|
||||
"calendarDeleted": "Calendar deleted",
|
||||
"confirmDeleteCalendar": "Are you sure you want to delete \"{name}\"?",
|
||||
"externalCalendarsDesc": "Connect Google Calendar, Apple Calendar, CalDAV or iCal URLs.",
|
||||
"manageSync": "Manage calendar sync",
|
||||
"sharesDesc": "Share calendars with other users or manage invitations.",
|
||||
"manageShares": "Manage sharing",
|
||||
"defaultView": "Default View",
|
||||
"defaultViewDesc": "View when opening the calendar",
|
||||
"selectView": "Select view",
|
||||
"viewWeek": "Week",
|
||||
"viewMonth": "Month",
|
||||
"viewAgenda": "Agenda",
|
||||
"timeFormat": "Time Format",
|
||||
"timeFormatDesc": "How times are displayed",
|
||||
"weekdaysOnly": "Show weekdays only",
|
||||
"weekdaysOnlyDesc": "Hide weekends in the calendar view",
|
||||
"showWeekNumbers": "Show week numbers",
|
||||
"showWeekNumbersDesc": "Display week numbers in the calendar view",
|
||||
"filterHours": "Filter hours",
|
||||
"filterHoursDesc": "Only show certain hours in day/week view",
|
||||
"visibleHours": "Visible hours",
|
||||
"visibleHoursDesc": "Time range displayed in the calendar view",
|
||||
"hoursFrom": "From",
|
||||
"hoursTo": "To",
|
||||
"allDayEvents": "All-day events",
|
||||
"allDayEventsDesc": "How should all-day events be displayed?",
|
||||
"allDayInHeader": "In header",
|
||||
"allDayAsBlock": "As day block",
|
||||
"defaultDuration": "Default Duration",
|
||||
"defaultDurationDesc": "Default duration for new events",
|
||||
"selectDuration": "Select duration",
|
||||
"durationMinutes": "{count} minutes",
|
||||
"durationHours": "{count} hour(s)",
|
||||
"defaultReminder": "Default Reminder",
|
||||
"defaultReminderDesc": "Default reminder for new events",
|
||||
"selectReminder": "Select reminder",
|
||||
"reminderNone": "None",
|
||||
"reminderMinutes": "{count} minutes",
|
||||
"reminderHour": "1 hour",
|
||||
"reminderDay": "1 day",
|
||||
"showBirthdays": "Show birthdays",
|
||||
"showBirthdaysDesc": "Show birthdays from contacts in the calendar",
|
||||
"showAge": "Show age",
|
||||
"showAgeDesc": "Display the person's age on birthdays"
|
||||
},
|
||||
"errors": {
|
||||
"loadEvents": "Failed to load events",
|
||||
"createEvent": "Failed to create event",
|
||||
"updateEvent": "Failed to update event",
|
||||
"deleteEvent": "Failed to delete event"
|
||||
},
|
||||
"success": {
|
||||
"eventCreated": "Event created",
|
||||
"eventDeleted": "Event deleted"
|
||||
},
|
||||
"a11y": {
|
||||
"createEventOn": "Create event on {date}",
|
||||
"slotTime": "{day} {time}"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Page not found",
|
||||
"backToHome": "Back to home"
|
||||
},
|
||||
"sync": {
|
||||
"pageTitle": "Calendar Sync - Settings",
|
||||
"title": "Calendar Sync",
|
||||
"back": "Back",
|
||||
"connectCalendar": "Connect calendar",
|
||||
"description": "Connect external calendars to import and synchronize events.",
|
||||
"emptyState": "No external calendars connected",
|
||||
"syncNow": "Sync now",
|
||||
"disconnect": "Disconnect",
|
||||
"confirmDisconnect": "Really disconnect \"{name}\"? Synchronized events will be deleted.",
|
||||
"neverSynced": "Never",
|
||||
"directionLabel": "Direction",
|
||||
"lastSync": "Last sync",
|
||||
"statusLabel": "Status",
|
||||
"autoSync": "Auto-Sync",
|
||||
"connectCaldav": "Connect CalDAV server",
|
||||
"connectProvider": "Connect {provider}",
|
||||
"searching": "Searching...",
|
||||
"searchCalendars": "Search calendars",
|
||||
"discoveredCalendars": "Discovered calendars:",
|
||||
"connecting": "Connecting...",
|
||||
"connect": "Connect",
|
||||
"direction": {
|
||||
"import": "Import only",
|
||||
"export": "Export only",
|
||||
"both": "Bidirectional"
|
||||
},
|
||||
"status": {
|
||||
"error": "Error",
|
||||
"active": "Active (every {interval} min.)",
|
||||
"paused": "Paused"
|
||||
},
|
||||
"providers": {
|
||||
"icalUrl": "iCal URL",
|
||||
"icalUrlDesc": "Import ICS link (e.g. holidays)",
|
||||
"caldav": "CalDAV",
|
||||
"caldavDesc": "Connect CalDAV server",
|
||||
"google": "Google Calendar",
|
||||
"googleDesc": "Sync with Google Calendar",
|
||||
"apple": "Apple Calendar",
|
||||
"appleDesc": "Connect iCloud Calendar"
|
||||
},
|
||||
"form": {
|
||||
"serverUrl": "Server URL",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "My external calendar",
|
||||
"url": "URL",
|
||||
"syncDirection": "Sync direction"
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"pageTitle": "Calendar Sharing - Settings",
|
||||
"title": "Sharing",
|
||||
"back": "Back",
|
||||
"shareCalendar": "Share calendar",
|
||||
"invitations": "Invitations ({count})",
|
||||
"calendarInvitation": "Calendar invitation",
|
||||
"access": "access",
|
||||
"accept": "Accept",
|
||||
"sharedWithMe": "Shared with me",
|
||||
"sharedCalendar": "Shared calendar",
|
||||
"shareMyCalendars": "Share my calendars",
|
||||
"notSharedYet": "Not shared yet",
|
||||
"linkShare": "Link share",
|
||||
"pending": "Pending",
|
||||
"removeShare": "Remove share",
|
||||
"confirmRemoveShare": "Really remove this share?",
|
||||
"addPerson": "Add person",
|
||||
"share": "Share",
|
||||
"sharing": "Sharing...",
|
||||
"permission": {
|
||||
"read": "Read",
|
||||
"write": "Read & Edit",
|
||||
"admin": "Admin"
|
||||
},
|
||||
"form": {
|
||||
"calendar": "Calendar",
|
||||
"email": "Email address",
|
||||
"permission": "Permission"
|
||||
}
|
||||
}
|
||||
}
|
||||
275
apps/manacore/apps/web/src/lib/i18n/locales/calendar/es.json
Normal file
275
apps/manacore/apps/web/src/lib/i18n/locales/calendar/es.json
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Calendario",
|
||||
"loading": "Cargando..."
|
||||
},
|
||||
"nav": {
|
||||
"calendar": "Calendario",
|
||||
"calendars": "Calendarios",
|
||||
"agenda": "Agenda",
|
||||
"settings": "Configuración",
|
||||
"feedback": "Comentarios"
|
||||
},
|
||||
"views": {
|
||||
"day": "Día",
|
||||
"5day": "5 días",
|
||||
"week": "Semana",
|
||||
"10day": "10 días",
|
||||
"14day": "14 días",
|
||||
"month": "Mes",
|
||||
"year": "Año",
|
||||
"agenda": "Agenda",
|
||||
"weekdaysOnly": "Solo días laborables",
|
||||
"allDay": "Todo el día",
|
||||
"birthday": "Cumpleaños",
|
||||
"weekView": "Vista semanal",
|
||||
"monthView": "Vista mensual"
|
||||
},
|
||||
"calendar": {
|
||||
"today": "Hoy",
|
||||
"newEvent": "Nuevo evento",
|
||||
"noEvents": "Sin eventos",
|
||||
"allDay": "Todo el día",
|
||||
"myCalendars": "Mis calendarios",
|
||||
"sharedCalendars": "Calendarios compartidos",
|
||||
"untitled": "Sin título",
|
||||
"contextMenu": {
|
||||
"edit": "Editar",
|
||||
"duplicate": "Duplicar",
|
||||
"copy": "Copia",
|
||||
"delete": "Eliminar"
|
||||
}
|
||||
},
|
||||
"event": {
|
||||
"title": "Título",
|
||||
"description": "Descripción",
|
||||
"location": "Ubicación",
|
||||
"start": "Inicio",
|
||||
"end": "Fin",
|
||||
"allDay": "Todo el día",
|
||||
"repeat": "Repetir",
|
||||
"reminder": "Recordatorio",
|
||||
"calendar": "Calendario",
|
||||
"save": "Guardar",
|
||||
"delete": "Eliminar",
|
||||
"cancel": "Cancelar"
|
||||
},
|
||||
"repeat": {
|
||||
"none": "No repetir",
|
||||
"daily": "Diario",
|
||||
"weekly": "Semanal",
|
||||
"monthly": "Mensual",
|
||||
"yearly": "Anual"
|
||||
},
|
||||
"reminder": {
|
||||
"atTime": "Al momento del evento",
|
||||
"5min": "5 minutos antes",
|
||||
"15min": "15 minutos antes",
|
||||
"30min": "30 minutos antes",
|
||||
"1hour": "1 hora antes",
|
||||
"1day": "1 día antes"
|
||||
},
|
||||
"share": {
|
||||
"share": "Compartir",
|
||||
"shareCalendar": "Compartir calendario",
|
||||
"permissions": "Permisos",
|
||||
"read": "Solo lectura",
|
||||
"write": "Puede editar",
|
||||
"admin": "Administrador",
|
||||
"pending": "Pendiente",
|
||||
"accepted": "Aceptado"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"register": "Registrarse",
|
||||
"email": "Correo electrónico",
|
||||
"password": "Contraseña",
|
||||
"forgotPassword": "¿Olvidaste tu contraseña?"
|
||||
},
|
||||
"toast": {
|
||||
"eventLoadError": "No se pudieron cargar los eventos",
|
||||
"eventUpdateError": "No se pudo actualizar el evento",
|
||||
"eventDeleteError": "No se pudo eliminar el evento",
|
||||
"eventDeleted": "Evento eliminado",
|
||||
"error": "Error",
|
||||
"calendarShared": "Calendario compartido con {email}",
|
||||
"shareLinkCreated": "Enlace de compartir creado",
|
||||
"inviteAccepted": "Invitación aceptada",
|
||||
"shareRemoved": "Compartir eliminado",
|
||||
"shareError": "Error al compartir",
|
||||
"updateError": "Error al actualizar",
|
||||
"removeError": "Error al eliminar",
|
||||
"declineError": "Error al rechazar",
|
||||
"calendarConnected": "{name} conectado",
|
||||
"calendarDisconnected": "{name} desconectado",
|
||||
"syncCompleted": "Sincronización completada",
|
||||
"connectionError": "Error de conexión",
|
||||
"syncError": "Error de sincronización"
|
||||
},
|
||||
"common": {
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"add": "Agregar",
|
||||
"close": "Cerrar",
|
||||
"search": "Buscar",
|
||||
"error": "Error",
|
||||
"success": "Éxito",
|
||||
"calendar": "Calendario",
|
||||
"create": "Crear"
|
||||
},
|
||||
"settings": {
|
||||
"myCalendars": "Mis calendarios",
|
||||
"externalCalendars": "Calendarios externos",
|
||||
"shares": "Compartir calendarios",
|
||||
"appSettings": "Configuración de la app",
|
||||
"appSettingsDesc": "Estos ajustes se sincronizan con todas las apps de Mana",
|
||||
"calendarView": "Vista del calendario",
|
||||
"events": "Eventos",
|
||||
"birthdays": "Cumpleaños",
|
||||
"account": "Cuenta",
|
||||
"newCalendar": "Nuevo calendario",
|
||||
"calendarName": "Nombre del calendario",
|
||||
"name": "Nombre",
|
||||
"color": "Color",
|
||||
"default": "Predeterminado",
|
||||
"setAsDefault": "Establecer como calendario predeterminado",
|
||||
"currentDefault": "predeterminado actual",
|
||||
"noCalendars": "No hay calendarios disponibles",
|
||||
"calendarCreated": "Calendario creado",
|
||||
"calendarUpdated": "Calendario actualizado",
|
||||
"calendarDeleted": "Calendario eliminado",
|
||||
"confirmDeleteCalendar": "¿Seguro que quieres eliminar \"{name}\"?",
|
||||
"externalCalendarsDesc": "Conecta Google Calendar, Apple Calendar, CalDAV o URLs de iCal.",
|
||||
"manageSync": "Gestionar sincronización",
|
||||
"sharesDesc": "Comparte calendarios con otros usuarios o gestiona invitaciones.",
|
||||
"manageShares": "Gestionar compartidos",
|
||||
"defaultView": "Vista predeterminada",
|
||||
"defaultViewDesc": "Vista al abrir el calendario",
|
||||
"selectView": "Seleccionar vista",
|
||||
"viewWeek": "Semana",
|
||||
"viewMonth": "Mes",
|
||||
"viewAgenda": "Agenda",
|
||||
"timeFormat": "Formato de hora",
|
||||
"timeFormatDesc": "Cómo se muestran las horas",
|
||||
"weekdaysOnly": "Mostrar solo días laborables",
|
||||
"weekdaysOnlyDesc": "Ocultar fines de semana en la vista del calendario",
|
||||
"showWeekNumbers": "Mostrar números de semana",
|
||||
"showWeekNumbersDesc": "Mostrar el número de semana en la vista del calendario",
|
||||
"filterHours": "Filtrar horas",
|
||||
"filterHoursDesc": "Mostrar solo ciertas horas en la vista de día/semana",
|
||||
"visibleHours": "Horas visibles",
|
||||
"visibleHoursDesc": "Rango horario mostrado en la vista del calendario",
|
||||
"hoursFrom": "Desde",
|
||||
"hoursTo": "Hasta",
|
||||
"allDayEvents": "Eventos de todo el día",
|
||||
"allDayEventsDesc": "¿Cómo se deben mostrar los eventos de todo el día?",
|
||||
"allDayInHeader": "En encabezado",
|
||||
"allDayAsBlock": "Como bloque diario",
|
||||
"defaultDuration": "Duración predeterminada",
|
||||
"defaultDurationDesc": "Duración predeterminada para nuevos eventos",
|
||||
"selectDuration": "Seleccionar duración",
|
||||
"durationMinutes": "{count} minutos",
|
||||
"durationHours": "{count} hora(s)",
|
||||
"defaultReminder": "Recordatorio predeterminado",
|
||||
"defaultReminderDesc": "Recordatorio predeterminado para nuevos eventos",
|
||||
"selectReminder": "Seleccionar recordatorio",
|
||||
"reminderNone": "Ninguno",
|
||||
"reminderMinutes": "{count} minutos",
|
||||
"reminderHour": "1 hora",
|
||||
"reminderDay": "1 día",
|
||||
"showBirthdays": "Mostrar cumpleaños",
|
||||
"showBirthdaysDesc": "Mostrar cumpleaños de contactos en el calendario",
|
||||
"showAge": "Mostrar edad",
|
||||
"showAgeDesc": "Mostrar la edad de la persona en los cumpleaños"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Página no encontrada",
|
||||
"backToHome": "Volver al inicio"
|
||||
},
|
||||
"sync": {
|
||||
"pageTitle": "Sincronización de calendarios - Configuración",
|
||||
"title": "Sincronización",
|
||||
"back": "Volver",
|
||||
"connectCalendar": "Conectar calendario",
|
||||
"description": "Conecta calendarios externos para importar y sincronizar eventos.",
|
||||
"emptyState": "No hay calendarios externos conectados",
|
||||
"syncNow": "Sincronizar ahora",
|
||||
"disconnect": "Desconectar",
|
||||
"confirmDisconnect": "¿Realmente desconectar \"{name}\"? Los eventos sincronizados serán eliminados.",
|
||||
"neverSynced": "Nunca",
|
||||
"directionLabel": "Dirección",
|
||||
"lastSync": "Última sincronización",
|
||||
"statusLabel": "Estado",
|
||||
"autoSync": "Sincronización automática",
|
||||
"connectCaldav": "Conectar servidor CalDAV",
|
||||
"connectProvider": "Conectar {provider}",
|
||||
"searching": "Buscando...",
|
||||
"searchCalendars": "Buscar calendarios",
|
||||
"discoveredCalendars": "Calendarios encontrados:",
|
||||
"connecting": "Conectando...",
|
||||
"connect": "Conectar",
|
||||
"direction": {
|
||||
"import": "Solo importar",
|
||||
"export": "Solo exportar",
|
||||
"both": "Bidireccional"
|
||||
},
|
||||
"status": {
|
||||
"error": "Error",
|
||||
"active": "Activo (cada {interval} min.)",
|
||||
"paused": "Pausado"
|
||||
},
|
||||
"providers": {
|
||||
"icalUrl": "URL iCal",
|
||||
"icalUrlDesc": "Importar enlace ICS (ej. festivos)",
|
||||
"caldav": "CalDAV",
|
||||
"caldavDesc": "Conectar servidor CalDAV",
|
||||
"google": "Google Calendar",
|
||||
"googleDesc": "Sincronizar con Google Calendar",
|
||||
"apple": "Apple Calendar",
|
||||
"appleDesc": "Conectar calendario de iCloud"
|
||||
},
|
||||
"form": {
|
||||
"serverUrl": "URL del servidor",
|
||||
"username": "Nombre de usuario",
|
||||
"password": "Contraseña",
|
||||
"name": "Nombre",
|
||||
"namePlaceholder": "Mi calendario externo",
|
||||
"url": "URL",
|
||||
"syncDirection": "Dirección de sincronización"
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"pageTitle": "Compartir calendarios - Configuración",
|
||||
"title": "Compartidos",
|
||||
"back": "Volver",
|
||||
"shareCalendar": "Compartir calendario",
|
||||
"invitations": "Invitaciones ({count})",
|
||||
"calendarInvitation": "Invitación de calendario",
|
||||
"access": "acceso",
|
||||
"accept": "Aceptar",
|
||||
"sharedWithMe": "Compartidos conmigo",
|
||||
"sharedCalendar": "Calendario compartido",
|
||||
"shareMyCalendars": "Compartir mis calendarios",
|
||||
"notSharedYet": "Aún no compartido",
|
||||
"linkShare": "Compartir por enlace",
|
||||
"pending": "Pendiente",
|
||||
"removeShare": "Eliminar compartido",
|
||||
"confirmRemoveShare": "¿Realmente eliminar este compartido?",
|
||||
"addPerson": "Agregar persona",
|
||||
"share": "Compartir",
|
||||
"sharing": "Compartiendo...",
|
||||
"permission": {
|
||||
"read": "Lectura",
|
||||
"write": "Lectura y edición",
|
||||
"admin": "Administrador"
|
||||
},
|
||||
"form": {
|
||||
"calendar": "Calendario",
|
||||
"email": "Dirección de correo",
|
||||
"permission": "Permiso"
|
||||
}
|
||||
}
|
||||
}
|
||||
275
apps/manacore/apps/web/src/lib/i18n/locales/calendar/fr.json
Normal file
275
apps/manacore/apps/web/src/lib/i18n/locales/calendar/fr.json
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Calendrier",
|
||||
"loading": "Chargement..."
|
||||
},
|
||||
"nav": {
|
||||
"calendar": "Calendrier",
|
||||
"calendars": "Calendriers",
|
||||
"agenda": "Agenda",
|
||||
"settings": "Paramètres",
|
||||
"feedback": "Commentaires"
|
||||
},
|
||||
"views": {
|
||||
"day": "Jour",
|
||||
"5day": "5 jours",
|
||||
"week": "Semaine",
|
||||
"10day": "10 jours",
|
||||
"14day": "14 jours",
|
||||
"month": "Mois",
|
||||
"year": "Année",
|
||||
"agenda": "Agenda",
|
||||
"weekdaysOnly": "Jours ouvrables",
|
||||
"allDay": "Toute la journée",
|
||||
"birthday": "Anniversaire",
|
||||
"weekView": "Vue semaine",
|
||||
"monthView": "Vue mois"
|
||||
},
|
||||
"calendar": {
|
||||
"today": "Aujourd'hui",
|
||||
"newEvent": "Nouvel événement",
|
||||
"noEvents": "Aucun événement",
|
||||
"allDay": "Toute la journée",
|
||||
"myCalendars": "Mes calendriers",
|
||||
"sharedCalendars": "Calendriers partagés",
|
||||
"untitled": "Sans titre",
|
||||
"contextMenu": {
|
||||
"edit": "Modifier",
|
||||
"duplicate": "Dupliquer",
|
||||
"copy": "Copie",
|
||||
"delete": "Supprimer"
|
||||
}
|
||||
},
|
||||
"event": {
|
||||
"title": "Titre",
|
||||
"description": "Description",
|
||||
"location": "Lieu",
|
||||
"start": "Début",
|
||||
"end": "Fin",
|
||||
"allDay": "Toute la journée",
|
||||
"repeat": "Répéter",
|
||||
"reminder": "Rappel",
|
||||
"calendar": "Calendrier",
|
||||
"save": "Enregistrer",
|
||||
"delete": "Supprimer",
|
||||
"cancel": "Annuler"
|
||||
},
|
||||
"repeat": {
|
||||
"none": "Ne pas répéter",
|
||||
"daily": "Quotidien",
|
||||
"weekly": "Hebdomadaire",
|
||||
"monthly": "Mensuel",
|
||||
"yearly": "Annuel"
|
||||
},
|
||||
"reminder": {
|
||||
"atTime": "Au moment de l'événement",
|
||||
"5min": "5 minutes avant",
|
||||
"15min": "15 minutes avant",
|
||||
"30min": "30 minutes avant",
|
||||
"1hour": "1 heure avant",
|
||||
"1day": "1 jour avant"
|
||||
},
|
||||
"share": {
|
||||
"share": "Partager",
|
||||
"shareCalendar": "Partager le calendrier",
|
||||
"permissions": "Autorisations",
|
||||
"read": "Lecture seule",
|
||||
"write": "Modification",
|
||||
"admin": "Administrateur",
|
||||
"pending": "En attente",
|
||||
"accepted": "Accepté"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
"logout": "Déconnexion",
|
||||
"register": "Inscription",
|
||||
"email": "E-mail",
|
||||
"password": "Mot de passe",
|
||||
"forgotPassword": "Mot de passe oublié?"
|
||||
},
|
||||
"toast": {
|
||||
"eventLoadError": "Impossible de charger les événements",
|
||||
"eventUpdateError": "Impossible de mettre à jour l'événement",
|
||||
"eventDeleteError": "Impossible de supprimer l'événement",
|
||||
"eventDeleted": "Événement supprimé",
|
||||
"error": "Erreur",
|
||||
"calendarShared": "Calendrier partagé avec {email}",
|
||||
"shareLinkCreated": "Lien de partage créé",
|
||||
"inviteAccepted": "Invitation acceptée",
|
||||
"shareRemoved": "Partage supprimé",
|
||||
"shareError": "Échec du partage",
|
||||
"updateError": "Échec de la mise à jour",
|
||||
"removeError": "Échec de la suppression",
|
||||
"declineError": "Échec du refus",
|
||||
"calendarConnected": "{name} connecté",
|
||||
"calendarDisconnected": "{name} déconnecté",
|
||||
"syncCompleted": "Synchronisation terminée",
|
||||
"connectionError": "Échec de la connexion",
|
||||
"syncError": "Échec de la synchronisation"
|
||||
},
|
||||
"common": {
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"add": "Ajouter",
|
||||
"close": "Fermer",
|
||||
"search": "Rechercher",
|
||||
"error": "Erreur",
|
||||
"success": "Succès",
|
||||
"calendar": "Calendrier",
|
||||
"create": "Créer"
|
||||
},
|
||||
"settings": {
|
||||
"myCalendars": "Mes calendriers",
|
||||
"externalCalendars": "Calendriers externes",
|
||||
"shares": "Partage de calendriers",
|
||||
"appSettings": "Paramètres de l'app",
|
||||
"appSettingsDesc": "Ces paramètres sont synchronisés avec toutes les apps Mana",
|
||||
"calendarView": "Vue du calendrier",
|
||||
"events": "Événements",
|
||||
"birthdays": "Anniversaires",
|
||||
"account": "Compte",
|
||||
"newCalendar": "Nouveau calendrier",
|
||||
"calendarName": "Nom du calendrier",
|
||||
"name": "Nom",
|
||||
"color": "Couleur",
|
||||
"default": "Par défaut",
|
||||
"setAsDefault": "Définir comme calendrier par défaut",
|
||||
"currentDefault": "par défaut actuel",
|
||||
"noCalendars": "Aucun calendrier disponible",
|
||||
"calendarCreated": "Calendrier créé",
|
||||
"calendarUpdated": "Calendrier mis à jour",
|
||||
"calendarDeleted": "Calendrier supprimé",
|
||||
"confirmDeleteCalendar": "Voulez-vous vraiment supprimer \"{name}\" ?",
|
||||
"externalCalendarsDesc": "Connectez Google Calendar, Apple Calendar, CalDAV ou des URLs iCal.",
|
||||
"manageSync": "Gérer la synchronisation",
|
||||
"sharesDesc": "Partagez des calendriers avec d'autres utilisateurs ou gérez les invitations.",
|
||||
"manageShares": "Gérer les partages",
|
||||
"defaultView": "Vue par défaut",
|
||||
"defaultViewDesc": "Vue à l'ouverture du calendrier",
|
||||
"selectView": "Choisir la vue",
|
||||
"viewWeek": "Semaine",
|
||||
"viewMonth": "Mois",
|
||||
"viewAgenda": "Agenda",
|
||||
"timeFormat": "Format de l'heure",
|
||||
"timeFormatDesc": "Affichage des heures",
|
||||
"weekdaysOnly": "Afficher uniquement les jours ouvrables",
|
||||
"weekdaysOnlyDesc": "Masquer les week-ends dans la vue du calendrier",
|
||||
"showWeekNumbers": "Afficher les numéros de semaine",
|
||||
"showWeekNumbersDesc": "Afficher le numéro de semaine dans la vue du calendrier",
|
||||
"filterHours": "Filtrer les heures",
|
||||
"filterHoursDesc": "Afficher uniquement certaines heures dans la vue jour/semaine",
|
||||
"visibleHours": "Heures visibles",
|
||||
"visibleHoursDesc": "Plage horaire affichée dans la vue du calendrier",
|
||||
"hoursFrom": "De",
|
||||
"hoursTo": "À",
|
||||
"allDayEvents": "Événements sur toute la journée",
|
||||
"allDayEventsDesc": "Comment afficher les événements sur toute la journée ?",
|
||||
"allDayInHeader": "Dans l'en-tête",
|
||||
"allDayAsBlock": "En bloc journalier",
|
||||
"defaultDuration": "Durée par défaut",
|
||||
"defaultDurationDesc": "Durée par défaut pour les nouveaux événements",
|
||||
"selectDuration": "Choisir la durée",
|
||||
"durationMinutes": "{count} minutes",
|
||||
"durationHours": "{count} heure(s)",
|
||||
"defaultReminder": "Rappel par défaut",
|
||||
"defaultReminderDesc": "Rappel par défaut pour les nouveaux événements",
|
||||
"selectReminder": "Choisir le rappel",
|
||||
"reminderNone": "Aucun",
|
||||
"reminderMinutes": "{count} minutes",
|
||||
"reminderHour": "1 heure",
|
||||
"reminderDay": "1 jour",
|
||||
"showBirthdays": "Afficher les anniversaires",
|
||||
"showBirthdaysDesc": "Afficher les anniversaires des contacts dans le calendrier",
|
||||
"showAge": "Afficher l'âge",
|
||||
"showAgeDesc": "Afficher l'âge de la personne lors des anniversaires"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Page non trouvée",
|
||||
"backToHome": "Retour à l'accueil"
|
||||
},
|
||||
"sync": {
|
||||
"pageTitle": "Sync des calendriers - Paramètres",
|
||||
"title": "Sync des calendriers",
|
||||
"back": "Retour",
|
||||
"connectCalendar": "Connecter un calendrier",
|
||||
"description": "Connectez des calendriers externes pour importer et synchroniser des événements.",
|
||||
"emptyState": "Aucun calendrier externe connecté",
|
||||
"syncNow": "Synchroniser maintenant",
|
||||
"disconnect": "Déconnecter",
|
||||
"confirmDisconnect": "Vraiment déconnecter \"{name}\" ? Les événements synchronisés seront supprimés.",
|
||||
"neverSynced": "Jamais",
|
||||
"directionLabel": "Direction",
|
||||
"lastSync": "Dernière sync",
|
||||
"statusLabel": "Statut",
|
||||
"autoSync": "Sync auto",
|
||||
"connectCaldav": "Connecter un serveur CalDAV",
|
||||
"connectProvider": "Connecter {provider}",
|
||||
"searching": "Recherche...",
|
||||
"searchCalendars": "Rechercher des calendriers",
|
||||
"discoveredCalendars": "Calendriers trouvés :",
|
||||
"connecting": "Connexion...",
|
||||
"connect": "Connecter",
|
||||
"direction": {
|
||||
"import": "Import uniquement",
|
||||
"export": "Export uniquement",
|
||||
"both": "Bidirectionnel"
|
||||
},
|
||||
"status": {
|
||||
"error": "Erreur",
|
||||
"active": "Actif (toutes les {interval} min.)",
|
||||
"paused": "En pause"
|
||||
},
|
||||
"providers": {
|
||||
"icalUrl": "URL iCal",
|
||||
"icalUrlDesc": "Importer un lien ICS (ex. jours fériés)",
|
||||
"caldav": "CalDAV",
|
||||
"caldavDesc": "Connecter un serveur CalDAV",
|
||||
"google": "Google Calendar",
|
||||
"googleDesc": "Synchroniser avec Google Agenda",
|
||||
"apple": "Apple Calendar",
|
||||
"appleDesc": "Connecter le calendrier iCloud"
|
||||
},
|
||||
"form": {
|
||||
"serverUrl": "URL du serveur",
|
||||
"username": "Nom d'utilisateur",
|
||||
"password": "Mot de passe",
|
||||
"name": "Nom",
|
||||
"namePlaceholder": "Mon calendrier externe",
|
||||
"url": "URL",
|
||||
"syncDirection": "Direction de sync"
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"pageTitle": "Partage de calendriers - Paramètres",
|
||||
"title": "Partages",
|
||||
"back": "Retour",
|
||||
"shareCalendar": "Partager le calendrier",
|
||||
"invitations": "Invitations ({count})",
|
||||
"calendarInvitation": "Invitation de calendrier",
|
||||
"access": "accès",
|
||||
"accept": "Accepter",
|
||||
"sharedWithMe": "Partagés avec moi",
|
||||
"sharedCalendar": "Calendrier partagé",
|
||||
"shareMyCalendars": "Partager mes calendriers",
|
||||
"notSharedYet": "Pas encore partagé",
|
||||
"linkShare": "Partage par lien",
|
||||
"pending": "En attente",
|
||||
"removeShare": "Supprimer le partage",
|
||||
"confirmRemoveShare": "Vraiment supprimer ce partage ?",
|
||||
"addPerson": "Ajouter une personne",
|
||||
"share": "Partager",
|
||||
"sharing": "Partage...",
|
||||
"permission": {
|
||||
"read": "Lecture",
|
||||
"write": "Lecture & modification",
|
||||
"admin": "Administrateur"
|
||||
},
|
||||
"form": {
|
||||
"calendar": "Calendrier",
|
||||
"email": "Adresse e-mail",
|
||||
"permission": "Autorisation"
|
||||
}
|
||||
}
|
||||
}
|
||||
275
apps/manacore/apps/web/src/lib/i18n/locales/calendar/it.json
Normal file
275
apps/manacore/apps/web/src/lib/i18n/locales/calendar/it.json
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Calendario",
|
||||
"loading": "Caricamento..."
|
||||
},
|
||||
"nav": {
|
||||
"calendar": "Calendario",
|
||||
"calendars": "Calendari",
|
||||
"agenda": "Agenda",
|
||||
"settings": "Impostazioni",
|
||||
"feedback": "Feedback"
|
||||
},
|
||||
"views": {
|
||||
"day": "Giorno",
|
||||
"5day": "5 giorni",
|
||||
"week": "Settimana",
|
||||
"10day": "10 giorni",
|
||||
"14day": "14 giorni",
|
||||
"month": "Mese",
|
||||
"year": "Anno",
|
||||
"agenda": "Agenda",
|
||||
"weekdaysOnly": "Solo giorni feriali",
|
||||
"allDay": "Tutto il giorno",
|
||||
"birthday": "Compleanno",
|
||||
"weekView": "Vista settimanale",
|
||||
"monthView": "Vista mensile"
|
||||
},
|
||||
"calendar": {
|
||||
"today": "Oggi",
|
||||
"newEvent": "Nuovo evento",
|
||||
"noEvents": "Nessun evento",
|
||||
"allDay": "Tutto il giorno",
|
||||
"myCalendars": "I miei calendari",
|
||||
"sharedCalendars": "Calendari condivisi",
|
||||
"untitled": "Senza titolo",
|
||||
"contextMenu": {
|
||||
"edit": "Modifica",
|
||||
"duplicate": "Duplica",
|
||||
"copy": "Copia",
|
||||
"delete": "Elimina"
|
||||
}
|
||||
},
|
||||
"event": {
|
||||
"title": "Titolo",
|
||||
"description": "Descrizione",
|
||||
"location": "Luogo",
|
||||
"start": "Inizio",
|
||||
"end": "Fine",
|
||||
"allDay": "Tutto il giorno",
|
||||
"repeat": "Ripeti",
|
||||
"reminder": "Promemoria",
|
||||
"calendar": "Calendario",
|
||||
"save": "Salva",
|
||||
"delete": "Elimina",
|
||||
"cancel": "Annulla"
|
||||
},
|
||||
"repeat": {
|
||||
"none": "Non ripetere",
|
||||
"daily": "Giornaliero",
|
||||
"weekly": "Settimanale",
|
||||
"monthly": "Mensile",
|
||||
"yearly": "Annuale"
|
||||
},
|
||||
"reminder": {
|
||||
"atTime": "All'ora dell'evento",
|
||||
"5min": "5 minuti prima",
|
||||
"15min": "15 minuti prima",
|
||||
"30min": "30 minuti prima",
|
||||
"1hour": "1 ora prima",
|
||||
"1day": "1 giorno prima"
|
||||
},
|
||||
"share": {
|
||||
"share": "Condividi",
|
||||
"shareCalendar": "Condividi calendario",
|
||||
"permissions": "Autorizzazioni",
|
||||
"read": "Solo lettura",
|
||||
"write": "Può modificare",
|
||||
"admin": "Amministratore",
|
||||
"pending": "In attesa",
|
||||
"accepted": "Accettato"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
"logout": "Esci",
|
||||
"register": "Registrati",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"forgotPassword": "Password dimenticata?"
|
||||
},
|
||||
"toast": {
|
||||
"eventLoadError": "Impossibile caricare gli eventi",
|
||||
"eventUpdateError": "Impossibile aggiornare l'evento",
|
||||
"eventDeleteError": "Impossibile eliminare l'evento",
|
||||
"eventDeleted": "Evento eliminato",
|
||||
"error": "Errore",
|
||||
"calendarShared": "Calendario condiviso con {email}",
|
||||
"shareLinkCreated": "Link di condivisione creato",
|
||||
"inviteAccepted": "Invito accettato",
|
||||
"shareRemoved": "Condivisione rimossa",
|
||||
"shareError": "Condivisione fallita",
|
||||
"updateError": "Aggiornamento fallito",
|
||||
"removeError": "Rimozione fallita",
|
||||
"declineError": "Rifiuto fallito",
|
||||
"calendarConnected": "{name} connesso",
|
||||
"calendarDisconnected": "{name} disconnesso",
|
||||
"syncCompleted": "Sincronizzazione completata",
|
||||
"connectionError": "Connessione fallita",
|
||||
"syncError": "Sincronizzazione fallita"
|
||||
},
|
||||
"common": {
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"add": "Aggiungi",
|
||||
"close": "Chiudi",
|
||||
"search": "Cerca",
|
||||
"error": "Errore",
|
||||
"success": "Successo",
|
||||
"calendar": "Calendario",
|
||||
"create": "Crea"
|
||||
},
|
||||
"settings": {
|
||||
"myCalendars": "I miei calendari",
|
||||
"externalCalendars": "Calendari esterni",
|
||||
"shares": "Condivisione calendari",
|
||||
"appSettings": "Impostazioni app",
|
||||
"appSettingsDesc": "Queste impostazioni vengono sincronizzate con tutte le app Mana",
|
||||
"calendarView": "Vista del calendario",
|
||||
"events": "Eventi",
|
||||
"birthdays": "Compleanni",
|
||||
"account": "Account",
|
||||
"newCalendar": "Nuovo calendario",
|
||||
"calendarName": "Nome del calendario",
|
||||
"name": "Nome",
|
||||
"color": "Colore",
|
||||
"default": "Predefinito",
|
||||
"setAsDefault": "Imposta come calendario predefinito",
|
||||
"currentDefault": "predefinito attuale",
|
||||
"noCalendars": "Nessun calendario disponibile",
|
||||
"calendarCreated": "Calendario creato",
|
||||
"calendarUpdated": "Calendario aggiornato",
|
||||
"calendarDeleted": "Calendario eliminato",
|
||||
"confirmDeleteCalendar": "Vuoi davvero eliminare \"{name}\"?",
|
||||
"externalCalendarsDesc": "Collega Google Calendar, Apple Calendar, CalDAV o URL iCal.",
|
||||
"manageSync": "Gestisci sincronizzazione",
|
||||
"sharesDesc": "Condividi calendari con altri utenti o gestisci gli inviti.",
|
||||
"manageShares": "Gestisci condivisioni",
|
||||
"defaultView": "Vista predefinita",
|
||||
"defaultViewDesc": "Vista all'apertura del calendario",
|
||||
"selectView": "Seleziona vista",
|
||||
"viewWeek": "Settimana",
|
||||
"viewMonth": "Mese",
|
||||
"viewAgenda": "Agenda",
|
||||
"timeFormat": "Formato ora",
|
||||
"timeFormatDesc": "Come vengono visualizzati gli orari",
|
||||
"weekdaysOnly": "Mostra solo giorni feriali",
|
||||
"weekdaysOnlyDesc": "Nascondi i fine settimana nella vista del calendario",
|
||||
"showWeekNumbers": "Mostra numeri di settimana",
|
||||
"showWeekNumbersDesc": "Mostra il numero della settimana nella vista del calendario",
|
||||
"filterHours": "Filtra ore",
|
||||
"filterHoursDesc": "Mostra solo determinate ore nella vista giorno/settimana",
|
||||
"visibleHours": "Ore visibili",
|
||||
"visibleHoursDesc": "Intervallo orario visualizzato nella vista del calendario",
|
||||
"hoursFrom": "Da",
|
||||
"hoursTo": "A",
|
||||
"allDayEvents": "Eventi tutto il giorno",
|
||||
"allDayEventsDesc": "Come devono essere visualizzati gli eventi tutto il giorno?",
|
||||
"allDayInHeader": "Nell'intestazione",
|
||||
"allDayAsBlock": "Come blocco giornaliero",
|
||||
"defaultDuration": "Durata predefinita",
|
||||
"defaultDurationDesc": "Durata predefinita per i nuovi eventi",
|
||||
"selectDuration": "Seleziona durata",
|
||||
"durationMinutes": "{count} minuti",
|
||||
"durationHours": "{count} ora/e",
|
||||
"defaultReminder": "Promemoria predefinito",
|
||||
"defaultReminderDesc": "Promemoria predefinito per i nuovi eventi",
|
||||
"selectReminder": "Seleziona promemoria",
|
||||
"reminderNone": "Nessuno",
|
||||
"reminderMinutes": "{count} minuti",
|
||||
"reminderHour": "1 ora",
|
||||
"reminderDay": "1 giorno",
|
||||
"showBirthdays": "Mostra compleanni",
|
||||
"showBirthdaysDesc": "Mostra i compleanni dei contatti nel calendario",
|
||||
"showAge": "Mostra età",
|
||||
"showAgeDesc": "Mostra l'età della persona nei compleanni"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Pagina non trovata",
|
||||
"backToHome": "Torna alla home"
|
||||
},
|
||||
"sync": {
|
||||
"pageTitle": "Sincronizzazione calendari - Impostazioni",
|
||||
"title": "Sincronizzazione",
|
||||
"back": "Indietro",
|
||||
"connectCalendar": "Collega calendario",
|
||||
"description": "Collega calendari esterni per importare e sincronizzare eventi.",
|
||||
"emptyState": "Nessun calendario esterno collegato",
|
||||
"syncNow": "Sincronizza ora",
|
||||
"disconnect": "Disconnetti",
|
||||
"confirmDisconnect": "Disconnettere davvero \"{name}\"? Gli eventi sincronizzati verranno eliminati.",
|
||||
"neverSynced": "Mai",
|
||||
"directionLabel": "Direzione",
|
||||
"lastSync": "Ultima sincronizzazione",
|
||||
"statusLabel": "Stato",
|
||||
"autoSync": "Sincronizzazione automatica",
|
||||
"connectCaldav": "Collega server CalDAV",
|
||||
"connectProvider": "Collega {provider}",
|
||||
"searching": "Ricerca...",
|
||||
"searchCalendars": "Cerca calendari",
|
||||
"discoveredCalendars": "Calendari trovati:",
|
||||
"connecting": "Collegamento...",
|
||||
"connect": "Collega",
|
||||
"direction": {
|
||||
"import": "Solo importazione",
|
||||
"export": "Solo esportazione",
|
||||
"both": "Bidirezionale"
|
||||
},
|
||||
"status": {
|
||||
"error": "Errore",
|
||||
"active": "Attivo (ogni {interval} min.)",
|
||||
"paused": "In pausa"
|
||||
},
|
||||
"providers": {
|
||||
"icalUrl": "URL iCal",
|
||||
"icalUrlDesc": "Importa link ICS (es. festività)",
|
||||
"caldav": "CalDAV",
|
||||
"caldavDesc": "Collega server CalDAV",
|
||||
"google": "Google Calendar",
|
||||
"googleDesc": "Sincronizza con Google Calendar",
|
||||
"apple": "Apple Calendar",
|
||||
"appleDesc": "Collega calendario iCloud"
|
||||
},
|
||||
"form": {
|
||||
"serverUrl": "URL del server",
|
||||
"username": "Nome utente",
|
||||
"password": "Password",
|
||||
"name": "Nome",
|
||||
"namePlaceholder": "Il mio calendario esterno",
|
||||
"url": "URL",
|
||||
"syncDirection": "Direzione di sincronizzazione"
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"pageTitle": "Condivisione calendari - Impostazioni",
|
||||
"title": "Condivisioni",
|
||||
"back": "Indietro",
|
||||
"shareCalendar": "Condividi calendario",
|
||||
"invitations": "Inviti ({count})",
|
||||
"calendarInvitation": "Invito calendario",
|
||||
"access": "accesso",
|
||||
"accept": "Accetta",
|
||||
"sharedWithMe": "Condivisi con me",
|
||||
"sharedCalendar": "Calendario condiviso",
|
||||
"shareMyCalendars": "Condividi i miei calendari",
|
||||
"notSharedYet": "Non ancora condiviso",
|
||||
"linkShare": "Condivisione tramite link",
|
||||
"pending": "In attesa",
|
||||
"removeShare": "Rimuovi condivisione",
|
||||
"confirmRemoveShare": "Rimuovere davvero questa condivisione?",
|
||||
"addPerson": "Aggiungi persona",
|
||||
"share": "Condividi",
|
||||
"sharing": "Condivisione...",
|
||||
"permission": {
|
||||
"read": "Lettura",
|
||||
"write": "Lettura e modifica",
|
||||
"admin": "Amministratore"
|
||||
},
|
||||
"form": {
|
||||
"calendar": "Calendario",
|
||||
"email": "Indirizzo email",
|
||||
"permission": "Autorizzazione"
|
||||
}
|
||||
}
|
||||
}
|
||||
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/de.json
Normal file
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/de.json
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "CityCorners",
|
||||
"tagline": "Entdecke Städte weltweit"
|
||||
},
|
||||
"nav": {
|
||||
"explore": "Entdecken",
|
||||
"map": "Karte",
|
||||
"add": "Hinzufügen",
|
||||
"favorites": "Favoriten",
|
||||
"settings": "Einstellungen",
|
||||
"showNav": "Navigation einblenden",
|
||||
"hideNav": "Navigation ausblenden",
|
||||
"cities": "Städte"
|
||||
},
|
||||
"cities": {
|
||||
"title": "Städte entdecken",
|
||||
"subtitle": "Von der Community für die Community",
|
||||
"search": "Stadt suchen...",
|
||||
"add": "Stadt hinzufügen",
|
||||
"empty": "Noch keine Städte. Sei der Erste!",
|
||||
"locationsCount": "{count} Orte",
|
||||
"noLocationsYet": "Noch keine Orte",
|
||||
"contributors": "{count} Beitragende",
|
||||
"contributorsOne": "1 Beitragender",
|
||||
"onMap": "{count} auf der Karte",
|
||||
"recentlyAdded": "Zuletzt hinzugefügt",
|
||||
"stats": "Statistiken",
|
||||
"totalCities": "{count} Städte",
|
||||
"totalLocations": "{count} Orte",
|
||||
"totalContributors": "{count} Beitragende",
|
||||
"topCategories": "Top-Kategorien"
|
||||
},
|
||||
"cityAdd": {
|
||||
"title": "Neue Stadt anlegen",
|
||||
"subtitle": "Füge eine Stadt, ein Dorf oder einen Ort hinzu",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "z.B. Konstanz",
|
||||
"country": "Land",
|
||||
"countryPlaceholder": "z.B. Deutschland",
|
||||
"state": "Bundesland / Region (optional)",
|
||||
"statePlaceholder": "z.B. Baden-Württemberg",
|
||||
"description": "Beschreibung (optional)",
|
||||
"descriptionPlaceholder": "Was macht diesen Ort besonders?",
|
||||
"imageUrl": "Bild-URL (optional)",
|
||||
"imageUrlPlaceholder": "https://example.com/bild.jpg",
|
||||
"submit": "Stadt anlegen",
|
||||
"submitting": "Wird angelegt...",
|
||||
"loginRequired": "Melde dich an, um Städte anzulegen.",
|
||||
"error": "Fehler beim Anlegen. Bitte versuche es erneut.",
|
||||
"geocoding": "Koordinaten werden ermittelt...",
|
||||
"coordinatesFound": "Koordinaten gefunden",
|
||||
"slugExists": "Eine Stadt mit diesem Namen existiert bereits."
|
||||
},
|
||||
"home": {
|
||||
"title": "Orte entdecken",
|
||||
"subtitle": "Sehenswürdigkeiten, Restaurants, Museen und mehr",
|
||||
"all": "Alle",
|
||||
"loading": "Laden...",
|
||||
"noResults": "Keine Orte gefunden.",
|
||||
"noResultsCategory": "Keine {category} gefunden.",
|
||||
"addFirst": "Ersten Ort hinzufügen",
|
||||
"loadMore": "Mehr laden"
|
||||
},
|
||||
"categories": {
|
||||
"sight": "Sehenswürdigkeiten",
|
||||
"restaurant": "Restaurants",
|
||||
"shop": "Läden",
|
||||
"museum": "Museen",
|
||||
"cafe": "Cafés",
|
||||
"bar": "Bars",
|
||||
"park": "Parks",
|
||||
"beach": "Strandbäder",
|
||||
"hotel": "Hotels",
|
||||
"event_venue": "Veranstaltungsorte",
|
||||
"viewpoint": "Aussichtspunkte"
|
||||
},
|
||||
"category": {
|
||||
"sight": "Sehenswürdigkeit",
|
||||
"restaurant": "Restaurant",
|
||||
"shop": "Laden",
|
||||
"museum": "Museum",
|
||||
"cafe": "Café",
|
||||
"bar": "Bar",
|
||||
"park": "Park",
|
||||
"beach": "Strandbad",
|
||||
"hotel": "Hotel",
|
||||
"event_venue": "Veranstaltungsort",
|
||||
"viewpoint": "Aussichtspunkt"
|
||||
},
|
||||
"detail": {
|
||||
"history": "Geschichte",
|
||||
"openInMaps": "OSM",
|
||||
"showOnMap": "Auf Karte",
|
||||
"directions": "Route",
|
||||
"share": "Teilen",
|
||||
"linkCopied": "Link kopiert!",
|
||||
"showDetails": "Details",
|
||||
"back": "Zurück zur Übersicht",
|
||||
"notFound": "Ort nicht gefunden.",
|
||||
"edit": "Bearbeiten",
|
||||
"delete": "Löschen",
|
||||
"deleteConfirm": "Bist du sicher, dass du diesen Ort löschen möchtest? Das kann nicht rückgängig gemacht werden.",
|
||||
"confirmDelete": "Endgültig löschen",
|
||||
"deleting": "Wird gelöscht...",
|
||||
"cancel": "Abbrechen",
|
||||
"nearby": "In der Nähe",
|
||||
"website": "Webseite",
|
||||
"phone": "Telefon",
|
||||
"openingHours": "Öffnungszeiten",
|
||||
"closed": "Geschlossen",
|
||||
"openNow": "Jetzt geöffnet",
|
||||
"closedNow": "Geschlossen"
|
||||
},
|
||||
"days": {
|
||||
"mo": "Montag",
|
||||
"tu": "Dienstag",
|
||||
"we": "Mittwoch",
|
||||
"th": "Donnerstag",
|
||||
"fr": "Freitag",
|
||||
"sa": "Samstag",
|
||||
"su": "Sonntag"
|
||||
},
|
||||
"gallery": {
|
||||
"addPhoto": "Foto hinzufügen",
|
||||
"add": "Hinzufügen",
|
||||
"addError": "Foto konnte nicht hinzugefügt werden."
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoriten",
|
||||
"subtitle": "Deine gespeicherten Orte",
|
||||
"empty": "Noch keine Favoriten. Tippe auf das Herz bei einer Location, um sie zu speichern.",
|
||||
"loginRequired": "Melde dich an, um Favoriten zu speichern.",
|
||||
"add": "Zu Favoriten hinzufügen",
|
||||
"remove": "Aus Favoriten entfernen",
|
||||
"tabFavorites": "Favoriten",
|
||||
"tabCollections": "Sammlungen"
|
||||
},
|
||||
"collections": {
|
||||
"title": "Sammlungen",
|
||||
"empty": "Noch keine Sammlungen erstellt.",
|
||||
"create": "Sammlung erstellen",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "z.B. Meine Lieblingsrestaurants",
|
||||
"description": "Beschreibung (optional)",
|
||||
"descriptionPlaceholder": "Worum geht es in dieser Sammlung?",
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"locations": "{count} Orte",
|
||||
"noLocations": "Keine Orte in dieser Sammlung.",
|
||||
"delete": "Sammlung löschen",
|
||||
"deleteConfirm": "Bist du sicher, dass du diese Sammlung löschen möchtest?",
|
||||
"back": "Zurück zu Sammlungen"
|
||||
},
|
||||
"map": {
|
||||
"title": "Karte",
|
||||
"subtitle": "Alle Orte auf der Karte",
|
||||
"locateMe": "Mein Standort",
|
||||
"yourLocation": "Du bist hier",
|
||||
"geolocationNotSupported": "Standortbestimmung wird nicht unterstützt.",
|
||||
"geolocationError": "Standort konnte nicht ermittelt werden.",
|
||||
"filterAll": "Alle"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Ort suchen...",
|
||||
"noResults": "Keine Ergebnisse",
|
||||
"searching": "Suche..."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Einstellungen",
|
||||
"appearance": "Erscheinungsbild",
|
||||
"mode": "Modus",
|
||||
"light": "Hell",
|
||||
"dark": "Dunkel",
|
||||
"system": "System",
|
||||
"colorScheme": "Farbschema",
|
||||
"account": "Account",
|
||||
"email": "E-Mail",
|
||||
"logout": "Abmelden",
|
||||
"loginPrompt": "Melde dich an, um Favoriten zu speichern und alle Features zu nutzen.",
|
||||
"login": "Anmelden",
|
||||
"register": "Registrieren",
|
||||
"about": "Über CityCorners",
|
||||
"aboutText": "CityCorners ist eine offene Plattform für Stadtführer weltweit. Entdecke Orte, die von der Community geteilt werden — oder lege selbst eine Stadt an."
|
||||
},
|
||||
"auth": {
|
||||
"loginTitle": "Login - CityCorners",
|
||||
"registerTitle": "Registrieren - CityCorners"
|
||||
},
|
||||
"add": {
|
||||
"title": "Ort hinzufügen",
|
||||
"subtitle": "Teile deinen Lieblingsort",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "z.B. Café am See",
|
||||
"category": "Kategorie",
|
||||
"description": "Beschreibung",
|
||||
"descriptionPlaceholder": "Was macht diesen Ort besonders?",
|
||||
"minChars": "Mindestens 10 Zeichen",
|
||||
"address": "Adresse (optional)",
|
||||
"addressPlaceholder": "z.B. Seestraße 1",
|
||||
"searchTitle": "Ort im Web suchen",
|
||||
"searchSubtitle": "Wir suchen automatisch nach Infos und füllen das Formular vor.",
|
||||
"searchPlaceholder": "z.B. Café Zeitlos",
|
||||
"searchButton": "Suchen",
|
||||
"skipSearch": "Überspringen und manuell eintragen",
|
||||
"foundSources": "Quellen gefunden:",
|
||||
"reset": "Zurück",
|
||||
"submit": "Ort einreichen",
|
||||
"submitting": "Wird eingereicht...",
|
||||
"loginRequired": "Melde dich an, um Orte hinzuzufügen.",
|
||||
"error": "Fehler beim Einreichen. Bitte versuche es erneut.",
|
||||
"imageUrl": "Bild-URL (optional)",
|
||||
"imageUrlPlaceholder": "https://example.com/bild.jpg",
|
||||
"imagePreview": "Bildvorschau",
|
||||
"imageLoadError": "Bild konnte nicht geladen werden.",
|
||||
"imageRetry": "Erneut versuchen",
|
||||
"geocoding": "Koordinaten werden ermittelt...",
|
||||
"coordinatesFound": "Koordinaten gefunden",
|
||||
"website": "Webseite (optional)",
|
||||
"websitePlaceholder": "https://example.com",
|
||||
"phone": "Telefon (optional)",
|
||||
"phonePlaceholder": "+49 7531 12345"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Ort bearbeiten",
|
||||
"subtitle": "Ändere die Details dieses Ortes",
|
||||
"save": "Änderungen speichern",
|
||||
"saving": "Wird gespeichert...",
|
||||
"cancel": "Abbrechen",
|
||||
"error": "Fehler beim Speichern. Bitte versuche es erneut.",
|
||||
"loadError": "Ort konnte nicht geladen werden.",
|
||||
"forbidden": "Du kannst nur deine eigenen Orte bearbeiten."
|
||||
},
|
||||
"reviews": {
|
||||
"title": "Bewertungen",
|
||||
"write": "Bewertung schreiben",
|
||||
"yourRating": "Deine Bewertung",
|
||||
"commentPlaceholder": "Was hat dir gefallen? (optional)",
|
||||
"submit": "Absenden",
|
||||
"submitting": "Wird gesendet...",
|
||||
"loginRequired": "Melde dich an, um eine Bewertung zu schreiben.",
|
||||
"alreadyReviewed": "Du hast diesen Ort bereits bewertet.",
|
||||
"deleteConfirm": "Bewertung löschen?",
|
||||
"delete": "Löschen",
|
||||
"noReviews": "Noch keine Bewertungen. Sei der Erste!",
|
||||
"error": "Bewertung konnte nicht gespeichert werden.",
|
||||
"count": "{count} Bewertungen",
|
||||
"countOne": "1 Bewertung"
|
||||
},
|
||||
"offline": {
|
||||
"title": "Keine Verbindung",
|
||||
"message": "Du bist gerade offline. Sobald du wieder eine Internetverbindung hast, kannst du CityCorners weiter nutzen.",
|
||||
"retry": "Erneut versuchen"
|
||||
}
|
||||
}
|
||||
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/en.json
Normal file
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/en.json
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "CityCorners",
|
||||
"tagline": "Discover cities worldwide"
|
||||
},
|
||||
"nav": {
|
||||
"explore": "Explore",
|
||||
"map": "Map",
|
||||
"add": "Add",
|
||||
"favorites": "Favorites",
|
||||
"settings": "Settings",
|
||||
"showNav": "Show navigation",
|
||||
"hideNav": "Hide navigation",
|
||||
"cities": "Cities"
|
||||
},
|
||||
"cities": {
|
||||
"title": "Discover cities",
|
||||
"subtitle": "By the community, for the community",
|
||||
"search": "Search cities...",
|
||||
"add": "Add a city",
|
||||
"empty": "No cities yet. Be the first!",
|
||||
"locationsCount": "{count} places",
|
||||
"noLocationsYet": "No places yet",
|
||||
"contributors": "{count} contributors",
|
||||
"contributorsOne": "1 contributor",
|
||||
"onMap": "{count} on the map",
|
||||
"recentlyAdded": "Recently added",
|
||||
"stats": "Statistics",
|
||||
"totalCities": "{count} cities",
|
||||
"totalLocations": "{count} places",
|
||||
"totalContributors": "{count} contributors",
|
||||
"topCategories": "Top categories"
|
||||
},
|
||||
"cityAdd": {
|
||||
"title": "Add a new city",
|
||||
"subtitle": "Add a city, village, or town",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "e.g. Berlin",
|
||||
"country": "Country",
|
||||
"countryPlaceholder": "e.g. Germany",
|
||||
"state": "State / Region (optional)",
|
||||
"statePlaceholder": "e.g. Bavaria",
|
||||
"description": "Description (optional)",
|
||||
"descriptionPlaceholder": "What makes this place special?",
|
||||
"imageUrl": "Image URL (optional)",
|
||||
"imageUrlPlaceholder": "https://example.com/image.jpg",
|
||||
"submit": "Add city",
|
||||
"submitting": "Creating...",
|
||||
"loginRequired": "Sign in to add cities.",
|
||||
"error": "Failed to create. Please try again.",
|
||||
"geocoding": "Finding coordinates...",
|
||||
"coordinatesFound": "Coordinates found",
|
||||
"slugExists": "A city with this name already exists."
|
||||
},
|
||||
"home": {
|
||||
"title": "Discover places",
|
||||
"subtitle": "Sights, restaurants, museums and more",
|
||||
"all": "All",
|
||||
"loading": "Loading...",
|
||||
"noResults": "No places found.",
|
||||
"noResultsCategory": "No {category} found.",
|
||||
"addFirst": "Add the first place",
|
||||
"loadMore": "Load more"
|
||||
},
|
||||
"categories": {
|
||||
"sight": "Sights",
|
||||
"restaurant": "Restaurants",
|
||||
"shop": "Shops",
|
||||
"museum": "Museums",
|
||||
"cafe": "Cafés",
|
||||
"bar": "Bars",
|
||||
"park": "Parks",
|
||||
"beach": "Beaches",
|
||||
"hotel": "Hotels",
|
||||
"event_venue": "Event Venues",
|
||||
"viewpoint": "Viewpoints"
|
||||
},
|
||||
"category": {
|
||||
"sight": "Sight",
|
||||
"restaurant": "Restaurant",
|
||||
"shop": "Shop",
|
||||
"museum": "Museum",
|
||||
"cafe": "Café",
|
||||
"bar": "Bar",
|
||||
"park": "Park",
|
||||
"beach": "Beach",
|
||||
"hotel": "Hotel",
|
||||
"event_venue": "Event Venue",
|
||||
"viewpoint": "Viewpoint"
|
||||
},
|
||||
"detail": {
|
||||
"history": "History",
|
||||
"openInMaps": "OSM",
|
||||
"showOnMap": "On map",
|
||||
"directions": "Directions",
|
||||
"share": "Share",
|
||||
"linkCopied": "Link copied!",
|
||||
"showDetails": "Details",
|
||||
"back": "Back to overview",
|
||||
"notFound": "Place not found.",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"deleteConfirm": "Are you sure you want to delete this place? This cannot be undone.",
|
||||
"confirmDelete": "Delete permanently",
|
||||
"deleting": "Deleting...",
|
||||
"cancel": "Cancel",
|
||||
"nearby": "Nearby",
|
||||
"website": "Website",
|
||||
"phone": "Phone",
|
||||
"openingHours": "Opening hours",
|
||||
"closed": "Closed",
|
||||
"openNow": "Open now",
|
||||
"closedNow": "Closed"
|
||||
},
|
||||
"days": {
|
||||
"mo": "Monday",
|
||||
"tu": "Tuesday",
|
||||
"we": "Wednesday",
|
||||
"th": "Thursday",
|
||||
"fr": "Friday",
|
||||
"sa": "Saturday",
|
||||
"su": "Sunday"
|
||||
},
|
||||
"gallery": {
|
||||
"addPhoto": "Add photo",
|
||||
"add": "Add",
|
||||
"addError": "Could not add photo."
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favorites",
|
||||
"subtitle": "Your saved places",
|
||||
"empty": "No favorites yet. Tap the heart on a location to save it.",
|
||||
"loginRequired": "Sign in to save favorites.",
|
||||
"add": "Add to favorites",
|
||||
"remove": "Remove from favorites",
|
||||
"tabFavorites": "Favorites",
|
||||
"tabCollections": "Collections"
|
||||
},
|
||||
"collections": {
|
||||
"title": "Collections",
|
||||
"empty": "No collections created yet.",
|
||||
"create": "Create collection",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "e.g. My favorite restaurants",
|
||||
"description": "Description (optional)",
|
||||
"descriptionPlaceholder": "What is this collection about?",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"locations": "{count} places",
|
||||
"noLocations": "No places in this collection.",
|
||||
"delete": "Delete collection",
|
||||
"deleteConfirm": "Are you sure you want to delete this collection?",
|
||||
"back": "Back to collections"
|
||||
},
|
||||
"map": {
|
||||
"title": "Map",
|
||||
"subtitle": "All places on the map",
|
||||
"locateMe": "My location",
|
||||
"yourLocation": "You are here",
|
||||
"geolocationNotSupported": "Geolocation is not supported.",
|
||||
"geolocationError": "Could not determine location.",
|
||||
"filterAll": "All"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search places...",
|
||||
"noResults": "No results",
|
||||
"searching": "Searching..."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"appearance": "Appearance",
|
||||
"mode": "Mode",
|
||||
"light": "Light",
|
||||
"dark": "Dark",
|
||||
"system": "System",
|
||||
"colorScheme": "Color scheme",
|
||||
"account": "Account",
|
||||
"email": "Email",
|
||||
"logout": "Sign out",
|
||||
"loginPrompt": "Sign in to save favorites and use all features.",
|
||||
"login": "Sign in",
|
||||
"register": "Sign up",
|
||||
"about": "About CityCorners",
|
||||
"aboutText": "CityCorners is an open platform for city guides worldwide. Discover places shared by the community — or add your own city."
|
||||
},
|
||||
"auth": {
|
||||
"loginTitle": "Login - CityCorners",
|
||||
"registerTitle": "Sign up - CityCorners"
|
||||
},
|
||||
"add": {
|
||||
"title": "Add a place",
|
||||
"subtitle": "Share your favorite spot",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "e.g. Lakeside Cafe",
|
||||
"category": "Category",
|
||||
"description": "Description",
|
||||
"descriptionPlaceholder": "What makes this place special?",
|
||||
"minChars": "At least 10 characters",
|
||||
"address": "Address (optional)",
|
||||
"addressPlaceholder": "e.g. Main Street 1",
|
||||
"searchTitle": "Search for a place online",
|
||||
"searchSubtitle": "We'll automatically find info and pre-fill the form for you.",
|
||||
"searchPlaceholder": "e.g. Cafe Zeitlos",
|
||||
"searchButton": "Search",
|
||||
"skipSearch": "Skip and enter manually",
|
||||
"foundSources": "Sources found:",
|
||||
"reset": "Back",
|
||||
"submit": "Submit place",
|
||||
"submitting": "Submitting...",
|
||||
"loginRequired": "Sign in to add places.",
|
||||
"error": "Failed to submit. Please try again.",
|
||||
"imageUrl": "Image URL (optional)",
|
||||
"imageUrlPlaceholder": "https://example.com/image.jpg",
|
||||
"imagePreview": "Image preview",
|
||||
"imageLoadError": "Image could not be loaded.",
|
||||
"imageRetry": "Retry",
|
||||
"geocoding": "Finding coordinates...",
|
||||
"coordinatesFound": "Coordinates found",
|
||||
"website": "Website (optional)",
|
||||
"websitePlaceholder": "https://example.com",
|
||||
"phone": "Phone (optional)",
|
||||
"phonePlaceholder": "+49 7531 12345"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit place",
|
||||
"subtitle": "Update the details of this place",
|
||||
"save": "Save changes",
|
||||
"saving": "Saving...",
|
||||
"cancel": "Cancel",
|
||||
"error": "Failed to save. Please try again.",
|
||||
"loadError": "Could not load place.",
|
||||
"forbidden": "You can only edit your own places."
|
||||
},
|
||||
"reviews": {
|
||||
"title": "Reviews",
|
||||
"write": "Write a review",
|
||||
"yourRating": "Your rating",
|
||||
"commentPlaceholder": "What did you like? (optional)",
|
||||
"submit": "Submit",
|
||||
"submitting": "Submitting...",
|
||||
"loginRequired": "Sign in to write a review.",
|
||||
"alreadyReviewed": "You have already reviewed this place.",
|
||||
"deleteConfirm": "Delete review?",
|
||||
"delete": "Delete",
|
||||
"noReviews": "No reviews yet. Be the first!",
|
||||
"error": "Could not save review.",
|
||||
"count": "{count} reviews",
|
||||
"countOne": "1 review"
|
||||
},
|
||||
"offline": {
|
||||
"title": "No connection",
|
||||
"message": "You are currently offline. You can continue using CityCorners once you have an internet connection again.",
|
||||
"retry": "Try again"
|
||||
}
|
||||
}
|
||||
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/es.json
Normal file
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/es.json
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "CityCorners",
|
||||
"tagline": "Descubre ciudades en todo el mundo"
|
||||
},
|
||||
"nav": {
|
||||
"explore": "Explorar",
|
||||
"map": "Mapa",
|
||||
"add": "Agregar",
|
||||
"favorites": "Favoritos",
|
||||
"settings": "Ajustes",
|
||||
"showNav": "Mostrar navegación",
|
||||
"hideNav": "Ocultar navegación",
|
||||
"cities": "Ciudades"
|
||||
},
|
||||
"cities": {
|
||||
"title": "Descubrir ciudades",
|
||||
"subtitle": "De la comunidad, para la comunidad",
|
||||
"search": "Buscar ciudades...",
|
||||
"add": "Agregar ciudad",
|
||||
"empty": "Aún no hay ciudades. ¡Sé el primero!",
|
||||
"locationsCount": "{count} lugares",
|
||||
"noLocationsYet": "Aún no hay lugares",
|
||||
"contributors": "{count} colaboradores",
|
||||
"contributorsOne": "1 colaborador",
|
||||
"onMap": "{count} en el mapa",
|
||||
"recentlyAdded": "Agregados recientemente",
|
||||
"stats": "Estadísticas",
|
||||
"totalCities": "{count} ciudades",
|
||||
"totalLocations": "{count} lugares",
|
||||
"totalContributors": "{count} colaboradores",
|
||||
"topCategories": "Categorías principales"
|
||||
},
|
||||
"cityAdd": {
|
||||
"title": "Agregar nueva ciudad",
|
||||
"subtitle": "Agrega una ciudad, pueblo o localidad",
|
||||
"name": "Nombre",
|
||||
"namePlaceholder": "ej. Madrid",
|
||||
"country": "País",
|
||||
"countryPlaceholder": "ej. España",
|
||||
"state": "Comunidad / Región (opcional)",
|
||||
"statePlaceholder": "ej. Comunidad de Madrid",
|
||||
"description": "Descripción (opcional)",
|
||||
"descriptionPlaceholder": "¿Qué hace especial a este lugar?",
|
||||
"imageUrl": "URL de imagen (opcional)",
|
||||
"imageUrlPlaceholder": "https://example.com/imagen.jpg",
|
||||
"submit": "Agregar ciudad",
|
||||
"submitting": "Creando...",
|
||||
"loginRequired": "Inicia sesión para agregar ciudades.",
|
||||
"error": "Error al crear. Inténtalo de nuevo.",
|
||||
"geocoding": "Buscando coordenadas...",
|
||||
"coordinatesFound": "Coordenadas encontradas",
|
||||
"slugExists": "Ya existe una ciudad con este nombre."
|
||||
},
|
||||
"home": {
|
||||
"title": "Descubrir lugares",
|
||||
"subtitle": "Monumentos, restaurantes, museos y más",
|
||||
"all": "Todos",
|
||||
"loading": "Cargando...",
|
||||
"noResults": "No se encontraron lugares.",
|
||||
"noResultsCategory": "No se encontraron {category}.",
|
||||
"addFirst": "Agrega el primer lugar",
|
||||
"loadMore": "Cargar más"
|
||||
},
|
||||
"categories": {
|
||||
"sight": "Monumentos",
|
||||
"restaurant": "Restaurantes",
|
||||
"shop": "Tiendas",
|
||||
"museum": "Museos",
|
||||
"cafe": "Cafeterías",
|
||||
"bar": "Bares",
|
||||
"park": "Parques",
|
||||
"beach": "Playas",
|
||||
"hotel": "Hoteles",
|
||||
"event_venue": "Salas de eventos",
|
||||
"viewpoint": "Miradores"
|
||||
},
|
||||
"category": {
|
||||
"sight": "Monumento",
|
||||
"restaurant": "Restaurante",
|
||||
"shop": "Tienda",
|
||||
"museum": "Museo",
|
||||
"cafe": "Cafetería",
|
||||
"bar": "Bar",
|
||||
"park": "Parque",
|
||||
"beach": "Playa",
|
||||
"hotel": "Hotel",
|
||||
"event_venue": "Sala de eventos",
|
||||
"viewpoint": "Mirador"
|
||||
},
|
||||
"detail": {
|
||||
"history": "Historia",
|
||||
"openInMaps": "OSM",
|
||||
"showOnMap": "En el mapa",
|
||||
"directions": "Cómo llegar",
|
||||
"share": "Compartir",
|
||||
"linkCopied": "¡Enlace copiado!",
|
||||
"showDetails": "Detalles",
|
||||
"back": "Volver al listado",
|
||||
"notFound": "Lugar no encontrado.",
|
||||
"edit": "Editar",
|
||||
"delete": "Eliminar",
|
||||
"deleteConfirm": "¿Seguro que quieres eliminar este lugar? No se puede deshacer.",
|
||||
"confirmDelete": "Eliminar definitivamente",
|
||||
"deleting": "Eliminando...",
|
||||
"cancel": "Cancelar",
|
||||
"nearby": "Cerca",
|
||||
"website": "Sitio web",
|
||||
"phone": "Teléfono",
|
||||
"openingHours": "Horario",
|
||||
"closed": "Cerrado",
|
||||
"openNow": "Abierto ahora",
|
||||
"closedNow": "Cerrado"
|
||||
},
|
||||
"days": {
|
||||
"mo": "Lunes",
|
||||
"tu": "Martes",
|
||||
"we": "Miércoles",
|
||||
"th": "Jueves",
|
||||
"fr": "Viernes",
|
||||
"sa": "Sábado",
|
||||
"su": "Domingo"
|
||||
},
|
||||
"gallery": {
|
||||
"addPhoto": "Agregar foto",
|
||||
"add": "Agregar",
|
||||
"addError": "No se pudo agregar la foto."
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoritos",
|
||||
"subtitle": "Tus lugares guardados",
|
||||
"empty": "Aún no hay favoritos. Toca el corazón en un lugar para guardarlo.",
|
||||
"loginRequired": "Inicia sesión para guardar favoritos.",
|
||||
"add": "Agregar a favoritos",
|
||||
"remove": "Quitar de favoritos",
|
||||
"tabFavorites": "Favoritos",
|
||||
"tabCollections": "Colecciones"
|
||||
},
|
||||
"collections": {
|
||||
"title": "Colecciones",
|
||||
"empty": "Aún no hay colecciones.",
|
||||
"create": "Crear colección",
|
||||
"name": "Nombre",
|
||||
"namePlaceholder": "ej. Mis restaurantes favoritos",
|
||||
"description": "Descripción (opcional)",
|
||||
"descriptionPlaceholder": "¿De qué trata esta colección?",
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"locations": "{count} lugares",
|
||||
"noLocations": "No hay lugares en esta colección.",
|
||||
"delete": "Eliminar colección",
|
||||
"deleteConfirm": "¿Seguro que quieres eliminar esta colección?",
|
||||
"back": "Volver a colecciones"
|
||||
},
|
||||
"map": {
|
||||
"title": "Mapa",
|
||||
"subtitle": "Todos los lugares en el mapa",
|
||||
"locateMe": "Mi ubicación",
|
||||
"yourLocation": "Estás aquí",
|
||||
"geolocationNotSupported": "La geolocalización no está disponible.",
|
||||
"geolocationError": "No se pudo determinar la ubicación.",
|
||||
"filterAll": "Todos"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Buscar lugares...",
|
||||
"noResults": "Sin resultados",
|
||||
"searching": "Buscando..."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Ajustes",
|
||||
"appearance": "Apariencia",
|
||||
"mode": "Modo",
|
||||
"light": "Claro",
|
||||
"dark": "Oscuro",
|
||||
"system": "Sistema",
|
||||
"colorScheme": "Esquema de color",
|
||||
"account": "Cuenta",
|
||||
"email": "Email",
|
||||
"logout": "Cerrar sesión",
|
||||
"loginPrompt": "Inicia sesión para guardar favoritos y usar todas las funciones.",
|
||||
"login": "Iniciar sesión",
|
||||
"register": "Registrarse",
|
||||
"about": "Sobre CityCorners",
|
||||
"aboutText": "CityCorners es una plataforma abierta para guías de ciudades en todo el mundo. Descubre lugares compartidos por la comunidad o agrega tu propia ciudad."
|
||||
},
|
||||
"auth": {
|
||||
"loginTitle": "Login - CityCorners",
|
||||
"registerTitle": "Registro - CityCorners"
|
||||
},
|
||||
"add": {
|
||||
"title": "Agregar un lugar",
|
||||
"subtitle": "Comparte tu sitio favorito",
|
||||
"name": "Nombre",
|
||||
"namePlaceholder": "ej. Café del Lago",
|
||||
"category": "Categoría",
|
||||
"description": "Descripción",
|
||||
"descriptionPlaceholder": "¿Qué hace especial a este lugar?",
|
||||
"minChars": "Mínimo 10 caracteres",
|
||||
"address": "Dirección (opcional)",
|
||||
"addressPlaceholder": "ej. Calle Mayor 1",
|
||||
"searchTitle": "Buscar un lugar en línea",
|
||||
"searchSubtitle": "Encontraremos la información y rellenaremos el formulario automáticamente.",
|
||||
"searchPlaceholder": "ej. Café Zeitlos",
|
||||
"searchButton": "Buscar",
|
||||
"skipSearch": "Omitir e ingresar manualmente",
|
||||
"foundSources": "Fuentes encontradas:",
|
||||
"reset": "Atrás",
|
||||
"submit": "Enviar lugar",
|
||||
"submitting": "Enviando...",
|
||||
"loginRequired": "Inicia sesión para agregar lugares.",
|
||||
"error": "Error al enviar. Inténtalo de nuevo.",
|
||||
"imageUrl": "URL de imagen (opcional)",
|
||||
"imageUrlPlaceholder": "https://example.com/imagen.jpg",
|
||||
"imagePreview": "Vista previa de imagen",
|
||||
"imageLoadError": "No se pudo cargar la imagen.",
|
||||
"imageRetry": "Reintentar",
|
||||
"geocoding": "Buscando coordenadas...",
|
||||
"coordinatesFound": "Coordenadas encontradas",
|
||||
"website": "Sitio web (opcional)",
|
||||
"websitePlaceholder": "https://example.com",
|
||||
"phone": "Teléfono (opcional)",
|
||||
"phonePlaceholder": "+34 91 123 4567"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Editar lugar",
|
||||
"subtitle": "Actualiza los detalles de este lugar",
|
||||
"save": "Guardar cambios",
|
||||
"saving": "Guardando...",
|
||||
"cancel": "Cancelar",
|
||||
"error": "Error al guardar. Inténtalo de nuevo.",
|
||||
"loadError": "No se pudo cargar el lugar.",
|
||||
"forbidden": "Solo puedes editar tus propios lugares."
|
||||
},
|
||||
"reviews": {
|
||||
"title": "Reseñas",
|
||||
"write": "Escribir reseña",
|
||||
"yourRating": "Tu valoración",
|
||||
"commentPlaceholder": "¿Qué te gustó? (opcional)",
|
||||
"submit": "Enviar",
|
||||
"submitting": "Enviando...",
|
||||
"loginRequired": "Inicia sesión para escribir una reseña.",
|
||||
"alreadyReviewed": "Ya has opinado sobre este lugar.",
|
||||
"deleteConfirm": "¿Eliminar reseña?",
|
||||
"delete": "Eliminar",
|
||||
"noReviews": "Aún no hay reseñas. ¡Sé el primero!",
|
||||
"error": "No se pudo guardar la reseña.",
|
||||
"count": "{count} reseñas",
|
||||
"countOne": "1 reseña"
|
||||
},
|
||||
"offline": {
|
||||
"title": "Sin conexión",
|
||||
"message": "Estás sin conexión. Puedes seguir usando CityCorners cuando tengas conexión a internet.",
|
||||
"retry": "Reintentar"
|
||||
}
|
||||
}
|
||||
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/fr.json
Normal file
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/fr.json
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "CityCorners",
|
||||
"tagline": "Découvrez des villes du monde entier"
|
||||
},
|
||||
"nav": {
|
||||
"explore": "Explorer",
|
||||
"map": "Carte",
|
||||
"add": "Ajouter",
|
||||
"favorites": "Favoris",
|
||||
"settings": "Paramètres",
|
||||
"showNav": "Afficher la navigation",
|
||||
"hideNav": "Masquer la navigation",
|
||||
"cities": "Villes"
|
||||
},
|
||||
"cities": {
|
||||
"title": "Découvrir des villes",
|
||||
"subtitle": "Par la communauté, pour la communauté",
|
||||
"search": "Rechercher des villes...",
|
||||
"add": "Ajouter une ville",
|
||||
"empty": "Pas encore de villes. Soyez le premier !",
|
||||
"locationsCount": "{count} lieux",
|
||||
"noLocationsYet": "Pas encore de lieux",
|
||||
"contributors": "{count} contributeurs",
|
||||
"contributorsOne": "1 contributeur",
|
||||
"onMap": "{count} sur la carte",
|
||||
"recentlyAdded": "Ajoutés récemment",
|
||||
"stats": "Statistiques",
|
||||
"totalCities": "{count} villes",
|
||||
"totalLocations": "{count} lieux",
|
||||
"totalContributors": "{count} contributeurs",
|
||||
"topCategories": "Catégories principales"
|
||||
},
|
||||
"cityAdd": {
|
||||
"title": "Ajouter une ville",
|
||||
"subtitle": "Ajoutez une ville, un village ou une localité",
|
||||
"name": "Nom",
|
||||
"namePlaceholder": "ex. Paris",
|
||||
"country": "Pays",
|
||||
"countryPlaceholder": "ex. France",
|
||||
"state": "Région / Département (optionnel)",
|
||||
"statePlaceholder": "ex. Île-de-France",
|
||||
"description": "Description (optionnel)",
|
||||
"descriptionPlaceholder": "Qu'est-ce qui rend cet endroit spécial ?",
|
||||
"imageUrl": "URL de l'image (optionnel)",
|
||||
"imageUrlPlaceholder": "https://example.com/image.jpg",
|
||||
"submit": "Ajouter la ville",
|
||||
"submitting": "Création...",
|
||||
"loginRequired": "Connectez-vous pour ajouter des villes.",
|
||||
"error": "Échec de la création. Veuillez réessayer.",
|
||||
"geocoding": "Recherche des coordonnées...",
|
||||
"coordinatesFound": "Coordonnées trouvées",
|
||||
"slugExists": "Une ville avec ce nom existe déjà."
|
||||
},
|
||||
"home": {
|
||||
"title": "Découvrir des lieux",
|
||||
"subtitle": "Monuments, restaurants, musées et plus",
|
||||
"all": "Tous",
|
||||
"loading": "Chargement...",
|
||||
"noResults": "Aucun lieu trouvé.",
|
||||
"noResultsCategory": "Aucun {category} trouvé.",
|
||||
"addFirst": "Ajoutez le premier lieu",
|
||||
"loadMore": "Charger plus"
|
||||
},
|
||||
"categories": {
|
||||
"sight": "Monuments",
|
||||
"restaurant": "Restaurants",
|
||||
"shop": "Boutiques",
|
||||
"museum": "Musées",
|
||||
"cafe": "Cafés",
|
||||
"bar": "Bars",
|
||||
"park": "Parcs",
|
||||
"beach": "Plages",
|
||||
"hotel": "Hôtels",
|
||||
"event_venue": "Salles d'événements",
|
||||
"viewpoint": "Points de vue"
|
||||
},
|
||||
"category": {
|
||||
"sight": "Monument",
|
||||
"restaurant": "Restaurant",
|
||||
"shop": "Boutique",
|
||||
"museum": "Musée",
|
||||
"cafe": "Café",
|
||||
"bar": "Bar",
|
||||
"park": "Parc",
|
||||
"beach": "Plage",
|
||||
"hotel": "Hôtel",
|
||||
"event_venue": "Salle d'événements",
|
||||
"viewpoint": "Point de vue"
|
||||
},
|
||||
"detail": {
|
||||
"history": "Histoire",
|
||||
"openInMaps": "OSM",
|
||||
"showOnMap": "Sur la carte",
|
||||
"directions": "Itinéraire",
|
||||
"share": "Partager",
|
||||
"linkCopied": "Lien copié !",
|
||||
"showDetails": "Détails",
|
||||
"back": "Retour à la liste",
|
||||
"notFound": "Lieu introuvable.",
|
||||
"edit": "Modifier",
|
||||
"delete": "Supprimer",
|
||||
"deleteConfirm": "Voulez-vous vraiment supprimer ce lieu ? Cette action est irréversible.",
|
||||
"confirmDelete": "Supprimer définitivement",
|
||||
"deleting": "Suppression...",
|
||||
"cancel": "Annuler",
|
||||
"nearby": "À proximité",
|
||||
"website": "Site web",
|
||||
"phone": "Téléphone",
|
||||
"openingHours": "Horaires d'ouverture",
|
||||
"closed": "Fermé",
|
||||
"openNow": "Ouvert",
|
||||
"closedNow": "Fermé"
|
||||
},
|
||||
"days": {
|
||||
"mo": "Lundi",
|
||||
"tu": "Mardi",
|
||||
"we": "Mercredi",
|
||||
"th": "Jeudi",
|
||||
"fr": "Vendredi",
|
||||
"sa": "Samedi",
|
||||
"su": "Dimanche"
|
||||
},
|
||||
"gallery": {
|
||||
"addPhoto": "Ajouter une photo",
|
||||
"add": "Ajouter",
|
||||
"addError": "Impossible d'ajouter la photo."
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoris",
|
||||
"subtitle": "Vos lieux enregistrés",
|
||||
"empty": "Pas encore de favoris. Appuyez sur le cœur pour sauvegarder un lieu.",
|
||||
"loginRequired": "Connectez-vous pour sauvegarder vos favoris.",
|
||||
"add": "Ajouter aux favoris",
|
||||
"remove": "Retirer des favoris",
|
||||
"tabFavorites": "Favoris",
|
||||
"tabCollections": "Collections"
|
||||
},
|
||||
"collections": {
|
||||
"title": "Collections",
|
||||
"empty": "Pas encore de collections.",
|
||||
"create": "Créer une collection",
|
||||
"name": "Nom",
|
||||
"namePlaceholder": "ex. Mes restaurants préférés",
|
||||
"description": "Description (optionnel)",
|
||||
"descriptionPlaceholder": "De quoi parle cette collection ?",
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"locations": "{count} lieux",
|
||||
"noLocations": "Aucun lieu dans cette collection.",
|
||||
"delete": "Supprimer la collection",
|
||||
"deleteConfirm": "Voulez-vous vraiment supprimer cette collection ?",
|
||||
"back": "Retour aux collections"
|
||||
},
|
||||
"map": {
|
||||
"title": "Carte",
|
||||
"subtitle": "Tous les lieux sur la carte",
|
||||
"locateMe": "Ma position",
|
||||
"yourLocation": "Vous êtes ici",
|
||||
"geolocationNotSupported": "La géolocalisation n'est pas disponible.",
|
||||
"geolocationError": "Impossible de déterminer la position.",
|
||||
"filterAll": "Tous"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Rechercher des lieux...",
|
||||
"noResults": "Aucun résultat",
|
||||
"searching": "Recherche..."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Paramètres",
|
||||
"appearance": "Apparence",
|
||||
"mode": "Mode",
|
||||
"light": "Clair",
|
||||
"dark": "Sombre",
|
||||
"system": "Système",
|
||||
"colorScheme": "Thème de couleur",
|
||||
"account": "Compte",
|
||||
"email": "Email",
|
||||
"logout": "Déconnexion",
|
||||
"loginPrompt": "Connectez-vous pour sauvegarder vos favoris et utiliser toutes les fonctions.",
|
||||
"login": "Connexion",
|
||||
"register": "Inscription",
|
||||
"about": "À propos de CityCorners",
|
||||
"aboutText": "CityCorners est une plateforme ouverte de guides de villes du monde entier. Découvrez des lieux partagés par la communauté ou ajoutez votre propre ville."
|
||||
},
|
||||
"auth": {
|
||||
"loginTitle": "Connexion - CityCorners",
|
||||
"registerTitle": "Inscription - CityCorners"
|
||||
},
|
||||
"add": {
|
||||
"title": "Ajouter un lieu",
|
||||
"subtitle": "Partagez votre endroit préféré",
|
||||
"name": "Nom",
|
||||
"namePlaceholder": "ex. Café du Lac",
|
||||
"category": "Catégorie",
|
||||
"description": "Description",
|
||||
"descriptionPlaceholder": "Qu'est-ce qui rend cet endroit spécial ?",
|
||||
"minChars": "Au moins 10 caractères",
|
||||
"address": "Adresse (optionnel)",
|
||||
"addressPlaceholder": "ex. 1 Rue Principale",
|
||||
"searchTitle": "Rechercher un lieu en ligne",
|
||||
"searchSubtitle": "Nous trouverons les informations et pré-remplirons le formulaire.",
|
||||
"searchPlaceholder": "ex. Café Zeitlos",
|
||||
"searchButton": "Rechercher",
|
||||
"skipSearch": "Passer et saisir manuellement",
|
||||
"foundSources": "Sources trouvées :",
|
||||
"reset": "Retour",
|
||||
"submit": "Soumettre le lieu",
|
||||
"submitting": "Envoi...",
|
||||
"loginRequired": "Connectez-vous pour ajouter des lieux.",
|
||||
"error": "Échec de l'envoi. Veuillez réessayer.",
|
||||
"imageUrl": "URL de l'image (optionnel)",
|
||||
"imageUrlPlaceholder": "https://example.com/image.jpg",
|
||||
"imagePreview": "Aperçu de l'image",
|
||||
"imageLoadError": "Impossible de charger l'image.",
|
||||
"imageRetry": "Réessayer",
|
||||
"geocoding": "Recherche des coordonnées...",
|
||||
"coordinatesFound": "Coordonnées trouvées",
|
||||
"website": "Site web (optionnel)",
|
||||
"websitePlaceholder": "https://example.com",
|
||||
"phone": "Téléphone (optionnel)",
|
||||
"phonePlaceholder": "+33 1 23 45 67 89"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Modifier le lieu",
|
||||
"subtitle": "Mettez à jour les détails de ce lieu",
|
||||
"save": "Enregistrer",
|
||||
"saving": "Enregistrement...",
|
||||
"cancel": "Annuler",
|
||||
"error": "Échec de la sauvegarde. Veuillez réessayer.",
|
||||
"loadError": "Impossible de charger le lieu.",
|
||||
"forbidden": "Vous ne pouvez modifier que vos propres lieux."
|
||||
},
|
||||
"reviews": {
|
||||
"title": "Avis",
|
||||
"write": "Écrire un avis",
|
||||
"yourRating": "Votre note",
|
||||
"commentPlaceholder": "Qu'avez-vous aimé ? (optionnel)",
|
||||
"submit": "Envoyer",
|
||||
"submitting": "Envoi...",
|
||||
"loginRequired": "Connectez-vous pour écrire un avis.",
|
||||
"alreadyReviewed": "Vous avez déjà donné votre avis sur ce lieu.",
|
||||
"deleteConfirm": "Supprimer l'avis ?",
|
||||
"delete": "Supprimer",
|
||||
"noReviews": "Pas encore d'avis. Soyez le premier !",
|
||||
"error": "Impossible de sauvegarder l'avis.",
|
||||
"count": "{count} avis",
|
||||
"countOne": "1 avis"
|
||||
},
|
||||
"offline": {
|
||||
"title": "Pas de connexion",
|
||||
"message": "Vous êtes hors ligne. Vous pourrez utiliser CityCorners dès que vous aurez une connexion internet.",
|
||||
"retry": "Réessayer"
|
||||
}
|
||||
}
|
||||
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/it.json
Normal file
255
apps/manacore/apps/web/src/lib/i18n/locales/citycorners/it.json
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "CityCorners",
|
||||
"tagline": "Scopri città in tutto il mondo"
|
||||
},
|
||||
"nav": {
|
||||
"explore": "Esplora",
|
||||
"map": "Mappa",
|
||||
"add": "Aggiungi",
|
||||
"favorites": "Preferiti",
|
||||
"settings": "Impostazioni",
|
||||
"showNav": "Mostra navigazione",
|
||||
"hideNav": "Nascondi navigazione",
|
||||
"cities": "Città"
|
||||
},
|
||||
"cities": {
|
||||
"title": "Scopri città",
|
||||
"subtitle": "Dalla community, per la community",
|
||||
"search": "Cerca città...",
|
||||
"add": "Aggiungi città",
|
||||
"empty": "Ancora nessuna città. Sii il primo!",
|
||||
"locationsCount": "{count} luoghi",
|
||||
"noLocationsYet": "Ancora nessun luogo",
|
||||
"contributors": "{count} collaboratori",
|
||||
"contributorsOne": "1 collaboratore",
|
||||
"onMap": "{count} sulla mappa",
|
||||
"recentlyAdded": "Aggiunti di recente",
|
||||
"stats": "Statistiche",
|
||||
"totalCities": "{count} città",
|
||||
"totalLocations": "{count} luoghi",
|
||||
"totalContributors": "{count} collaboratori",
|
||||
"topCategories": "Categorie principali"
|
||||
},
|
||||
"cityAdd": {
|
||||
"title": "Aggiungi nuova città",
|
||||
"subtitle": "Aggiungi una città, un paese o una località",
|
||||
"name": "Nome",
|
||||
"namePlaceholder": "es. Roma",
|
||||
"country": "Paese",
|
||||
"countryPlaceholder": "es. Italia",
|
||||
"state": "Regione / Provincia (opzionale)",
|
||||
"statePlaceholder": "es. Lazio",
|
||||
"description": "Descrizione (opzionale)",
|
||||
"descriptionPlaceholder": "Cosa rende speciale questo posto?",
|
||||
"imageUrl": "URL immagine (opzionale)",
|
||||
"imageUrlPlaceholder": "https://example.com/immagine.jpg",
|
||||
"submit": "Aggiungi città",
|
||||
"submitting": "Creazione...",
|
||||
"loginRequired": "Accedi per aggiungere città.",
|
||||
"error": "Creazione fallita. Riprova.",
|
||||
"geocoding": "Ricerca coordinate...",
|
||||
"coordinatesFound": "Coordinate trovate",
|
||||
"slugExists": "Esiste già una città con questo nome."
|
||||
},
|
||||
"home": {
|
||||
"title": "Scopri luoghi",
|
||||
"subtitle": "Monumenti, ristoranti, musei e altro",
|
||||
"all": "Tutti",
|
||||
"loading": "Caricamento...",
|
||||
"noResults": "Nessun luogo trovato.",
|
||||
"noResultsCategory": "Nessun {category} trovato.",
|
||||
"addFirst": "Aggiungi il primo luogo",
|
||||
"loadMore": "Carica altri"
|
||||
},
|
||||
"categories": {
|
||||
"sight": "Monumenti",
|
||||
"restaurant": "Ristoranti",
|
||||
"shop": "Negozi",
|
||||
"museum": "Musei",
|
||||
"cafe": "Caffè",
|
||||
"bar": "Bar",
|
||||
"park": "Parchi",
|
||||
"beach": "Spiagge",
|
||||
"hotel": "Hotel",
|
||||
"event_venue": "Sale eventi",
|
||||
"viewpoint": "Punti panoramici"
|
||||
},
|
||||
"category": {
|
||||
"sight": "Monumento",
|
||||
"restaurant": "Ristorante",
|
||||
"shop": "Negozio",
|
||||
"museum": "Museo",
|
||||
"cafe": "Caffè",
|
||||
"bar": "Bar",
|
||||
"park": "Parco",
|
||||
"beach": "Spiaggia",
|
||||
"hotel": "Hotel",
|
||||
"event_venue": "Sala eventi",
|
||||
"viewpoint": "Punto panoramico"
|
||||
},
|
||||
"detail": {
|
||||
"history": "Storia",
|
||||
"openInMaps": "OSM",
|
||||
"showOnMap": "Sulla mappa",
|
||||
"directions": "Indicazioni",
|
||||
"share": "Condividi",
|
||||
"linkCopied": "Link copiato!",
|
||||
"showDetails": "Dettagli",
|
||||
"back": "Torna alla lista",
|
||||
"notFound": "Luogo non trovato.",
|
||||
"edit": "Modifica",
|
||||
"delete": "Elimina",
|
||||
"deleteConfirm": "Vuoi davvero eliminare questo luogo? Non è possibile annullare.",
|
||||
"confirmDelete": "Elimina definitivamente",
|
||||
"deleting": "Eliminazione...",
|
||||
"cancel": "Annulla",
|
||||
"nearby": "Nelle vicinanze",
|
||||
"website": "Sito web",
|
||||
"phone": "Telefono",
|
||||
"openingHours": "Orari di apertura",
|
||||
"closed": "Chiuso",
|
||||
"openNow": "Aperto ora",
|
||||
"closedNow": "Chiuso"
|
||||
},
|
||||
"days": {
|
||||
"mo": "Lunedì",
|
||||
"tu": "Martedì",
|
||||
"we": "Mercoledì",
|
||||
"th": "Giovedì",
|
||||
"fr": "Venerdì",
|
||||
"sa": "Sabato",
|
||||
"su": "Domenica"
|
||||
},
|
||||
"gallery": {
|
||||
"addPhoto": "Aggiungi foto",
|
||||
"add": "Aggiungi",
|
||||
"addError": "Impossibile aggiungere la foto."
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Preferiti",
|
||||
"subtitle": "I tuoi luoghi salvati",
|
||||
"empty": "Ancora nessun preferito. Tocca il cuore su un luogo per salvarlo.",
|
||||
"loginRequired": "Accedi per salvare i preferiti.",
|
||||
"add": "Aggiungi ai preferiti",
|
||||
"remove": "Rimuovi dai preferiti",
|
||||
"tabFavorites": "Preferiti",
|
||||
"tabCollections": "Collezioni"
|
||||
},
|
||||
"collections": {
|
||||
"title": "Collezioni",
|
||||
"empty": "Ancora nessuna collezione.",
|
||||
"create": "Crea collezione",
|
||||
"name": "Nome",
|
||||
"namePlaceholder": "es. I miei ristoranti preferiti",
|
||||
"description": "Descrizione (opzionale)",
|
||||
"descriptionPlaceholder": "Di cosa tratta questa collezione?",
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"locations": "{count} luoghi",
|
||||
"noLocations": "Nessun luogo in questa collezione.",
|
||||
"delete": "Elimina collezione",
|
||||
"deleteConfirm": "Vuoi davvero eliminare questa collezione?",
|
||||
"back": "Torna alle collezioni"
|
||||
},
|
||||
"map": {
|
||||
"title": "Mappa",
|
||||
"subtitle": "Tutti i luoghi sulla mappa",
|
||||
"locateMe": "La mia posizione",
|
||||
"yourLocation": "Sei qui",
|
||||
"geolocationNotSupported": "La geolocalizzazione non è disponibile.",
|
||||
"geolocationError": "Impossibile determinare la posizione.",
|
||||
"filterAll": "Tutti"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Cerca luoghi...",
|
||||
"noResults": "Nessun risultato",
|
||||
"searching": "Ricerca..."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Impostazioni",
|
||||
"appearance": "Aspetto",
|
||||
"mode": "Modalità",
|
||||
"light": "Chiaro",
|
||||
"dark": "Scuro",
|
||||
"system": "Sistema",
|
||||
"colorScheme": "Schema colori",
|
||||
"account": "Account",
|
||||
"email": "Email",
|
||||
"logout": "Esci",
|
||||
"loginPrompt": "Accedi per salvare i preferiti e usare tutte le funzioni.",
|
||||
"login": "Accedi",
|
||||
"register": "Registrati",
|
||||
"about": "Informazioni su CityCorners",
|
||||
"aboutText": "CityCorners è una piattaforma aperta per guide di città in tutto il mondo. Scopri luoghi condivisi dalla community o aggiungi la tua città."
|
||||
},
|
||||
"auth": {
|
||||
"loginTitle": "Login - CityCorners",
|
||||
"registerTitle": "Registrazione - CityCorners"
|
||||
},
|
||||
"add": {
|
||||
"title": "Aggiungi un luogo",
|
||||
"subtitle": "Condividi il tuo posto preferito",
|
||||
"name": "Nome",
|
||||
"namePlaceholder": "es. Caffè del Lago",
|
||||
"category": "Categoria",
|
||||
"description": "Descrizione",
|
||||
"descriptionPlaceholder": "Cosa rende speciale questo posto?",
|
||||
"minChars": "Almeno 10 caratteri",
|
||||
"address": "Indirizzo (opzionale)",
|
||||
"addressPlaceholder": "es. Via Roma 1",
|
||||
"searchTitle": "Cerca un luogo online",
|
||||
"searchSubtitle": "Troveremo le informazioni e compileremo il modulo automaticamente.",
|
||||
"searchPlaceholder": "es. Caffè Zeitlos",
|
||||
"searchButton": "Cerca",
|
||||
"skipSearch": "Salta e inserisci manualmente",
|
||||
"foundSources": "Fonti trovate:",
|
||||
"reset": "Indietro",
|
||||
"submit": "Invia luogo",
|
||||
"submitting": "Invio...",
|
||||
"loginRequired": "Accedi per aggiungere luoghi.",
|
||||
"error": "Invio fallito. Riprova.",
|
||||
"imageUrl": "URL immagine (opzionale)",
|
||||
"imageUrlPlaceholder": "https://example.com/immagine.jpg",
|
||||
"imagePreview": "Anteprima immagine",
|
||||
"imageLoadError": "Impossibile caricare l'immagine.",
|
||||
"imageRetry": "Riprova",
|
||||
"geocoding": "Ricerca coordinate...",
|
||||
"coordinatesFound": "Coordinate trovate",
|
||||
"website": "Sito web (opzionale)",
|
||||
"websitePlaceholder": "https://example.com",
|
||||
"phone": "Telefono (opzionale)",
|
||||
"phonePlaceholder": "+39 06 1234567"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Modifica luogo",
|
||||
"subtitle": "Aggiorna i dettagli di questo luogo",
|
||||
"save": "Salva modifiche",
|
||||
"saving": "Salvataggio...",
|
||||
"cancel": "Annulla",
|
||||
"error": "Salvataggio fallito. Riprova.",
|
||||
"loadError": "Impossibile caricare il luogo.",
|
||||
"forbidden": "Puoi modificare solo i tuoi luoghi."
|
||||
},
|
||||
"reviews": {
|
||||
"title": "Recensioni",
|
||||
"write": "Scrivi una recensione",
|
||||
"yourRating": "La tua valutazione",
|
||||
"commentPlaceholder": "Cosa ti è piaciuto? (opzionale)",
|
||||
"submit": "Invia",
|
||||
"submitting": "Invio...",
|
||||
"loginRequired": "Accedi per scrivere una recensione.",
|
||||
"alreadyReviewed": "Hai già recensito questo luogo.",
|
||||
"deleteConfirm": "Eliminare la recensione?",
|
||||
"delete": "Elimina",
|
||||
"noReviews": "Ancora nessuna recensione. Sii il primo!",
|
||||
"error": "Impossibile salvare la recensione.",
|
||||
"count": "{count} recensioni",
|
||||
"countOne": "1 recensione"
|
||||
},
|
||||
"offline": {
|
||||
"title": "Nessuna connessione",
|
||||
"message": "Sei offline. Potrai usare CityCorners quando avrai una connessione internet.",
|
||||
"retry": "Riprova"
|
||||
}
|
||||
}
|
||||
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/de.json
Normal file
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/de.json
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Contacts"
|
||||
},
|
||||
"common": {
|
||||
"back": "Zurück",
|
||||
"cancel": "Abbrechen",
|
||||
"loadingMore": "Lade weitere..."
|
||||
},
|
||||
"nav": {
|
||||
"contacts": "Kontakte",
|
||||
"groups": "Gruppen",
|
||||
"tags": "Tags",
|
||||
"favorites": "Favoriten",
|
||||
"archive": "Archiv",
|
||||
"search": "Suche",
|
||||
"settings": "Einstellungen",
|
||||
"feedback": "Feedback",
|
||||
"import": "Importieren"
|
||||
},
|
||||
"import": {
|
||||
"title": "Kontakte importieren",
|
||||
"subtitle": "Importiere Kontakte aus vCard- oder CSV-Dateien",
|
||||
"tabs": {
|
||||
"file": "Datei-Import",
|
||||
"google": "Google Kontakte"
|
||||
},
|
||||
"processing": "Datei wird verarbeitet...",
|
||||
"importing": "Importiere...",
|
||||
"downloadTemplate": "CSV-Vorlage herunterladen",
|
||||
"dropzone": {
|
||||
"title": "Datei hierher ziehen",
|
||||
"subtitle": "oder klicken zum Auswählen"
|
||||
},
|
||||
"preview": {
|
||||
"total": "Gesamt",
|
||||
"valid": "Gültig",
|
||||
"duplicates": "Duplikate",
|
||||
"selected": "Ausgewählt",
|
||||
"errors": "Fehler beim Parsen",
|
||||
"duplicateHandling": "Wie sollen Duplikate behandelt werden?",
|
||||
"skip": "Überspringen",
|
||||
"merge": "Zusammenführen",
|
||||
"create": "Trotzdem erstellen",
|
||||
"contacts": "Kontakte zum Importieren",
|
||||
"selectAll": "Alle auswählen",
|
||||
"deselectAll": "Alle abwählen",
|
||||
"duplicateTag": "Duplikat",
|
||||
"matchesWith": "Stimmt überein mit",
|
||||
"importButton": "{count} Kontakte importieren"
|
||||
},
|
||||
"result": {
|
||||
"title": "Import abgeschlossen",
|
||||
"subtitle": "Deine Kontakte wurden erfolgreich importiert",
|
||||
"imported": "Importiert",
|
||||
"merged": "Zusammengeführt",
|
||||
"skipped": "Übersprungen",
|
||||
"errors": "Fehler",
|
||||
"importMore": "Weitere importieren",
|
||||
"done": "Fertig"
|
||||
}
|
||||
},
|
||||
"contacts": {
|
||||
"title": "Kontakte",
|
||||
"new": "Neuer Kontakt",
|
||||
"edit": "Bearbeiten",
|
||||
"delete": "Löschen",
|
||||
"search": "Kontakte durchsuchen...",
|
||||
"noContacts": "Keine Kontakte gefunden",
|
||||
"addFirst": "Füge deinen ersten Kontakt hinzu",
|
||||
"me": "Ich",
|
||||
"myCard": "Meine Karte",
|
||||
"favorites": "Favoriten",
|
||||
"archive": "Archiv",
|
||||
"contact": "Kontakt",
|
||||
"contactsPlural": "Kontakte",
|
||||
"call": "Anrufen",
|
||||
"email": "E-Mail senden",
|
||||
"favorite": "Als Favorit markieren",
|
||||
"unfavorite": "Favorit entfernen"
|
||||
},
|
||||
"views": {
|
||||
"list": "Listenansicht",
|
||||
"grid": "Kachelansicht",
|
||||
"alphabet": "Alphabetisch"
|
||||
},
|
||||
"sort": {
|
||||
"firstName": "Vorname",
|
||||
"lastName": "Nachname"
|
||||
},
|
||||
"contact": {
|
||||
"firstName": "Vorname",
|
||||
"lastName": "Nachname",
|
||||
"displayName": "Anzeigename",
|
||||
"email": "E-Mail",
|
||||
"phone": "Telefon",
|
||||
"mobile": "Mobil",
|
||||
"company": "Firma",
|
||||
"jobTitle": "Position",
|
||||
"department": "Abteilung",
|
||||
"street": "Straße",
|
||||
"city": "Stadt",
|
||||
"postalCode": "PLZ",
|
||||
"country": "Land",
|
||||
"website": "Website",
|
||||
"birthday": "Geburtstag",
|
||||
"notes": "Notizen",
|
||||
"tasks": {
|
||||
"title": "Aufgaben",
|
||||
"assigned": "Zugewiesen",
|
||||
"involved": "Beteiligt",
|
||||
"empty": "Keine Aufgaben für diesen Kontakt",
|
||||
"serviceUnavailable": "Todo-Service nicht erreichbar",
|
||||
"error": "Fehler beim Laden der Aufgaben",
|
||||
"overdue": "Überfällig",
|
||||
"dueToday": "Heute",
|
||||
"tomorrow": "Morgen",
|
||||
"showCompleted": "Erledigte",
|
||||
"showMore": "{count} weitere anzeigen",
|
||||
"markComplete": "Als erledigt markieren",
|
||||
"markIncomplete": "Als unerledigt markieren"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"title": "Gruppen",
|
||||
"new": "Neue Gruppe",
|
||||
"noGroups": "Keine Gruppen vorhanden"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"create": "Erstellen",
|
||||
"favorite": "Favorit",
|
||||
"unfavorite": "Kein Favorit",
|
||||
"archive": "Archivieren",
|
||||
"unarchive": "Wiederherstellen"
|
||||
},
|
||||
"messages": {
|
||||
"saved": "Gespeichert",
|
||||
"deleted": "Gelöscht",
|
||||
"error": "Ein Fehler ist aufgetreten"
|
||||
},
|
||||
"google": {
|
||||
"loading": "Verbindung wird geprüft...",
|
||||
"connect": {
|
||||
"title": "Mit Google verbinden",
|
||||
"subtitle": "Importiere deine Kontakte direkt aus Google Kontakte",
|
||||
"button": "Mit Google verbinden"
|
||||
},
|
||||
"connected": "Verbunden mit Google",
|
||||
"disconnect": "Trennen",
|
||||
"contacts": "Kontakte",
|
||||
"loadMore": "Mehr laden"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filter",
|
||||
"clearAll": "Alle löschen",
|
||||
"tag": "Tag",
|
||||
"allTags": "Alle Tags",
|
||||
"contactInfo": "Kontaktinfo",
|
||||
"contact": {
|
||||
"all": "Alle Kontakte",
|
||||
"favorites": "Favoriten",
|
||||
"hasPhone": "Mit Telefon",
|
||||
"hasEmail": "Mit E-Mail",
|
||||
"incomplete": "Unvollständig"
|
||||
},
|
||||
"birthdayLabel": "Geburtstag",
|
||||
"birthday": {
|
||||
"all": "Alle",
|
||||
"today": "Heute",
|
||||
"thisWeek": "Diese Woche",
|
||||
"thisMonth": "Diesen Monat"
|
||||
},
|
||||
"company": "Firma",
|
||||
"allCompanies": "Alle Firmen"
|
||||
},
|
||||
"export": {
|
||||
"title": "Kontakte exportieren",
|
||||
"button": "Exportieren",
|
||||
"format": "Format auswählen",
|
||||
"selectedCount": "{count} Kontakte ausgewählt",
|
||||
"allContacts": "Alle Kontakte werden exportiert",
|
||||
"includeArchived": "Archivierte Kontakte einschließen",
|
||||
"exporting": "Exportiere...",
|
||||
"success": "Export erfolgreich"
|
||||
},
|
||||
"notes": {
|
||||
"title": "Notizen",
|
||||
"add": "Notiz hinzufügen",
|
||||
"addFirst": "Erste Notiz hinzufügen",
|
||||
"empty": "Noch keine Notizen",
|
||||
"placeholder": "Schreibe eine Notiz...",
|
||||
"confirmDelete": "Diese Notiz löschen?",
|
||||
"pin": "Notiz anheften",
|
||||
"unpin": "Nicht mehr anheften",
|
||||
"yesterday": "Gestern"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"new": "Neuer Tag",
|
||||
"edit": "Tag bearbeiten",
|
||||
"noTags": "Noch keine Tags",
|
||||
"createFirst": "Erstelle deinen ersten Tag um Kontakte zu organisieren",
|
||||
"search": "Tags durchsuchen...",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "Tag-Name eingeben",
|
||||
"color": "Farbe",
|
||||
"preview": "Vorschau",
|
||||
"contactCount": "{count} Kontakte",
|
||||
"confirmDelete": "Möchtest du \"{name}\" wirklich löschen?",
|
||||
"noResults": "Keine Tags gefunden",
|
||||
"noResultsFor": "Keine Ergebnisse für \"{query}\"",
|
||||
"tagSingular": "Tag",
|
||||
"tagPlural": "Tags"
|
||||
}
|
||||
}
|
||||
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/en.json
Normal file
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/en.json
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Contacts"
|
||||
},
|
||||
"common": {
|
||||
"back": "Back",
|
||||
"cancel": "Cancel",
|
||||
"loadingMore": "Loading more..."
|
||||
},
|
||||
"nav": {
|
||||
"contacts": "Contacts",
|
||||
"groups": "Groups",
|
||||
"tags": "Tags",
|
||||
"favorites": "Favorites",
|
||||
"archive": "Archive",
|
||||
"search": "Search",
|
||||
"settings": "Settings",
|
||||
"feedback": "Feedback",
|
||||
"import": "Import"
|
||||
},
|
||||
"import": {
|
||||
"title": "Import Contacts",
|
||||
"subtitle": "Import contacts from vCard or CSV files",
|
||||
"tabs": {
|
||||
"file": "File Import",
|
||||
"google": "Google Contacts"
|
||||
},
|
||||
"processing": "Processing file...",
|
||||
"importing": "Importing...",
|
||||
"downloadTemplate": "Download CSV template",
|
||||
"dropzone": {
|
||||
"title": "Drop file here",
|
||||
"subtitle": "or click to select"
|
||||
},
|
||||
"preview": {
|
||||
"total": "Total",
|
||||
"valid": "Valid",
|
||||
"duplicates": "Duplicates",
|
||||
"selected": "Selected",
|
||||
"errors": "Parse errors",
|
||||
"duplicateHandling": "How should duplicates be handled?",
|
||||
"skip": "Skip",
|
||||
"merge": "Merge",
|
||||
"create": "Create anyway",
|
||||
"contacts": "Contacts to import",
|
||||
"selectAll": "Select all",
|
||||
"deselectAll": "Deselect all",
|
||||
"duplicateTag": "Duplicate",
|
||||
"matchesWith": "Matches with",
|
||||
"importButton": "Import {count} contacts"
|
||||
},
|
||||
"result": {
|
||||
"title": "Import complete",
|
||||
"subtitle": "Your contacts have been successfully imported",
|
||||
"imported": "Imported",
|
||||
"merged": "Merged",
|
||||
"skipped": "Skipped",
|
||||
"errors": "Errors",
|
||||
"importMore": "Import more",
|
||||
"done": "Done"
|
||||
}
|
||||
},
|
||||
"contacts": {
|
||||
"title": "Contacts",
|
||||
"new": "New Contact",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"search": "Search contacts...",
|
||||
"noContacts": "No contacts found",
|
||||
"addFirst": "Add your first contact",
|
||||
"me": "Me",
|
||||
"myCard": "My Card",
|
||||
"favorites": "Favorites",
|
||||
"archive": "Archive",
|
||||
"contact": "Contact",
|
||||
"contactsPlural": "Contacts",
|
||||
"call": "Call",
|
||||
"email": "Send email",
|
||||
"favorite": "Mark as favorite",
|
||||
"unfavorite": "Remove favorite"
|
||||
},
|
||||
"views": {
|
||||
"list": "List view",
|
||||
"grid": "Grid view",
|
||||
"alphabet": "Alphabetical"
|
||||
},
|
||||
"sort": {
|
||||
"firstName": "First Name",
|
||||
"lastName": "Last Name"
|
||||
},
|
||||
"contact": {
|
||||
"firstName": "First Name",
|
||||
"lastName": "Last Name",
|
||||
"displayName": "Display Name",
|
||||
"email": "Email",
|
||||
"phone": "Phone",
|
||||
"mobile": "Mobile",
|
||||
"company": "Company",
|
||||
"jobTitle": "Job Title",
|
||||
"department": "Department",
|
||||
"street": "Street",
|
||||
"city": "City",
|
||||
"postalCode": "Postal Code",
|
||||
"country": "Country",
|
||||
"website": "Website",
|
||||
"birthday": "Birthday",
|
||||
"notes": "Notes",
|
||||
"tasks": {
|
||||
"title": "Tasks",
|
||||
"assigned": "Assigned",
|
||||
"involved": "Involved",
|
||||
"empty": "No tasks for this contact",
|
||||
"serviceUnavailable": "Todo service unavailable",
|
||||
"error": "Failed to load tasks",
|
||||
"overdue": "Overdue",
|
||||
"dueToday": "Today",
|
||||
"tomorrow": "Tomorrow",
|
||||
"showCompleted": "Completed",
|
||||
"showMore": "Show {count} more",
|
||||
"markComplete": "Mark as complete",
|
||||
"markIncomplete": "Mark as incomplete"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"title": "Groups",
|
||||
"new": "New Group",
|
||||
"noGroups": "No groups available"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"create": "Create",
|
||||
"favorite": "Favorite",
|
||||
"unfavorite": "Unfavorite",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Restore"
|
||||
},
|
||||
"messages": {
|
||||
"saved": "Saved",
|
||||
"deleted": "Deleted",
|
||||
"error": "An error occurred"
|
||||
},
|
||||
"google": {
|
||||
"loading": "Checking connection...",
|
||||
"connect": {
|
||||
"title": "Connect to Google",
|
||||
"subtitle": "Import your contacts directly from Google Contacts",
|
||||
"button": "Connect with Google"
|
||||
},
|
||||
"connected": "Connected to Google",
|
||||
"disconnect": "Disconnect",
|
||||
"contacts": "Contacts",
|
||||
"loadMore": "Load more"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filters",
|
||||
"clearAll": "Clear all",
|
||||
"tag": "Tag",
|
||||
"allTags": "All tags",
|
||||
"contactInfo": "Contact info",
|
||||
"contact": {
|
||||
"all": "All contacts",
|
||||
"favorites": "Favorites",
|
||||
"hasPhone": "With phone",
|
||||
"hasEmail": "With email",
|
||||
"incomplete": "Incomplete"
|
||||
},
|
||||
"birthdayLabel": "Birthday",
|
||||
"birthday": {
|
||||
"all": "All",
|
||||
"today": "Today",
|
||||
"thisWeek": "This week",
|
||||
"thisMonth": "This month"
|
||||
},
|
||||
"company": "Company",
|
||||
"allCompanies": "All companies"
|
||||
},
|
||||
"export": {
|
||||
"title": "Export Contacts",
|
||||
"button": "Export",
|
||||
"format": "Select format",
|
||||
"selectedCount": "{count} contacts selected",
|
||||
"allContacts": "All contacts will be exported",
|
||||
"includeArchived": "Include archived contacts",
|
||||
"exporting": "Exporting...",
|
||||
"success": "Export successful"
|
||||
},
|
||||
"notes": {
|
||||
"title": "Notes",
|
||||
"add": "Add Note",
|
||||
"addFirst": "Add your first note",
|
||||
"empty": "No notes yet",
|
||||
"placeholder": "Write a note...",
|
||||
"confirmDelete": "Delete this note?",
|
||||
"pin": "Pin note",
|
||||
"unpin": "Unpin note",
|
||||
"yesterday": "Yesterday"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"new": "New Tag",
|
||||
"edit": "Edit Tag",
|
||||
"noTags": "No tags yet",
|
||||
"createFirst": "Create your first tag to organize contacts",
|
||||
"search": "Search tags...",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "Enter tag name",
|
||||
"color": "Color",
|
||||
"preview": "Preview",
|
||||
"contactCount": "{count} contacts",
|
||||
"confirmDelete": "Are you sure you want to delete \"{name}\"?",
|
||||
"noResults": "No tags found",
|
||||
"noResultsFor": "No results for \"{query}\"",
|
||||
"tagSingular": "Tag",
|
||||
"tagPlural": "Tags"
|
||||
}
|
||||
}
|
||||
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/es.json
Normal file
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/es.json
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Contacts"
|
||||
},
|
||||
"common": {
|
||||
"back": "Volver",
|
||||
"cancel": "Cancelar",
|
||||
"loadingMore": "Cargando más..."
|
||||
},
|
||||
"nav": {
|
||||
"contacts": "Contactos",
|
||||
"groups": "Grupos",
|
||||
"tags": "Etiquetas",
|
||||
"favorites": "Favoritos",
|
||||
"archive": "Archivo",
|
||||
"search": "Buscar",
|
||||
"settings": "Configuración",
|
||||
"feedback": "Comentarios",
|
||||
"import": "Importar"
|
||||
},
|
||||
"import": {
|
||||
"title": "Importar contactos",
|
||||
"subtitle": "Importa contactos desde archivos vCard o CSV",
|
||||
"tabs": {
|
||||
"file": "Importar archivo",
|
||||
"google": "Google Contacts"
|
||||
},
|
||||
"processing": "Procesando archivo...",
|
||||
"importing": "Importando...",
|
||||
"downloadTemplate": "Descargar plantilla CSV",
|
||||
"dropzone": {
|
||||
"title": "Arrastra el archivo aquí",
|
||||
"subtitle": "o haz clic para seleccionar"
|
||||
},
|
||||
"preview": {
|
||||
"total": "Total",
|
||||
"valid": "Válidos",
|
||||
"duplicates": "Duplicados",
|
||||
"selected": "Seleccionados",
|
||||
"errors": "Errores de análisis",
|
||||
"duplicateHandling": "¿Cómo gestionar los duplicados?",
|
||||
"skip": "Omitir",
|
||||
"merge": "Fusionar",
|
||||
"create": "Crear de todos modos",
|
||||
"contacts": "Contactos a importar",
|
||||
"selectAll": "Seleccionar todos",
|
||||
"deselectAll": "Deseleccionar todos",
|
||||
"duplicateTag": "Duplicado",
|
||||
"matchesWith": "Coincide con",
|
||||
"importButton": "Importar {count} contactos"
|
||||
},
|
||||
"result": {
|
||||
"title": "Importación completada",
|
||||
"subtitle": "Tus contactos han sido importados con éxito",
|
||||
"imported": "Importados",
|
||||
"merged": "Fusionados",
|
||||
"skipped": "Omitidos",
|
||||
"errors": "Errores",
|
||||
"importMore": "Importar más",
|
||||
"done": "Listo"
|
||||
}
|
||||
},
|
||||
"contacts": {
|
||||
"title": "Contactos",
|
||||
"new": "Nuevo contacto",
|
||||
"edit": "Editar",
|
||||
"delete": "Eliminar",
|
||||
"search": "Buscar contactos...",
|
||||
"noContacts": "No se encontraron contactos",
|
||||
"addFirst": "Añade tu primer contacto",
|
||||
"me": "Yo",
|
||||
"myCard": "Mi tarjeta",
|
||||
"favorites": "Favoritos",
|
||||
"archive": "Archivo",
|
||||
"contact": "Contacto",
|
||||
"contactsPlural": "Contactos",
|
||||
"call": "Llamar",
|
||||
"email": "Enviar correo",
|
||||
"favorite": "Marcar como favorito",
|
||||
"unfavorite": "Quitar de favoritos"
|
||||
},
|
||||
"views": {
|
||||
"list": "Vista de lista",
|
||||
"grid": "Vista de cuadrícula",
|
||||
"alphabet": "Alfabético"
|
||||
},
|
||||
"sort": {
|
||||
"firstName": "Nombre",
|
||||
"lastName": "Apellido"
|
||||
},
|
||||
"contact": {
|
||||
"firstName": "Nombre",
|
||||
"lastName": "Apellido",
|
||||
"displayName": "Nombre para mostrar",
|
||||
"email": "Correo electrónico",
|
||||
"phone": "Teléfono",
|
||||
"mobile": "Móvil",
|
||||
"company": "Empresa",
|
||||
"jobTitle": "Cargo",
|
||||
"department": "Departamento",
|
||||
"street": "Calle",
|
||||
"city": "Ciudad",
|
||||
"postalCode": "Código postal",
|
||||
"country": "País",
|
||||
"website": "Sitio web",
|
||||
"birthday": "Cumpleaños",
|
||||
"notes": "Notas",
|
||||
"tasks": {
|
||||
"title": "Tareas",
|
||||
"assigned": "Asignadas",
|
||||
"involved": "Involucrado",
|
||||
"empty": "No hay tareas para este contacto",
|
||||
"serviceUnavailable": "Servicio Todo no disponible",
|
||||
"error": "Error al cargar las tareas",
|
||||
"overdue": "Atrasada",
|
||||
"dueToday": "Hoy",
|
||||
"tomorrow": "Mañana",
|
||||
"showCompleted": "Completadas",
|
||||
"showMore": "Mostrar {count} más",
|
||||
"markComplete": "Marcar como completada",
|
||||
"markIncomplete": "Marcar como no completada"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"title": "Grupos",
|
||||
"new": "Nuevo grupo",
|
||||
"noGroups": "No hay grupos disponibles"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"create": "Crear",
|
||||
"favorite": "Favorito",
|
||||
"unfavorite": "No favorito",
|
||||
"archive": "Archivar",
|
||||
"unarchive": "Restaurar"
|
||||
},
|
||||
"messages": {
|
||||
"saved": "Guardado",
|
||||
"deleted": "Eliminado",
|
||||
"error": "Ha ocurrido un error"
|
||||
},
|
||||
"google": {
|
||||
"loading": "Verificando conexión...",
|
||||
"connect": {
|
||||
"title": "Conectar con Google",
|
||||
"subtitle": "Importa tus contactos directamente desde Google Contacts",
|
||||
"button": "Conectar con Google"
|
||||
},
|
||||
"connected": "Conectado a Google",
|
||||
"disconnect": "Desconectar",
|
||||
"contacts": "Contactos",
|
||||
"loadMore": "Cargar más"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filtros",
|
||||
"clearAll": "Borrar todo",
|
||||
"tag": "Etiqueta",
|
||||
"allTags": "Todas las etiquetas",
|
||||
"contactInfo": "Info de contacto",
|
||||
"contact": {
|
||||
"all": "Todos los contactos",
|
||||
"favorites": "Favoritos",
|
||||
"hasPhone": "Con teléfono",
|
||||
"hasEmail": "Con correo",
|
||||
"incomplete": "Incompletos"
|
||||
},
|
||||
"birthdayLabel": "Cumpleaños",
|
||||
"birthday": {
|
||||
"all": "Todos",
|
||||
"today": "Hoy",
|
||||
"thisWeek": "Esta semana",
|
||||
"thisMonth": "Este mes"
|
||||
},
|
||||
"company": "Empresa",
|
||||
"allCompanies": "Todas las empresas"
|
||||
},
|
||||
"export": {
|
||||
"title": "Exportar contactos",
|
||||
"button": "Exportar",
|
||||
"format": "Seleccionar formato",
|
||||
"selectedCount": "{count} contactos seleccionados",
|
||||
"allContacts": "Se exportarán todos los contactos",
|
||||
"includeArchived": "Incluir contactos archivados",
|
||||
"exporting": "Exportando...",
|
||||
"success": "Exportación exitosa"
|
||||
},
|
||||
"notes": {
|
||||
"title": "Notas",
|
||||
"add": "Añadir nota",
|
||||
"addFirst": "Añade tu primera nota",
|
||||
"empty": "Sin notas todavía",
|
||||
"placeholder": "Escribe una nota...",
|
||||
"confirmDelete": "¿Eliminar esta nota?",
|
||||
"pin": "Fijar nota",
|
||||
"unpin": "Desfijar nota",
|
||||
"yesterday": "Ayer"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Etiquetas",
|
||||
"new": "Nueva etiqueta",
|
||||
"edit": "Editar etiqueta",
|
||||
"noTags": "Sin etiquetas todavía",
|
||||
"createFirst": "Crea tu primera etiqueta para organizar contactos",
|
||||
"search": "Buscar etiquetas...",
|
||||
"name": "Nombre",
|
||||
"namePlaceholder": "Introduce el nombre de la etiqueta",
|
||||
"color": "Color",
|
||||
"preview": "Vista previa",
|
||||
"contactCount": "{count} contactos",
|
||||
"confirmDelete": "¿Estás seguro de que quieres eliminar \"{name}\"?",
|
||||
"noResults": "No se encontraron etiquetas",
|
||||
"noResultsFor": "Sin resultados para \"{query}\"",
|
||||
"tagSingular": "Etiqueta",
|
||||
"tagPlural": "Etiquetas"
|
||||
}
|
||||
}
|
||||
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/fr.json
Normal file
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/fr.json
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Contacts"
|
||||
},
|
||||
"common": {
|
||||
"back": "Retour",
|
||||
"cancel": "Annuler",
|
||||
"loadingMore": "Chargement..."
|
||||
},
|
||||
"nav": {
|
||||
"contacts": "Contacts",
|
||||
"groups": "Groupes",
|
||||
"tags": "Tags",
|
||||
"favorites": "Favoris",
|
||||
"archive": "Archives",
|
||||
"search": "Rechercher",
|
||||
"settings": "Paramètres",
|
||||
"feedback": "Commentaires",
|
||||
"import": "Importer"
|
||||
},
|
||||
"import": {
|
||||
"title": "Importer des contacts",
|
||||
"subtitle": "Importez des contacts depuis des fichiers vCard ou CSV",
|
||||
"tabs": {
|
||||
"file": "Import de fichier",
|
||||
"google": "Google Contacts"
|
||||
},
|
||||
"processing": "Traitement du fichier...",
|
||||
"importing": "Importation...",
|
||||
"downloadTemplate": "Télécharger le modèle CSV",
|
||||
"dropzone": {
|
||||
"title": "Déposez le fichier ici",
|
||||
"subtitle": "ou cliquez pour sélectionner"
|
||||
},
|
||||
"preview": {
|
||||
"total": "Total",
|
||||
"valid": "Valides",
|
||||
"duplicates": "Doublons",
|
||||
"selected": "Sélectionnés",
|
||||
"errors": "Erreurs d'analyse",
|
||||
"duplicateHandling": "Comment traiter les doublons ?",
|
||||
"skip": "Ignorer",
|
||||
"merge": "Fusionner",
|
||||
"create": "Créer quand même",
|
||||
"contacts": "Contacts à importer",
|
||||
"selectAll": "Tout sélectionner",
|
||||
"deselectAll": "Tout désélectionner",
|
||||
"duplicateTag": "Doublon",
|
||||
"matchesWith": "Correspond à",
|
||||
"importButton": "Importer {count} contacts"
|
||||
},
|
||||
"result": {
|
||||
"title": "Import terminé",
|
||||
"subtitle": "Vos contacts ont été importés avec succès",
|
||||
"imported": "Importés",
|
||||
"merged": "Fusionnés",
|
||||
"skipped": "Ignorés",
|
||||
"errors": "Erreurs",
|
||||
"importMore": "Importer d'autres",
|
||||
"done": "Terminé"
|
||||
}
|
||||
},
|
||||
"contacts": {
|
||||
"title": "Contacts",
|
||||
"new": "Nouveau contact",
|
||||
"edit": "Modifier",
|
||||
"delete": "Supprimer",
|
||||
"search": "Rechercher des contacts...",
|
||||
"noContacts": "Aucun contact trouvé",
|
||||
"addFirst": "Ajoutez votre premier contact",
|
||||
"me": "Moi",
|
||||
"myCard": "Ma fiche",
|
||||
"favorites": "Favoris",
|
||||
"archive": "Archives",
|
||||
"contact": "Contact",
|
||||
"contactsPlural": "Contacts",
|
||||
"call": "Appeler",
|
||||
"email": "Envoyer un e-mail",
|
||||
"favorite": "Marquer comme favori",
|
||||
"unfavorite": "Retirer des favoris"
|
||||
},
|
||||
"views": {
|
||||
"list": "Vue liste",
|
||||
"grid": "Vue grille",
|
||||
"alphabet": "Alphabétique"
|
||||
},
|
||||
"sort": {
|
||||
"firstName": "Prénom",
|
||||
"lastName": "Nom"
|
||||
},
|
||||
"contact": {
|
||||
"firstName": "Prénom",
|
||||
"lastName": "Nom",
|
||||
"displayName": "Nom d'affichage",
|
||||
"email": "E-mail",
|
||||
"phone": "Téléphone",
|
||||
"mobile": "Mobile",
|
||||
"company": "Entreprise",
|
||||
"jobTitle": "Poste",
|
||||
"department": "Département",
|
||||
"street": "Rue",
|
||||
"city": "Ville",
|
||||
"postalCode": "Code postal",
|
||||
"country": "Pays",
|
||||
"website": "Site web",
|
||||
"birthday": "Anniversaire",
|
||||
"notes": "Notes",
|
||||
"tasks": {
|
||||
"title": "Tâches",
|
||||
"assigned": "Assignées",
|
||||
"involved": "Impliqué",
|
||||
"empty": "Aucune tâche pour ce contact",
|
||||
"serviceUnavailable": "Service Todo indisponible",
|
||||
"error": "Échec du chargement des tâches",
|
||||
"overdue": "En retard",
|
||||
"dueToday": "Aujourd'hui",
|
||||
"tomorrow": "Demain",
|
||||
"showCompleted": "Terminées",
|
||||
"showMore": "Afficher {count} de plus",
|
||||
"markComplete": "Marquer comme terminée",
|
||||
"markIncomplete": "Marquer comme non terminée"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"title": "Groupes",
|
||||
"new": "Nouveau groupe",
|
||||
"noGroups": "Aucun groupe disponible"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"create": "Créer",
|
||||
"favorite": "Favori",
|
||||
"unfavorite": "Non favori",
|
||||
"archive": "Archiver",
|
||||
"unarchive": "Restaurer"
|
||||
},
|
||||
"messages": {
|
||||
"saved": "Enregistré",
|
||||
"deleted": "Supprimé",
|
||||
"error": "Une erreur est survenue"
|
||||
},
|
||||
"google": {
|
||||
"loading": "Vérification de la connexion...",
|
||||
"connect": {
|
||||
"title": "Se connecter à Google",
|
||||
"subtitle": "Importez vos contacts directement depuis Google Contacts",
|
||||
"button": "Se connecter avec Google"
|
||||
},
|
||||
"connected": "Connecté à Google",
|
||||
"disconnect": "Déconnecter",
|
||||
"contacts": "Contacts",
|
||||
"loadMore": "Charger plus"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filtres",
|
||||
"clearAll": "Tout effacer",
|
||||
"tag": "Tag",
|
||||
"allTags": "Tous les tags",
|
||||
"contactInfo": "Info contact",
|
||||
"contact": {
|
||||
"all": "Tous les contacts",
|
||||
"favorites": "Favoris",
|
||||
"hasPhone": "Avec téléphone",
|
||||
"hasEmail": "Avec e-mail",
|
||||
"incomplete": "Incomplets"
|
||||
},
|
||||
"birthdayLabel": "Anniversaire",
|
||||
"birthday": {
|
||||
"all": "Tous",
|
||||
"today": "Aujourd'hui",
|
||||
"thisWeek": "Cette semaine",
|
||||
"thisMonth": "Ce mois-ci"
|
||||
},
|
||||
"company": "Entreprise",
|
||||
"allCompanies": "Toutes les entreprises"
|
||||
},
|
||||
"export": {
|
||||
"title": "Exporter les contacts",
|
||||
"button": "Exporter",
|
||||
"format": "Choisir le format",
|
||||
"selectedCount": "{count} contacts sélectionnés",
|
||||
"allContacts": "Tous les contacts seront exportés",
|
||||
"includeArchived": "Inclure les contacts archivés",
|
||||
"exporting": "Exportation...",
|
||||
"success": "Export réussi"
|
||||
},
|
||||
"notes": {
|
||||
"title": "Notes",
|
||||
"add": "Ajouter une note",
|
||||
"addFirst": "Ajoutez votre première note",
|
||||
"empty": "Aucune note pour le moment",
|
||||
"placeholder": "Écrire une note...",
|
||||
"confirmDelete": "Supprimer cette note ?",
|
||||
"pin": "Épingler la note",
|
||||
"unpin": "Désépingler la note",
|
||||
"yesterday": "Hier"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"new": "Nouveau tag",
|
||||
"edit": "Modifier le tag",
|
||||
"noTags": "Aucun tag pour le moment",
|
||||
"createFirst": "Créez votre premier tag pour organiser vos contacts",
|
||||
"search": "Rechercher des tags...",
|
||||
"name": "Nom",
|
||||
"namePlaceholder": "Saisir le nom du tag",
|
||||
"color": "Couleur",
|
||||
"preview": "Aperçu",
|
||||
"contactCount": "{count} contacts",
|
||||
"confirmDelete": "Êtes-vous sûr de vouloir supprimer \"{name}\" ?",
|
||||
"noResults": "Aucun tag trouvé",
|
||||
"noResultsFor": "Aucun résultat pour \"{query}\"",
|
||||
"tagSingular": "Tag",
|
||||
"tagPlural": "Tags"
|
||||
}
|
||||
}
|
||||
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/it.json
Normal file
219
apps/manacore/apps/web/src/lib/i18n/locales/contacts/it.json
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Contacts"
|
||||
},
|
||||
"common": {
|
||||
"back": "Indietro",
|
||||
"cancel": "Annulla",
|
||||
"loadingMore": "Caricamento..."
|
||||
},
|
||||
"nav": {
|
||||
"contacts": "Contatti",
|
||||
"groups": "Gruppi",
|
||||
"tags": "Tag",
|
||||
"favorites": "Preferiti",
|
||||
"archive": "Archivio",
|
||||
"search": "Cerca",
|
||||
"settings": "Impostazioni",
|
||||
"feedback": "Feedback",
|
||||
"import": "Importa"
|
||||
},
|
||||
"import": {
|
||||
"title": "Importa contatti",
|
||||
"subtitle": "Importa contatti da file vCard o CSV",
|
||||
"tabs": {
|
||||
"file": "Import da file",
|
||||
"google": "Google Contatti"
|
||||
},
|
||||
"processing": "Elaborazione del file...",
|
||||
"importing": "Importazione...",
|
||||
"downloadTemplate": "Scarica modello CSV",
|
||||
"dropzone": {
|
||||
"title": "Trascina il file qui",
|
||||
"subtitle": "o clicca per selezionare"
|
||||
},
|
||||
"preview": {
|
||||
"total": "Totale",
|
||||
"valid": "Validi",
|
||||
"duplicates": "Duplicati",
|
||||
"selected": "Selezionati",
|
||||
"errors": "Errori di analisi",
|
||||
"duplicateHandling": "Come gestire i duplicati?",
|
||||
"skip": "Ignora",
|
||||
"merge": "Unisci",
|
||||
"create": "Crea comunque",
|
||||
"contacts": "Contatti da importare",
|
||||
"selectAll": "Seleziona tutti",
|
||||
"deselectAll": "Deseleziona tutti",
|
||||
"duplicateTag": "Duplicato",
|
||||
"matchesWith": "Corrisponde a",
|
||||
"importButton": "Importa {count} contatti"
|
||||
},
|
||||
"result": {
|
||||
"title": "Importazione completata",
|
||||
"subtitle": "I tuoi contatti sono stati importati con successo",
|
||||
"imported": "Importati",
|
||||
"merged": "Uniti",
|
||||
"skipped": "Ignorati",
|
||||
"errors": "Errori",
|
||||
"importMore": "Importa altri",
|
||||
"done": "Fatto"
|
||||
}
|
||||
},
|
||||
"contacts": {
|
||||
"title": "Contatti",
|
||||
"new": "Nuovo contatto",
|
||||
"edit": "Modifica",
|
||||
"delete": "Elimina",
|
||||
"search": "Cerca contatti...",
|
||||
"noContacts": "Nessun contatto trovato",
|
||||
"addFirst": "Aggiungi il tuo primo contatto",
|
||||
"me": "Io",
|
||||
"myCard": "La mia scheda",
|
||||
"favorites": "Preferiti",
|
||||
"archive": "Archivio",
|
||||
"contact": "Contatto",
|
||||
"contactsPlural": "Contatti",
|
||||
"call": "Chiama",
|
||||
"email": "Invia e-mail",
|
||||
"favorite": "Segna come preferito",
|
||||
"unfavorite": "Rimuovi dai preferiti"
|
||||
},
|
||||
"views": {
|
||||
"list": "Vista elenco",
|
||||
"grid": "Vista griglia",
|
||||
"alphabet": "Alfabetico"
|
||||
},
|
||||
"sort": {
|
||||
"firstName": "Nome",
|
||||
"lastName": "Cognome"
|
||||
},
|
||||
"contact": {
|
||||
"firstName": "Nome",
|
||||
"lastName": "Cognome",
|
||||
"displayName": "Nome visualizzato",
|
||||
"email": "E-mail",
|
||||
"phone": "Telefono",
|
||||
"mobile": "Cellulare",
|
||||
"company": "Azienda",
|
||||
"jobTitle": "Posizione",
|
||||
"department": "Dipartimento",
|
||||
"street": "Via",
|
||||
"city": "Città",
|
||||
"postalCode": "CAP",
|
||||
"country": "Paese",
|
||||
"website": "Sito web",
|
||||
"birthday": "Compleanno",
|
||||
"notes": "Note",
|
||||
"tasks": {
|
||||
"title": "Attività",
|
||||
"assigned": "Assegnate",
|
||||
"involved": "Coinvolto",
|
||||
"empty": "Nessuna attività per questo contatto",
|
||||
"serviceUnavailable": "Servizio Todo non disponibile",
|
||||
"error": "Impossibile caricare le attività",
|
||||
"overdue": "In ritardo",
|
||||
"dueToday": "Oggi",
|
||||
"tomorrow": "Domani",
|
||||
"showCompleted": "Completate",
|
||||
"showMore": "Mostra altri {count}",
|
||||
"markComplete": "Segna come completata",
|
||||
"markIncomplete": "Segna come non completata"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"title": "Gruppi",
|
||||
"new": "Nuovo gruppo",
|
||||
"noGroups": "Nessun gruppo disponibile"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"create": "Crea",
|
||||
"favorite": "Preferito",
|
||||
"unfavorite": "Non preferito",
|
||||
"archive": "Archivia",
|
||||
"unarchive": "Ripristina"
|
||||
},
|
||||
"messages": {
|
||||
"saved": "Salvato",
|
||||
"deleted": "Eliminato",
|
||||
"error": "Si è verificato un errore"
|
||||
},
|
||||
"google": {
|
||||
"loading": "Verifica della connessione...",
|
||||
"connect": {
|
||||
"title": "Connetti a Google",
|
||||
"subtitle": "Importa i tuoi contatti direttamente da Google Contatti",
|
||||
"button": "Connetti con Google"
|
||||
},
|
||||
"connected": "Connesso a Google",
|
||||
"disconnect": "Disconnetti",
|
||||
"contacts": "Contatti",
|
||||
"loadMore": "Carica altri"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filtri",
|
||||
"clearAll": "Cancella tutto",
|
||||
"tag": "Tag",
|
||||
"allTags": "Tutti i tag",
|
||||
"contactInfo": "Info contatto",
|
||||
"contact": {
|
||||
"all": "Tutti i contatti",
|
||||
"favorites": "Preferiti",
|
||||
"hasPhone": "Con telefono",
|
||||
"hasEmail": "Con e-mail",
|
||||
"incomplete": "Incompleti"
|
||||
},
|
||||
"birthdayLabel": "Compleanno",
|
||||
"birthday": {
|
||||
"all": "Tutti",
|
||||
"today": "Oggi",
|
||||
"thisWeek": "Questa settimana",
|
||||
"thisMonth": "Questo mese"
|
||||
},
|
||||
"company": "Azienda",
|
||||
"allCompanies": "Tutte le aziende"
|
||||
},
|
||||
"export": {
|
||||
"title": "Esporta contatti",
|
||||
"button": "Esporta",
|
||||
"format": "Seleziona formato",
|
||||
"selectedCount": "{count} contatti selezionati",
|
||||
"allContacts": "Tutti i contatti verranno esportati",
|
||||
"includeArchived": "Includi contatti archiviati",
|
||||
"exporting": "Esportazione...",
|
||||
"success": "Esportazione riuscita"
|
||||
},
|
||||
"notes": {
|
||||
"title": "Note",
|
||||
"add": "Aggiungi nota",
|
||||
"addFirst": "Aggiungi la tua prima nota",
|
||||
"empty": "Nessuna nota ancora",
|
||||
"placeholder": "Scrivi una nota...",
|
||||
"confirmDelete": "Eliminare questa nota?",
|
||||
"pin": "Fissa nota",
|
||||
"unpin": "Rimuovi fissaggio",
|
||||
"yesterday": "Ieri"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tag",
|
||||
"new": "Nuovo tag",
|
||||
"edit": "Modifica tag",
|
||||
"noTags": "Nessun tag ancora",
|
||||
"createFirst": "Crea il tuo primo tag per organizzare i contatti",
|
||||
"search": "Cerca tag...",
|
||||
"name": "Nome",
|
||||
"namePlaceholder": "Inserisci nome del tag",
|
||||
"color": "Colore",
|
||||
"preview": "Anteprima",
|
||||
"contactCount": "{count} contatti",
|
||||
"confirmDelete": "Sei sicuro di voler eliminare \"{name}\"?",
|
||||
"noResults": "Nessun tag trovato",
|
||||
"noResultsFor": "Nessun risultato per \"{query}\"",
|
||||
"tagSingular": "Tag",
|
||||
"tagPlural": "Tag"
|
||||
}
|
||||
}
|
||||
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/de.json
Normal file
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/de.json
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Inventar",
|
||||
"loading": "Laden..."
|
||||
},
|
||||
"nav": {
|
||||
"collections": "Sammlungen",
|
||||
"allItems": "Alle Items",
|
||||
"locations": "Standorte",
|
||||
"categories": "Kategorien",
|
||||
"tags": "Tags",
|
||||
"search": "Suche",
|
||||
"settings": "Einstellungen",
|
||||
"feedback": "Feedback"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Sammlung erstellen",
|
||||
"edit": "Sammlung bearbeiten",
|
||||
"delete": "Sammlung löschen",
|
||||
"name": "Name",
|
||||
"description": "Beschreibung",
|
||||
"icon": "Symbol",
|
||||
"color": "Farbe",
|
||||
"template": "Vorlage",
|
||||
"schema": "Schema",
|
||||
"noCollections": "Keine Sammlungen",
|
||||
"itemCount": "{count} Items",
|
||||
"selectTemplate": "Vorlage wählen",
|
||||
"customFields": "Eigene Felder",
|
||||
"addField": "Feld hinzufügen"
|
||||
},
|
||||
"item": {
|
||||
"create": "Item erstellen",
|
||||
"edit": "Item bearbeiten",
|
||||
"delete": "Item löschen",
|
||||
"name": "Name",
|
||||
"description": "Beschreibung",
|
||||
"status": "Status",
|
||||
"quantity": "Menge",
|
||||
"location": "Standort",
|
||||
"category": "Kategorie",
|
||||
"tags": "Tags",
|
||||
"photos": "Fotos",
|
||||
"notes": "Notizen",
|
||||
"documents": "Dokumente",
|
||||
"noItems": "Keine Items",
|
||||
"addPhoto": "Foto hinzufügen",
|
||||
"addNote": "Notiz hinzufügen",
|
||||
"addDocument": "Dokument hinzufügen"
|
||||
},
|
||||
"status": {
|
||||
"owned": "Besitzt",
|
||||
"lent": "Verliehen",
|
||||
"stored": "Eingelagert",
|
||||
"for_sale": "Zu verkaufen",
|
||||
"disposed": "Entsorgt"
|
||||
},
|
||||
"location": {
|
||||
"create": "Standort erstellen",
|
||||
"edit": "Standort bearbeiten",
|
||||
"delete": "Standort löschen",
|
||||
"name": "Name",
|
||||
"parent": "Übergeordnet",
|
||||
"noLocations": "Keine Standorte",
|
||||
"addSub": "Unterstandort hinzufügen"
|
||||
},
|
||||
"category": {
|
||||
"create": "Kategorie erstellen",
|
||||
"edit": "Kategorie bearbeiten",
|
||||
"delete": "Kategorie löschen",
|
||||
"name": "Name",
|
||||
"noCategories": "Keine Kategorien"
|
||||
},
|
||||
"field": {
|
||||
"text": "Text",
|
||||
"number": "Zahl",
|
||||
"date": "Datum",
|
||||
"select": "Auswahl",
|
||||
"tags": "Tags",
|
||||
"checkbox": "Checkbox",
|
||||
"url": "URL",
|
||||
"currency": "Währung",
|
||||
"required": "Pflichtfeld",
|
||||
"placeholder": "Platzhalter",
|
||||
"options": "Optionen",
|
||||
"addOption": "Option hinzufügen",
|
||||
"removeField": "Feld entfernen"
|
||||
},
|
||||
"template": {
|
||||
"electronics": "Elektronik",
|
||||
"books": "Bücher",
|
||||
"furniture": "Möbel",
|
||||
"clothing": "Kleidung",
|
||||
"tools": "Werkzeug",
|
||||
"kitchen": "Küche",
|
||||
"media": "Medien",
|
||||
"custom": "Benutzerdefiniert"
|
||||
},
|
||||
"view": {
|
||||
"list": "Liste",
|
||||
"grid": "Kacheln",
|
||||
"table": "Tabelle"
|
||||
},
|
||||
"filter": {
|
||||
"all": "Alle",
|
||||
"saved": "Gespeicherte Filter",
|
||||
"save": "Filter speichern",
|
||||
"clear": "Filter zurücksetzen"
|
||||
},
|
||||
"purchase": {
|
||||
"title": "Kaufdaten",
|
||||
"price": "Preis",
|
||||
"currency": "Währung",
|
||||
"date": "Kaufdatum",
|
||||
"retailer": "Händler",
|
||||
"warranty": "Garantie bis",
|
||||
"receipt": "Beleg"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"register": "Registrieren",
|
||||
"email": "E-Mail",
|
||||
"password": "Passwort",
|
||||
"forgotPassword": "Passwort vergessen?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"add": "Hinzufügen",
|
||||
"close": "Schließen",
|
||||
"search": "Suchen",
|
||||
"error": "Fehler",
|
||||
"success": "Erfolgreich",
|
||||
"loading": "Laden...",
|
||||
"noResults": "Keine Ergebnisse",
|
||||
"confirm": "Bestätigen",
|
||||
"back": "Zurück",
|
||||
"next": "Weiter",
|
||||
"create": "Erstellen"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Seite nicht gefunden",
|
||||
"backToHome": "Zurück zur Startseite"
|
||||
}
|
||||
}
|
||||
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/en.json
Normal file
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/en.json
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Inventar",
|
||||
"loading": "Loading..."
|
||||
},
|
||||
"nav": {
|
||||
"collections": "Collections",
|
||||
"allItems": "All Items",
|
||||
"locations": "Locations",
|
||||
"categories": "Categories",
|
||||
"tags": "Tags",
|
||||
"search": "Search",
|
||||
"settings": "Settings",
|
||||
"feedback": "Feedback"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Create Collection",
|
||||
"edit": "Edit Collection",
|
||||
"delete": "Delete Collection",
|
||||
"name": "Name",
|
||||
"description": "Description",
|
||||
"icon": "Icon",
|
||||
"color": "Color",
|
||||
"template": "Template",
|
||||
"schema": "Schema",
|
||||
"noCollections": "No collections",
|
||||
"itemCount": "{count} items",
|
||||
"selectTemplate": "Select template",
|
||||
"customFields": "Custom fields",
|
||||
"addField": "Add field"
|
||||
},
|
||||
"item": {
|
||||
"create": "Create Item",
|
||||
"edit": "Edit Item",
|
||||
"delete": "Delete Item",
|
||||
"name": "Name",
|
||||
"description": "Description",
|
||||
"status": "Status",
|
||||
"quantity": "Quantity",
|
||||
"location": "Location",
|
||||
"category": "Category",
|
||||
"tags": "Tags",
|
||||
"photos": "Photos",
|
||||
"notes": "Notes",
|
||||
"documents": "Documents",
|
||||
"noItems": "No items",
|
||||
"addPhoto": "Add photo",
|
||||
"addNote": "Add note",
|
||||
"addDocument": "Add document"
|
||||
},
|
||||
"status": {
|
||||
"owned": "Owned",
|
||||
"lent": "Lent",
|
||||
"stored": "Stored",
|
||||
"for_sale": "For Sale",
|
||||
"disposed": "Disposed"
|
||||
},
|
||||
"location": {
|
||||
"create": "Create Location",
|
||||
"edit": "Edit Location",
|
||||
"delete": "Delete Location",
|
||||
"name": "Name",
|
||||
"parent": "Parent",
|
||||
"noLocations": "No locations",
|
||||
"addSub": "Add sub-location"
|
||||
},
|
||||
"category": {
|
||||
"create": "Create Category",
|
||||
"edit": "Edit Category",
|
||||
"delete": "Delete Category",
|
||||
"name": "Name",
|
||||
"noCategories": "No categories"
|
||||
},
|
||||
"field": {
|
||||
"text": "Text",
|
||||
"number": "Number",
|
||||
"date": "Date",
|
||||
"select": "Select",
|
||||
"tags": "Tags",
|
||||
"checkbox": "Checkbox",
|
||||
"url": "URL",
|
||||
"currency": "Currency",
|
||||
"required": "Required",
|
||||
"placeholder": "Placeholder",
|
||||
"options": "Options",
|
||||
"addOption": "Add option",
|
||||
"removeField": "Remove field"
|
||||
},
|
||||
"template": {
|
||||
"electronics": "Electronics",
|
||||
"books": "Books",
|
||||
"furniture": "Furniture",
|
||||
"clothing": "Clothing",
|
||||
"tools": "Tools",
|
||||
"kitchen": "Kitchen",
|
||||
"media": "Media",
|
||||
"custom": "Custom"
|
||||
},
|
||||
"view": {
|
||||
"list": "List",
|
||||
"grid": "Grid",
|
||||
"table": "Table"
|
||||
},
|
||||
"filter": {
|
||||
"all": "All",
|
||||
"saved": "Saved Filters",
|
||||
"save": "Save Filter",
|
||||
"clear": "Clear Filters"
|
||||
},
|
||||
"purchase": {
|
||||
"title": "Purchase Data",
|
||||
"price": "Price",
|
||||
"currency": "Currency",
|
||||
"date": "Purchase Date",
|
||||
"retailer": "Retailer",
|
||||
"warranty": "Warranty Until",
|
||||
"receipt": "Receipt"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"register": "Register",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"forgotPassword": "Forgot password?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"add": "Add",
|
||||
"close": "Close",
|
||||
"search": "Search",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"loading": "Loading...",
|
||||
"noResults": "No results",
|
||||
"confirm": "Confirm",
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"create": "Create"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Page not found",
|
||||
"backToHome": "Back to home"
|
||||
}
|
||||
}
|
||||
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/es.json
Normal file
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/es.json
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Inventar",
|
||||
"loading": "Cargando..."
|
||||
},
|
||||
"nav": {
|
||||
"collections": "Colecciones",
|
||||
"allItems": "Todos los artículos",
|
||||
"locations": "Ubicaciones",
|
||||
"categories": "Categorías",
|
||||
"tags": "Etiquetas",
|
||||
"search": "Buscar",
|
||||
"settings": "Ajustes",
|
||||
"feedback": "Feedback"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Crear colección",
|
||||
"edit": "Editar colección",
|
||||
"delete": "Eliminar colección",
|
||||
"name": "Nombre",
|
||||
"description": "Descripción",
|
||||
"icon": "Icono",
|
||||
"color": "Color",
|
||||
"template": "Plantilla",
|
||||
"schema": "Esquema",
|
||||
"noCollections": "Sin colecciones",
|
||||
"itemCount": "{count} artículos",
|
||||
"selectTemplate": "Seleccionar plantilla",
|
||||
"customFields": "Campos personalizados",
|
||||
"addField": "Agregar campo"
|
||||
},
|
||||
"item": {
|
||||
"create": "Crear artículo",
|
||||
"edit": "Editar artículo",
|
||||
"delete": "Eliminar artículo",
|
||||
"name": "Nombre",
|
||||
"description": "Descripción",
|
||||
"status": "Estado",
|
||||
"quantity": "Cantidad",
|
||||
"location": "Ubicación",
|
||||
"category": "Categoría",
|
||||
"tags": "Etiquetas",
|
||||
"photos": "Fotos",
|
||||
"notes": "Notas",
|
||||
"documents": "Documentos",
|
||||
"noItems": "Sin artículos",
|
||||
"addPhoto": "Agregar foto",
|
||||
"addNote": "Agregar nota",
|
||||
"addDocument": "Agregar documento"
|
||||
},
|
||||
"status": {
|
||||
"owned": "Propio",
|
||||
"lent": "Prestado",
|
||||
"stored": "Almacenado",
|
||||
"for_sale": "En venta",
|
||||
"disposed": "Descartado"
|
||||
},
|
||||
"location": {
|
||||
"create": "Crear ubicación",
|
||||
"edit": "Editar ubicación",
|
||||
"delete": "Eliminar ubicación",
|
||||
"name": "Nombre",
|
||||
"parent": "Padre",
|
||||
"noLocations": "Sin ubicaciones",
|
||||
"addSub": "Agregar sub-ubicación"
|
||||
},
|
||||
"category": {
|
||||
"create": "Crear categoría",
|
||||
"edit": "Editar categoría",
|
||||
"delete": "Eliminar categoría",
|
||||
"name": "Nombre",
|
||||
"noCategories": "Sin categorías"
|
||||
},
|
||||
"field": {
|
||||
"text": "Texto",
|
||||
"number": "Número",
|
||||
"date": "Fecha",
|
||||
"select": "Selección",
|
||||
"tags": "Etiquetas",
|
||||
"checkbox": "Casilla",
|
||||
"url": "URL",
|
||||
"currency": "Moneda",
|
||||
"required": "Obligatorio",
|
||||
"placeholder": "Marcador",
|
||||
"options": "Opciones",
|
||||
"addOption": "Agregar opción",
|
||||
"removeField": "Eliminar campo"
|
||||
},
|
||||
"template": {
|
||||
"electronics": "Electrónica",
|
||||
"books": "Libros",
|
||||
"furniture": "Muebles",
|
||||
"clothing": "Ropa",
|
||||
"tools": "Herramientas",
|
||||
"kitchen": "Cocina",
|
||||
"media": "Medios",
|
||||
"custom": "Personalizado"
|
||||
},
|
||||
"view": {
|
||||
"list": "Lista",
|
||||
"grid": "Cuadrícula",
|
||||
"table": "Tabla"
|
||||
},
|
||||
"filter": {
|
||||
"all": "Todos",
|
||||
"saved": "Filtros guardados",
|
||||
"save": "Guardar filtro",
|
||||
"clear": "Borrar filtros"
|
||||
},
|
||||
"purchase": {
|
||||
"title": "Datos de compra",
|
||||
"price": "Precio",
|
||||
"currency": "Moneda",
|
||||
"date": "Fecha de compra",
|
||||
"retailer": "Tienda",
|
||||
"warranty": "Garantía hasta",
|
||||
"receipt": "Recibo"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"register": "Registrarse",
|
||||
"email": "Email",
|
||||
"password": "Contraseña",
|
||||
"forgotPassword": "¿Olvidaste tu contraseña?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"add": "Agregar",
|
||||
"close": "Cerrar",
|
||||
"search": "Buscar",
|
||||
"error": "Error",
|
||||
"success": "Correcto",
|
||||
"loading": "Cargando...",
|
||||
"noResults": "Sin resultados",
|
||||
"confirm": "Confirmar",
|
||||
"back": "Atrás",
|
||||
"next": "Siguiente",
|
||||
"create": "Crear"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Página no encontrada",
|
||||
"backToHome": "Volver al inicio"
|
||||
}
|
||||
}
|
||||
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/fr.json
Normal file
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/fr.json
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Inventar",
|
||||
"loading": "Chargement..."
|
||||
},
|
||||
"nav": {
|
||||
"collections": "Collections",
|
||||
"allItems": "Tous les articles",
|
||||
"locations": "Emplacements",
|
||||
"categories": "Catégories",
|
||||
"tags": "Tags",
|
||||
"search": "Rechercher",
|
||||
"settings": "Paramètres",
|
||||
"feedback": "Feedback"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Créer une collection",
|
||||
"edit": "Modifier la collection",
|
||||
"delete": "Supprimer la collection",
|
||||
"name": "Nom",
|
||||
"description": "Description",
|
||||
"icon": "Icône",
|
||||
"color": "Couleur",
|
||||
"template": "Modèle",
|
||||
"schema": "Schéma",
|
||||
"noCollections": "Aucune collection",
|
||||
"itemCount": "{count} articles",
|
||||
"selectTemplate": "Choisir un modèle",
|
||||
"customFields": "Champs personnalisés",
|
||||
"addField": "Ajouter un champ"
|
||||
},
|
||||
"item": {
|
||||
"create": "Créer un article",
|
||||
"edit": "Modifier l'article",
|
||||
"delete": "Supprimer l'article",
|
||||
"name": "Nom",
|
||||
"description": "Description",
|
||||
"status": "Statut",
|
||||
"quantity": "Quantité",
|
||||
"location": "Emplacement",
|
||||
"category": "Catégorie",
|
||||
"tags": "Tags",
|
||||
"photos": "Photos",
|
||||
"notes": "Notes",
|
||||
"documents": "Documents",
|
||||
"noItems": "Aucun article",
|
||||
"addPhoto": "Ajouter une photo",
|
||||
"addNote": "Ajouter une note",
|
||||
"addDocument": "Ajouter un document"
|
||||
},
|
||||
"status": {
|
||||
"owned": "Possédé",
|
||||
"lent": "Prêté",
|
||||
"stored": "Stocké",
|
||||
"for_sale": "En vente",
|
||||
"disposed": "Jeté"
|
||||
},
|
||||
"location": {
|
||||
"create": "Créer un emplacement",
|
||||
"edit": "Modifier l'emplacement",
|
||||
"delete": "Supprimer l'emplacement",
|
||||
"name": "Nom",
|
||||
"parent": "Parent",
|
||||
"noLocations": "Aucun emplacement",
|
||||
"addSub": "Ajouter un sous-emplacement"
|
||||
},
|
||||
"category": {
|
||||
"create": "Créer une catégorie",
|
||||
"edit": "Modifier la catégorie",
|
||||
"delete": "Supprimer la catégorie",
|
||||
"name": "Nom",
|
||||
"noCategories": "Aucune catégorie"
|
||||
},
|
||||
"field": {
|
||||
"text": "Texte",
|
||||
"number": "Nombre",
|
||||
"date": "Date",
|
||||
"select": "Sélection",
|
||||
"tags": "Tags",
|
||||
"checkbox": "Case à cocher",
|
||||
"url": "URL",
|
||||
"currency": "Devise",
|
||||
"required": "Obligatoire",
|
||||
"placeholder": "Placeholder",
|
||||
"options": "Options",
|
||||
"addOption": "Ajouter une option",
|
||||
"removeField": "Supprimer le champ"
|
||||
},
|
||||
"template": {
|
||||
"electronics": "Électronique",
|
||||
"books": "Livres",
|
||||
"furniture": "Meubles",
|
||||
"clothing": "Vêtements",
|
||||
"tools": "Outils",
|
||||
"kitchen": "Cuisine",
|
||||
"media": "Médias",
|
||||
"custom": "Personnalisé"
|
||||
},
|
||||
"view": {
|
||||
"list": "Liste",
|
||||
"grid": "Grille",
|
||||
"table": "Tableau"
|
||||
},
|
||||
"filter": {
|
||||
"all": "Tous",
|
||||
"saved": "Filtres enregistrés",
|
||||
"save": "Enregistrer le filtre",
|
||||
"clear": "Effacer les filtres"
|
||||
},
|
||||
"purchase": {
|
||||
"title": "Données d'achat",
|
||||
"price": "Prix",
|
||||
"currency": "Devise",
|
||||
"date": "Date d'achat",
|
||||
"retailer": "Revendeur",
|
||||
"warranty": "Garantie jusqu'au",
|
||||
"receipt": "Reçu"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
"logout": "Déconnexion",
|
||||
"register": "Inscription",
|
||||
"email": "Email",
|
||||
"password": "Mot de passe",
|
||||
"forgotPassword": "Mot de passe oublié ?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"add": "Ajouter",
|
||||
"close": "Fermer",
|
||||
"search": "Rechercher",
|
||||
"error": "Erreur",
|
||||
"success": "Succès",
|
||||
"loading": "Chargement...",
|
||||
"noResults": "Aucun résultat",
|
||||
"confirm": "Confirmer",
|
||||
"back": "Retour",
|
||||
"next": "Suivant",
|
||||
"create": "Créer"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Page introuvable",
|
||||
"backToHome": "Retour à l'accueil"
|
||||
}
|
||||
}
|
||||
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/it.json
Normal file
148
apps/manacore/apps/web/src/lib/i18n/locales/inventar/it.json
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Inventar",
|
||||
"loading": "Caricamento..."
|
||||
},
|
||||
"nav": {
|
||||
"collections": "Collezioni",
|
||||
"allItems": "Tutti gli articoli",
|
||||
"locations": "Posizioni",
|
||||
"categories": "Categorie",
|
||||
"tags": "Tag",
|
||||
"search": "Cerca",
|
||||
"settings": "Impostazioni",
|
||||
"feedback": "Feedback"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Crea collezione",
|
||||
"edit": "Modifica collezione",
|
||||
"delete": "Elimina collezione",
|
||||
"name": "Nome",
|
||||
"description": "Descrizione",
|
||||
"icon": "Icona",
|
||||
"color": "Colore",
|
||||
"template": "Modello",
|
||||
"schema": "Schema",
|
||||
"noCollections": "Nessuna collezione",
|
||||
"itemCount": "{count} articoli",
|
||||
"selectTemplate": "Seleziona modello",
|
||||
"customFields": "Campi personalizzati",
|
||||
"addField": "Aggiungi campo"
|
||||
},
|
||||
"item": {
|
||||
"create": "Crea articolo",
|
||||
"edit": "Modifica articolo",
|
||||
"delete": "Elimina articolo",
|
||||
"name": "Nome",
|
||||
"description": "Descrizione",
|
||||
"status": "Stato",
|
||||
"quantity": "Quantità",
|
||||
"location": "Posizione",
|
||||
"category": "Categoria",
|
||||
"tags": "Tag",
|
||||
"photos": "Foto",
|
||||
"notes": "Note",
|
||||
"documents": "Documenti",
|
||||
"noItems": "Nessun articolo",
|
||||
"addPhoto": "Aggiungi foto",
|
||||
"addNote": "Aggiungi nota",
|
||||
"addDocument": "Aggiungi documento"
|
||||
},
|
||||
"status": {
|
||||
"owned": "Posseduto",
|
||||
"lent": "Prestato",
|
||||
"stored": "Depositato",
|
||||
"for_sale": "In vendita",
|
||||
"disposed": "Smaltito"
|
||||
},
|
||||
"location": {
|
||||
"create": "Crea posizione",
|
||||
"edit": "Modifica posizione",
|
||||
"delete": "Elimina posizione",
|
||||
"name": "Nome",
|
||||
"parent": "Padre",
|
||||
"noLocations": "Nessuna posizione",
|
||||
"addSub": "Aggiungi sotto-posizione"
|
||||
},
|
||||
"category": {
|
||||
"create": "Crea categoria",
|
||||
"edit": "Modifica categoria",
|
||||
"delete": "Elimina categoria",
|
||||
"name": "Nome",
|
||||
"noCategories": "Nessuna categoria"
|
||||
},
|
||||
"field": {
|
||||
"text": "Testo",
|
||||
"number": "Numero",
|
||||
"date": "Data",
|
||||
"select": "Selezione",
|
||||
"tags": "Tag",
|
||||
"checkbox": "Casella",
|
||||
"url": "URL",
|
||||
"currency": "Valuta",
|
||||
"required": "Obbligatorio",
|
||||
"placeholder": "Segnaposto",
|
||||
"options": "Opzioni",
|
||||
"addOption": "Aggiungi opzione",
|
||||
"removeField": "Rimuovi campo"
|
||||
},
|
||||
"template": {
|
||||
"electronics": "Elettronica",
|
||||
"books": "Libri",
|
||||
"furniture": "Mobili",
|
||||
"clothing": "Abbigliamento",
|
||||
"tools": "Utensili",
|
||||
"kitchen": "Cucina",
|
||||
"media": "Media",
|
||||
"custom": "Personalizzato"
|
||||
},
|
||||
"view": {
|
||||
"list": "Lista",
|
||||
"grid": "Griglia",
|
||||
"table": "Tabella"
|
||||
},
|
||||
"filter": {
|
||||
"all": "Tutti",
|
||||
"saved": "Filtri salvati",
|
||||
"save": "Salva filtro",
|
||||
"clear": "Cancella filtri"
|
||||
},
|
||||
"purchase": {
|
||||
"title": "Dati di acquisto",
|
||||
"price": "Prezzo",
|
||||
"currency": "Valuta",
|
||||
"date": "Data di acquisto",
|
||||
"retailer": "Rivenditore",
|
||||
"warranty": "Garanzia fino al",
|
||||
"receipt": "Ricevuta"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
"logout": "Esci",
|
||||
"register": "Registrati",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"forgotPassword": "Password dimenticata?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"add": "Aggiungi",
|
||||
"close": "Chiudi",
|
||||
"search": "Cerca",
|
||||
"error": "Errore",
|
||||
"success": "Successo",
|
||||
"loading": "Caricamento...",
|
||||
"noResults": "Nessun risultato",
|
||||
"confirm": "Conferma",
|
||||
"back": "Indietro",
|
||||
"next": "Avanti",
|
||||
"create": "Crea"
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Pagina non trovata",
|
||||
"backToHome": "Torna alla home"
|
||||
}
|
||||
}
|
||||
320
apps/manacore/apps/web/src/lib/i18n/locales/memoro/de.json
Normal file
320
apps/manacore/apps/web/src/lib/i18n/locales/memoro/de.json
Normal file
|
|
@ -0,0 +1,320 @@
|
|||
{
|
||||
"common": {
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"share": "Teilen",
|
||||
"back": "Zurück",
|
||||
"next": "Weiter",
|
||||
"done": "Fertig",
|
||||
"loading": "Wird geladen...",
|
||||
"search": "Suchen",
|
||||
"settings": "Einstellungen",
|
||||
"yes": "Ja",
|
||||
"no": "Nein",
|
||||
"ok": "OK",
|
||||
"error": "Fehler",
|
||||
"success": "Erfolg",
|
||||
"create": "Erstellen",
|
||||
"confirm": "Bestätigen",
|
||||
"close": "Schließen",
|
||||
"or": "ODER"
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Dashboard",
|
||||
"tags": "Tags",
|
||||
"spaces": "Spaces",
|
||||
"mana": "Mana",
|
||||
"blueprints": "Vorlagen",
|
||||
"statistics": "Statistiken",
|
||||
"settings": "Einstellungen",
|
||||
"logout": "Abmelden",
|
||||
"expand": "Erweitern",
|
||||
"minimize": "Minimieren",
|
||||
"shortcuts": "Tastenkombinationen"
|
||||
},
|
||||
"auth": {
|
||||
"welcome": "Willkommen bei Memoro",
|
||||
"get_started": "Los geht's",
|
||||
"create_account": "Neues Konto erstellen",
|
||||
"sign_in": "Anmelden",
|
||||
"sign_in_with_email": "Mit E-Mail anmelden",
|
||||
"sign_up_with_email": "Mit E-Mail registrieren",
|
||||
"email": "E-Mail",
|
||||
"password": "Passwort",
|
||||
"confirm_password": "Passwort bestätigen",
|
||||
"forgot_password": "Passwort vergessen?",
|
||||
"reset_password": "Passwort zurücksetzen",
|
||||
"logging_in": "Anmelden...",
|
||||
"creating_account": "Konto wird erstellt...",
|
||||
"sending": "Senden...",
|
||||
"error_email_required": "Bitte gib deine E-Mail-Adresse ein",
|
||||
"error_password_required": "Bitte gib dein Passwort ein",
|
||||
"error_confirm_password": "Bitte bestätige dein Passwort",
|
||||
"error_passwords_not_match": "Passwörter stimmen nicht überein",
|
||||
"error_password_too_short": "Das Passwort muss mindestens 8 Zeichen lang sein",
|
||||
"error_password_requirements": "Das Passwort muss mindestens einen Kleinbuchstaben, einen Großbuchstaben, eine Ziffer und ein Sonderzeichen enthalten",
|
||||
"error_registration_failed": "Registrierung fehlgeschlagen",
|
||||
"password_requirement": "Passwort muss mindestens 8 Zeichen lang sein und mindestens einen Kleinbuchstaben, einen Großbuchstaben, eine Ziffer und ein Sonderzeichen enthalten.",
|
||||
"registration_success": "Registrierung erfolgreich! Überprüfe deine E-Mail, um dein Konto zu bestätigen.",
|
||||
"check_email_confirmation": "Bitte überprüfe deine E-Mail, um dein Konto zu bestätigen.",
|
||||
"reset_email_sent": "Gib deine E-Mail-Adresse ein und wir senden dir einen Link zum Zurücksetzen deines Passworts.",
|
||||
"email_only_title": "Warum nur E-Mail-Authentifizierung?",
|
||||
"email_only_info": "Wir unterstützen nur E-Mail-Registrierung, um deine Unabhängigkeit und Privatsphäre zu gewährleisten.",
|
||||
"email_only_learn_more": "Mehr erfahren",
|
||||
"email_only_intro": "Wir glauben daran, dir die volle Kontrolle über dein Konto und deine Daten zu geben. Mit E-Mail-basierter Authentifizierung stellen wir sicher:",
|
||||
"email_only_benefit_1_title": "Kein Vendor Lock-in",
|
||||
"email_only_benefit_1_desc": "Du bist nicht von Drittanbietern wie Google oder Apple abhängig. Dein Konto funktioniert unabhängig.",
|
||||
"email_only_benefit_2_title": "Verbesserte Privatsphäre",
|
||||
"email_only_benefit_2_desc": "Wir teilen deine Daten nicht mit Google, Apple oder anderen Drittanbietern zur Authentifizierung.",
|
||||
"email_only_benefit_3_title": "Konto-Portabilität",
|
||||
"email_only_benefit_3_desc": "Deine E-Mail-Adresse ist portabel und funktioniert auf allen Geräten und Plattformen.",
|
||||
"email_only_benefit_4_title": "Direkte Kommunikation",
|
||||
"email_only_benefit_4_desc": "Wir können dich direkt über wichtige Updates erreichen, ohne auf Drittanbieter-Benachrichtigungssysteme angewiesen zu sein.",
|
||||
"email_only_modal_footer": "Wir sind verpflichtet, Tools zu entwickeln, die deine Freiheit und Privatsphäre respektieren. E-Mail-Authentifizierung ist Teil dieser Verpflichtung.",
|
||||
"got_it": "Verstanden",
|
||||
"already_have_account": "Hast du bereits ein Konto?",
|
||||
"dont_have_account": "Noch kein Konto?",
|
||||
"terms_agreement": "Mit der Nutzung von Memoro stimmst du unseren <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">AGB</a> und der <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Datenschutzerklärung</a> zu.",
|
||||
"mana_login": "Mana Login",
|
||||
"mana_login_description": "Ein Login für alle Mana Apps",
|
||||
"mana_login_benefit_0": "Mana Subscriptions über alle Apps hinweg nutzen - nur einmal zahlen und alles nutzen",
|
||||
"back": "Zurück",
|
||||
"reset_password_description": "Gib deine E-Mail-Adresse ein und wir senden dir einen Link zum Zurücksetzen deines Passworts.",
|
||||
"reset_password_error": "Passwort zurücksetzen fehlgeschlagen",
|
||||
"reset_password_success": "E-Mail wurde versendet!",
|
||||
"reset_password_rate_limit": "Zu viele Versuche. Bitte warte einige Minuten.",
|
||||
"reset_email_sent_description": "Wir haben eine E-Mail mit Anweisungen zum Zurücksetzen deines Passworts an {email} gesendet. Bitte überprüfe deinen Posteingang und Spam-Ordner.",
|
||||
"back_to_login": "Zurück zum Login",
|
||||
"resend_email": "E-Mail erneut senden",
|
||||
"reset_email_sent_title": "E-Mail wurde versendet!",
|
||||
"terms_agreement_conjunction": "und der",
|
||||
"terms_agreement_suffix": "zu.",
|
||||
"oauth_error_access_denied": "Zugriff verweigert. Die Anmeldung wurde abgebrochen.",
|
||||
"oauth_error_server_error": "Server-Fehler bei der Authentifizierung. Bitte versuche es erneut.",
|
||||
"oauth_error_temporarily_unavailable": "Der Authentifizierungsdienst ist vorübergehend nicht verfügbar. Bitte versuche es später erneut.",
|
||||
"oauth_error_invalid_request": "Ungültige Anfrage. Bitte versuche es erneut.",
|
||||
"oauth_error_unauthorized_client": "Nicht autorisierter Client. Bitte kontaktiere den Support.",
|
||||
"oauth_error_unsupported_response_type": "Nicht unterstützter Antworttyp. Bitte kontaktiere den Support.",
|
||||
"oauth_error_invalid_scope": "Ungültiger Berechtigungsbereich. Bitte kontaktiere den Support.",
|
||||
"oauth_error_unknown": "Ein unbekannter Fehler ist aufgetreten. Bitte versuche es erneut.",
|
||||
"password_requirements_title": "Passwort-Anforderungen:",
|
||||
"password_requirement_length": "Mindestens 8 Zeichen",
|
||||
"password_requirement_lowercase": "Einen Kleinbuchstaben",
|
||||
"password_requirement_uppercase": "Einen Großbuchstaben",
|
||||
"password_requirement_digit": "Eine Ziffer",
|
||||
"password_requirement_special": "Ein Sonderzeichen"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
"recent_memos": "Neueste Memos",
|
||||
"no_memos": "Keine Memos gefunden",
|
||||
"create_memo": "Memo erstellen",
|
||||
"search_placeholder": "Memos durchsuchen..."
|
||||
},
|
||||
"memo": {
|
||||
"title": "Memo",
|
||||
"unnamed": "Unbenanntes Memo",
|
||||
"word_count": "{{count}} Wort",
|
||||
"word_count_plural": "{{count}} Wörter",
|
||||
"delete_confirmation": "Möchtest du dieses Memo wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"delete_permanently": "Endgültig löschen",
|
||||
"deleting": "Wird gelöscht...",
|
||||
"pin": "Anheften",
|
||||
"unpin": "Loslösen",
|
||||
"share": "Teilen",
|
||||
"edit": "Bearbeiten",
|
||||
"translate": "Übersetzen",
|
||||
"create_memory": "Memory erstellen",
|
||||
"ask_question": "Frage stellen",
|
||||
"copy_transcript": "Transkript kopieren",
|
||||
"replace_word": "Wort ersetzen",
|
||||
"reprocess": "Erneut verarbeiten",
|
||||
"label_speakers": "Sprecher benennen",
|
||||
"add_photos": "Fotos hinzufügen",
|
||||
"manage_spaces": "Spaces verwalten",
|
||||
"tags": "Tags",
|
||||
"add_tag": "Tag hinzufügen",
|
||||
"options": "Optionen",
|
||||
"search": "Suchen",
|
||||
"copy": "Kopieren",
|
||||
"speakers": "Sprecher",
|
||||
"find_replace": "Suchen & Ersetzen",
|
||||
"shortcuts": "Tastenkürzel",
|
||||
"no_memo_selected": "Kein Memo ausgewählt",
|
||||
"select_memo_hint": "Wähle ein Memo aus der Liste oder erstelle eine neue Aufnahme",
|
||||
"processing_transcript": "Transkription wird verarbeitet...",
|
||||
"ask_question_placeholder": "Stelle eine Frage zu diesem Memo...",
|
||||
"open_in_new_tab": "In neuem Tab öffnen",
|
||||
"edit_title": "Titel bearbeiten",
|
||||
"export_text": "Als Text exportieren",
|
||||
"enter_new_title": "Neuen Titel eingeben:",
|
||||
"no_title": "Ohne Titel",
|
||||
"no_transcript": "Kein Transkript verfügbar",
|
||||
"link_copied": "Link in Zwischenablage kopiert!",
|
||||
"transcript_copied": "Transkript in Zwischenablage kopiert!",
|
||||
"no_search_results": "Keine Suchergebnisse",
|
||||
"no_memos_with_search": "Es wurden keine Memos gefunden, die \"{query}\" enthalten.",
|
||||
"clear_search": "Suche löschen",
|
||||
"no_memos_with_tag": "Keine Memos mit diesem Tag",
|
||||
"no_memos_with_tag_hint": "Es gibt noch keine Memos mit diesem Tag.",
|
||||
"show_all_memos": "Alle Memos anzeigen",
|
||||
"no_memos_yet": "Noch keine Memos",
|
||||
"no_memos_hint": "Gehe zur Aufnahme-Seite, um dein erstes Memo aufzunehmen",
|
||||
"load_more": "Mehr Memos laden",
|
||||
"search_placeholder": "Memos durchsuchen...",
|
||||
"delete_memo_title": "Memo löschen",
|
||||
"delete_memo_confirm": "Möchtest du \"{title}\" wirklich löschen?",
|
||||
"delete_memo_warning": "Diese Aktion kann nicht rückgängig gemacht werden. Das Memo und alle zugehörigen Daten werden dauerhaft gelöscht.",
|
||||
"error_user_not_authenticated": "Benutzer nicht authentifiziert",
|
||||
"error_loading_memos": "Memos konnten nicht geladen werden",
|
||||
"error_deleting_memo": "Fehler beim Löschen des Memos. Bitte versuche es erneut.",
|
||||
"error_updating_title": "Fehler beim Aktualisieren des Titels. Bitte versuche es erneut.",
|
||||
"error_copying_link": "Fehler beim Kopieren des Links. Bitte versuche es erneut.",
|
||||
"error_pin_status": "Fehler beim Ändern des Pin-Status. Bitte versuche es erneut.",
|
||||
"error_saving": "Fehler beim Speichern. Bitte versuche es erneut.",
|
||||
"error_copying_transcript": "Fehler beim Kopieren des Transkripts. Bitte versuche es erneut.",
|
||||
"error_updating_tags": "Fehler beim Aktualisieren der Tags. Bitte versuche es erneut.",
|
||||
"error_creating_tag": "Fehler beim Erstellen des Tags. Bitte versuche es erneut.",
|
||||
"error_asking_question": "Fehler bei der Verarbeitung der Frage. Bitte versuche es erneut.",
|
||||
"retry": "Erneut versuchen",
|
||||
"export_title": "Titel",
|
||||
"export_date": "Datum",
|
||||
"export_duration": "Dauer",
|
||||
"export_transcript": "Transkript",
|
||||
"export_no_transcript": "Kein Transkript verfügbar",
|
||||
"export_ai_analysis": "KI-Analyse"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"create_tag": "Tag erstellen",
|
||||
"search_placeholder": "Tags durchsuchen...",
|
||||
"no_tags": "Keine Tags gefunden",
|
||||
"delete_confirmation": "Möchtest du den Tag \"{{name}}\" wirklich löschen?",
|
||||
"tag_name": "Tag-Name",
|
||||
"tag_color": "Tag-Farbe"
|
||||
},
|
||||
"spaces": {
|
||||
"title": "Spaces",
|
||||
"create_space": "Space erstellen",
|
||||
"no_spaces": "Keine Spaces gefunden",
|
||||
"members": "Mitglieder",
|
||||
"invite": "Einladen"
|
||||
},
|
||||
"blueprints": {
|
||||
"title": "Vorlagen",
|
||||
"loading": "Lade Vorlagen...",
|
||||
"no_blueprints": "Keine Vorlagen gefunden",
|
||||
"search_placeholder": "Vorlagen durchsuchen...",
|
||||
"all_categories": "Alle",
|
||||
"standard": "Standard",
|
||||
"manage": "Blueprints verwalten",
|
||||
"activate": "Blueprint aktivieren",
|
||||
"load_error": "Blueprints konnten nicht geladen werden.",
|
||||
"previous_tip": "Vorheriger Tipp",
|
||||
"next_tip": "Nächster Tipp",
|
||||
"go_to_tip": "Gehe zu Tipp {index}"
|
||||
},
|
||||
"record": {
|
||||
"title": "Aufnehmen - Memoro",
|
||||
"instruction": "Halte gedrückt zum Aufnehmen",
|
||||
"uploading": "Wird hochgeladen...",
|
||||
"user_not_authenticated": "Benutzer nicht authentifiziert",
|
||||
"upload_failed": "Upload fehlgeschlagen",
|
||||
"network_error": "Netzwerkfehler: Bitte überprüfe deine Verbindung und versuche es erneut.",
|
||||
"upload_error": "Fehler beim Hochladen der Aufnahme: {error}",
|
||||
"unexpected_error": "Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es erneut.",
|
||||
"cancel_title": "Aufnahme löschen",
|
||||
"cancel_message": "Möchtest du die aktuelle Aufnahme wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"cancel_confirm": "Löschen",
|
||||
"cancel_abort": "Nicht löschen",
|
||||
"pause": "Pause",
|
||||
"resume": "Fortsetzen",
|
||||
"cancel": "Aufnahme abbrechen"
|
||||
},
|
||||
"statistics": {
|
||||
"title": "Statistiken",
|
||||
"today": "Heute",
|
||||
"last_30_days": "Letzte 30 Tage",
|
||||
"total": "Gesamt",
|
||||
"memos": "Memos",
|
||||
"words": "Wörter",
|
||||
"recording_duration": "Aufnahmedauer",
|
||||
"loading": "Lade Statistiken..."
|
||||
},
|
||||
"subscription": {
|
||||
"title": "Mana kaufen",
|
||||
"current_plan": "Aktueller Tarif",
|
||||
"your_mana": "Dein Mana",
|
||||
"buy": "Kaufen",
|
||||
"popular": "Beliebt",
|
||||
"legacy_plan": "Alter Tarif",
|
||||
"monthly": "Monatlich",
|
||||
"yearly": "Jährlich"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Einstellungen",
|
||||
"appearance": "Darstellung",
|
||||
"theme": "Theme",
|
||||
"system": "System",
|
||||
"light": "Hell",
|
||||
"dark": "Dunkel",
|
||||
"language": "Sprache",
|
||||
"user_interface": "Benutzeroberfläche",
|
||||
"show_language_button": "Sprachen-Button anzeigen",
|
||||
"show_recording_instruction": "Aufnahme-Anleitung anzeigen",
|
||||
"show_blueprints": "Blueprints anzeigen",
|
||||
"show_mana_badge": "Mana-Anzeige im Header",
|
||||
"data_privacy": "Daten & Privatsphäre",
|
||||
"save_location": "Standort speichern",
|
||||
"enable_analytics": "Analytics aktivieren",
|
||||
"support": "Support",
|
||||
"contact_support": "Support kontaktieren",
|
||||
"rate_app": "App bewerten",
|
||||
"account": "Konto",
|
||||
"email_label": "E-Mail-Adresse",
|
||||
"sign_out": "Abmelden",
|
||||
"delete_account": "Konto löschen",
|
||||
"app_info": "App-Informationen",
|
||||
"version": "Version",
|
||||
"platform": "Plattform",
|
||||
"build": "Build",
|
||||
"browser": "Browser",
|
||||
"copyright": "© 2025 Memoro GmbH",
|
||||
"made_with_love": "Made with ❤️ in Germany"
|
||||
},
|
||||
"app_slider": {
|
||||
"title": "Weitere Manacore Apps",
|
||||
"memoro_desc": "KI-gestützte Sprachmemos",
|
||||
"memoro_long_desc": "Verwandle deine Stimme in organisierte, umsetzbare Erkenntnisse mit KI-gestützter Transkription und Analyse. Perfekt zum Festhalten von Ideen unterwegs.",
|
||||
"maerchenzauber_desc": "Magische Gute-Nacht-Geschichten",
|
||||
"maerchenzauber_long_desc": "Erschaffe personalisierte Gute-Nacht-Geschichten für deine Kinder mit KI. Entfache die Fantasie und mache jede Nacht magisch mit einzigartigen Erzählungen.",
|
||||
"moodlit_desc": "Dein Stimmungsbegleiter",
|
||||
"moodlit_long_desc": "Verfolge und verstehe deine Emotionen mit KI-gestützten Einblicken. Baue emotionales Bewusstsein auf und verbessere dein mentales Wohlbefinden.",
|
||||
"manacore_desc": "KI-Produktivitätssuite",
|
||||
"manacore_long_desc": "Die zentrale Anlaufstelle für alle Manacore-Apps. Verwalte deine Abonnements, synchronisiere Daten und greife auf leistungsstarke KI-Tools von einem Ort aus zu.",
|
||||
"coming_soon": "Demnächst",
|
||||
"download": "Download",
|
||||
"get_started": "Los geht's",
|
||||
"status_published": "Veröffentlicht",
|
||||
"status_beta": "Beta",
|
||||
"status_development": "In Entwicklung",
|
||||
"status_planning": "Geplant"
|
||||
},
|
||||
"theme": {
|
||||
"toggle": "Theme wechseln",
|
||||
"light_mode": "Heller Modus",
|
||||
"dark_mode": "Dunkler Modus",
|
||||
"switch_to_light": "Zum hellen Modus wechseln",
|
||||
"switch_to_dark": "Zum dunklen Modus wechseln"
|
||||
},
|
||||
"errors": {
|
||||
"unexpected": "Ein unerwarteter Fehler ist aufgetreten.",
|
||||
"network": "Netzwerkfehler. Bitte überprüfe deine Internetverbindung.",
|
||||
"not_found": "Nicht gefunden.",
|
||||
"unauthorized": "Nicht autorisiert.",
|
||||
"forbidden": "Zugriff verweigert.",
|
||||
"server_error": "Serverfehler. Bitte versuche es später erneut."
|
||||
}
|
||||
}
|
||||
320
apps/manacore/apps/web/src/lib/i18n/locales/memoro/en.json
Normal file
320
apps/manacore/apps/web/src/lib/i18n/locales/memoro/en.json
Normal file
|
|
@ -0,0 +1,320 @@
|
|||
{
|
||||
"common": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"share": "Share",
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"done": "Done",
|
||||
"loading": "Loading...",
|
||||
"search": "Search",
|
||||
"settings": "Settings",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"ok": "OK",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"create": "Create",
|
||||
"confirm": "Confirm",
|
||||
"close": "Close",
|
||||
"or": "OR"
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Dashboard",
|
||||
"tags": "Tags",
|
||||
"spaces": "Spaces",
|
||||
"mana": "Mana",
|
||||
"blueprints": "Blueprints",
|
||||
"statistics": "Statistics",
|
||||
"settings": "Settings",
|
||||
"logout": "Logout",
|
||||
"expand": "Expand",
|
||||
"minimize": "Minimize",
|
||||
"shortcuts": "Shortcuts"
|
||||
},
|
||||
"auth": {
|
||||
"welcome": "Welcome to Memoro",
|
||||
"get_started": "Get Started",
|
||||
"create_account": "Create Account",
|
||||
"sign_in": "Sign In",
|
||||
"sign_in_with_email": "Sign In with Email",
|
||||
"sign_up_with_email": "Sign Up with Email",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"confirm_password": "Confirm Password",
|
||||
"forgot_password": "Forgot Password?",
|
||||
"reset_password": "Reset Password",
|
||||
"logging_in": "Signing in...",
|
||||
"creating_account": "Creating account...",
|
||||
"sending": "Sending...",
|
||||
"error_email_required": "Please enter your email address",
|
||||
"error_password_required": "Please enter your password",
|
||||
"error_confirm_password": "Please confirm your password",
|
||||
"error_passwords_not_match": "Passwords do not match",
|
||||
"error_password_too_short": "Password must be at least 8 characters long",
|
||||
"error_password_requirements": "Password must contain at least one lowercase letter, one uppercase letter, one digit, and one special character",
|
||||
"error_registration_failed": "Registration failed",
|
||||
"password_requirement": "Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one digit, and one special character.",
|
||||
"registration_success": "Registration successful! Check your email to verify your account.",
|
||||
"check_email_confirmation": "Please check your email to confirm your account.",
|
||||
"reset_email_sent": "Enter your email address and we'll send you a link to reset your password.",
|
||||
"email_only_title": "Why Email-Only Authentication?",
|
||||
"email_only_info": "We only support email registration to ensure your independence and privacy.",
|
||||
"email_only_learn_more": "Learn more",
|
||||
"email_only_intro": "We believe in giving you full control over your account and data. By using email-based authentication, we ensure:",
|
||||
"email_only_benefit_1_title": "No Vendor Lock-In",
|
||||
"email_only_benefit_1_desc": "You're not dependent on third-party services like Google or Apple. Your account works independently.",
|
||||
"email_only_benefit_2_title": "Enhanced Privacy",
|
||||
"email_only_benefit_2_desc": "We don't share your data with Google, Apple, or any other third party for authentication.",
|
||||
"email_only_benefit_3_title": "Account Portability",
|
||||
"email_only_benefit_3_desc": "Your email address is portable and works across all devices and platforms.",
|
||||
"email_only_benefit_4_title": "Direct Communication",
|
||||
"email_only_benefit_4_desc": "We can reach you directly for important updates without relying on third-party notification systems.",
|
||||
"email_only_modal_footer": "We're committed to building tools that respect your freedom and privacy. Email authentication is part of that commitment.",
|
||||
"got_it": "Got it",
|
||||
"already_have_account": "Already have an account?",
|
||||
"dont_have_account": "Don't have an account?",
|
||||
"terms_agreement": "By using Memoro you agree to our <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Terms</a> and <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Privacy Policy</a>.",
|
||||
"mana_login": "Mana Login",
|
||||
"mana_login_description": "One login for all Mana apps",
|
||||
"mana_login_benefit_0": "Use Mana subscriptions across all apps - pay once and use everything",
|
||||
"back": "Back",
|
||||
"reset_password_description": "Enter your email address and we'll send you a link to reset your password.",
|
||||
"reset_password_error": "Password reset failed",
|
||||
"reset_password_success": "Email sent!",
|
||||
"reset_password_rate_limit": "Too many attempts. Please wait a few minutes.",
|
||||
"reset_email_sent_description": "We've sent an email with instructions to reset your password to {email}. Please check your inbox and spam folder.",
|
||||
"back_to_login": "Back to login",
|
||||
"resend_email": "Resend email",
|
||||
"reset_email_sent_title": "Email sent!",
|
||||
"terms_agreement_conjunction": "and the",
|
||||
"terms_agreement_suffix": ".",
|
||||
"oauth_error_access_denied": "Access denied. The login was cancelled.",
|
||||
"oauth_error_server_error": "Server error during authentication. Please try again.",
|
||||
"oauth_error_temporarily_unavailable": "The authentication service is temporarily unavailable. Please try again later.",
|
||||
"oauth_error_invalid_request": "Invalid request. Please try again.",
|
||||
"oauth_error_unauthorized_client": "Unauthorized client. Please contact support.",
|
||||
"oauth_error_unsupported_response_type": "Unsupported response type. Please contact support.",
|
||||
"oauth_error_invalid_scope": "Invalid scope. Please contact support.",
|
||||
"oauth_error_unknown": "An unknown error occurred. Please try again.",
|
||||
"password_requirements_title": "Password requirements:",
|
||||
"password_requirement_length": "At least 8 characters",
|
||||
"password_requirement_lowercase": "One lowercase letter",
|
||||
"password_requirement_uppercase": "One uppercase letter",
|
||||
"password_requirement_digit": "One digit",
|
||||
"password_requirement_special": "One special character"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
"recent_memos": "Recent Memos",
|
||||
"no_memos": "No memos found",
|
||||
"create_memo": "Create Memo",
|
||||
"search_placeholder": "Search memos..."
|
||||
},
|
||||
"memo": {
|
||||
"title": "Memo",
|
||||
"unnamed": "Unnamed Memo",
|
||||
"word_count": "{{count}} word",
|
||||
"word_count_plural": "{{count}} words",
|
||||
"delete_confirmation": "Are you sure you want to delete this memo? This action cannot be undone.",
|
||||
"delete_permanently": "Delete Permanently",
|
||||
"deleting": "Deleting...",
|
||||
"pin": "Pin",
|
||||
"unpin": "Unpin",
|
||||
"share": "Share",
|
||||
"edit": "Edit",
|
||||
"translate": "Translate",
|
||||
"create_memory": "Create Memory",
|
||||
"ask_question": "Ask Question",
|
||||
"copy_transcript": "Copy Transcript",
|
||||
"replace_word": "Replace Word",
|
||||
"reprocess": "Reprocess",
|
||||
"label_speakers": "Label Speakers",
|
||||
"add_photos": "Add Photos",
|
||||
"manage_spaces": "Manage Spaces",
|
||||
"tags": "Tags",
|
||||
"add_tag": "Add Tag",
|
||||
"options": "Options",
|
||||
"search": "Search",
|
||||
"copy": "Copy",
|
||||
"speakers": "Speakers",
|
||||
"find_replace": "Find & Replace",
|
||||
"shortcuts": "Shortcuts",
|
||||
"no_memo_selected": "No memo selected",
|
||||
"select_memo_hint": "Select a memo from the list or create a new recording",
|
||||
"processing_transcript": "Transcription in progress...",
|
||||
"ask_question_placeholder": "Ask a question about this memo...",
|
||||
"open_in_new_tab": "Open in new tab",
|
||||
"edit_title": "Edit title",
|
||||
"export_text": "Export as text",
|
||||
"enter_new_title": "Enter new title:",
|
||||
"no_title": "Untitled",
|
||||
"no_transcript": "No transcript available",
|
||||
"link_copied": "Link copied to clipboard!",
|
||||
"transcript_copied": "Transcript copied to clipboard!",
|
||||
"no_search_results": "No search results",
|
||||
"no_memos_with_search": "No memos found containing \"{query}\".",
|
||||
"clear_search": "Clear search",
|
||||
"no_memos_with_tag": "No memos with this tag",
|
||||
"no_memos_with_tag_hint": "There are no memos with this tag yet.",
|
||||
"show_all_memos": "Show all memos",
|
||||
"no_memos_yet": "No memos yet",
|
||||
"no_memos_hint": "Go to the recording page to create your first memo",
|
||||
"load_more": "Load more memos",
|
||||
"search_placeholder": "Search memos...",
|
||||
"delete_memo_title": "Delete memo",
|
||||
"delete_memo_confirm": "Are you sure you want to delete \"{title}\"?",
|
||||
"delete_memo_warning": "This action cannot be undone. The memo and all associated data will be permanently deleted.",
|
||||
"error_user_not_authenticated": "User not authenticated",
|
||||
"error_loading_memos": "Could not load memos",
|
||||
"error_deleting_memo": "Error deleting memo. Please try again.",
|
||||
"error_updating_title": "Error updating title. Please try again.",
|
||||
"error_copying_link": "Error copying link. Please try again.",
|
||||
"error_pin_status": "Error updating pin status. Please try again.",
|
||||
"error_saving": "Error saving changes. Please try again.",
|
||||
"error_copying_transcript": "Error copying transcript. Please try again.",
|
||||
"error_updating_tags": "Error updating tags. Please try again.",
|
||||
"error_creating_tag": "Error creating tag. Please try again.",
|
||||
"error_asking_question": "Error processing question. Please try again.",
|
||||
"retry": "Try again",
|
||||
"export_title": "Title",
|
||||
"export_date": "Date",
|
||||
"export_duration": "Duration",
|
||||
"export_transcript": "Transcript",
|
||||
"export_no_transcript": "No transcript available",
|
||||
"export_ai_analysis": "AI Analysis"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"create_tag": "Create Tag",
|
||||
"search_placeholder": "Search tags...",
|
||||
"no_tags": "No tags found",
|
||||
"delete_confirmation": "Are you sure you want to delete the tag \"{{name}}\"?",
|
||||
"tag_name": "Tag Name",
|
||||
"tag_color": "Tag Color"
|
||||
},
|
||||
"spaces": {
|
||||
"title": "Spaces",
|
||||
"create_space": "Create Space",
|
||||
"no_spaces": "No spaces found",
|
||||
"members": "Members",
|
||||
"invite": "Invite"
|
||||
},
|
||||
"blueprints": {
|
||||
"title": "Blueprints",
|
||||
"loading": "Loading blueprints...",
|
||||
"no_blueprints": "No blueprints found",
|
||||
"search_placeholder": "Search blueprints...",
|
||||
"all_categories": "All",
|
||||
"standard": "Standard",
|
||||
"manage": "Manage blueprints",
|
||||
"activate": "Activate blueprint",
|
||||
"load_error": "Could not load blueprints.",
|
||||
"previous_tip": "Previous tip",
|
||||
"next_tip": "Next tip",
|
||||
"go_to_tip": "Go to tip {index}"
|
||||
},
|
||||
"record": {
|
||||
"title": "Record - Memoro",
|
||||
"instruction": "Hold to record",
|
||||
"uploading": "Uploading...",
|
||||
"user_not_authenticated": "User not authenticated",
|
||||
"upload_failed": "Upload failed",
|
||||
"network_error": "Network error: Please check your connection and try again.",
|
||||
"upload_error": "Error uploading recording: {error}",
|
||||
"unexpected_error": "An unexpected error occurred. Please try again.",
|
||||
"cancel_title": "Delete Recording",
|
||||
"cancel_message": "Do you really want to delete the current recording? This action cannot be undone.",
|
||||
"cancel_confirm": "Delete",
|
||||
"cancel_abort": "Don't delete",
|
||||
"pause": "Pause",
|
||||
"resume": "Resume",
|
||||
"cancel": "Cancel recording"
|
||||
},
|
||||
"statistics": {
|
||||
"title": "Statistics",
|
||||
"today": "Today",
|
||||
"last_30_days": "Last 30 days",
|
||||
"total": "Total",
|
||||
"memos": "Memos",
|
||||
"words": "Words",
|
||||
"recording_duration": "Recording Duration",
|
||||
"loading": "Loading statistics..."
|
||||
},
|
||||
"subscription": {
|
||||
"title": "Buy Mana",
|
||||
"current_plan": "Current Plan",
|
||||
"your_mana": "Your Mana",
|
||||
"buy": "Buy",
|
||||
"popular": "Popular",
|
||||
"legacy_plan": "Legacy Plan",
|
||||
"monthly": "Monthly",
|
||||
"yearly": "Yearly"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"appearance": "Appearance",
|
||||
"theme": "Theme",
|
||||
"system": "System",
|
||||
"light": "Light",
|
||||
"dark": "Dark",
|
||||
"language": "Language",
|
||||
"user_interface": "User Interface",
|
||||
"show_language_button": "Show Language Button",
|
||||
"show_recording_instruction": "Show Recording Instruction",
|
||||
"show_blueprints": "Show Blueprints",
|
||||
"show_mana_badge": "Show Mana Badge in Header",
|
||||
"data_privacy": "Data & Privacy",
|
||||
"save_location": "Save Location",
|
||||
"enable_analytics": "Enable Analytics",
|
||||
"support": "Support",
|
||||
"contact_support": "Contact Support",
|
||||
"rate_app": "Rate App",
|
||||
"account": "Account",
|
||||
"email_label": "Email Address",
|
||||
"sign_out": "Sign Out",
|
||||
"delete_account": "Delete Account",
|
||||
"app_info": "App Information",
|
||||
"version": "Version",
|
||||
"platform": "Platform",
|
||||
"build": "Build",
|
||||
"browser": "Browser",
|
||||
"copyright": "© 2025 Memoro GmbH",
|
||||
"made_with_love": "Made with ❤️ in Germany"
|
||||
},
|
||||
"app_slider": {
|
||||
"title": "More Manacore Apps",
|
||||
"memoro_desc": "AI-powered voice memos",
|
||||
"memoro_long_desc": "Transform your voice into organized, actionable insights with AI-powered transcription and analysis. Perfect for capturing ideas on the go.",
|
||||
"maerchenzauber_desc": "Magical bedtime stories",
|
||||
"maerchenzauber_long_desc": "Create personalized bedtime stories for your children with AI. Spark imagination and make every night magical with unique tales.",
|
||||
"moodlit_desc": "Your mood companion",
|
||||
"moodlit_long_desc": "Track and understand your emotions with AI-powered insights. Build emotional awareness and improve your mental wellbeing.",
|
||||
"manacore_desc": "AI productivity suite",
|
||||
"manacore_long_desc": "The central hub for all Manacore apps. Manage your subscriptions, sync data, and access powerful AI tools from one place.",
|
||||
"coming_soon": "Coming Soon",
|
||||
"download": "Download",
|
||||
"get_started": "Get Started",
|
||||
"status_published": "Published",
|
||||
"status_beta": "Beta",
|
||||
"status_development": "In Development",
|
||||
"status_planning": "Planned"
|
||||
},
|
||||
"theme": {
|
||||
"toggle": "Toggle Theme",
|
||||
"light_mode": "Light Mode",
|
||||
"dark_mode": "Dark Mode",
|
||||
"switch_to_light": "Switch to light mode",
|
||||
"switch_to_dark": "Switch to dark mode"
|
||||
},
|
||||
"errors": {
|
||||
"unexpected": "An unexpected error occurred.",
|
||||
"network": "Network error. Please check your internet connection.",
|
||||
"not_found": "Not found.",
|
||||
"unauthorized": "Unauthorized.",
|
||||
"forbidden": "Access denied.",
|
||||
"server_error": "Server error. Please try again later."
|
||||
}
|
||||
}
|
||||
319
apps/manacore/apps/web/src/lib/i18n/locales/memoro/es.json
Normal file
319
apps/manacore/apps/web/src/lib/i18n/locales/memoro/es.json
Normal file
|
|
@ -0,0 +1,319 @@
|
|||
{
|
||||
"common": {
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"share": "Compartir",
|
||||
"back": "Volver",
|
||||
"next": "Siguiente",
|
||||
"done": "Hecho",
|
||||
"loading": "Cargando...",
|
||||
"search": "Buscar",
|
||||
"settings": "Ajustes",
|
||||
"yes": "Sí",
|
||||
"no": "No",
|
||||
"ok": "OK",
|
||||
"error": "Error",
|
||||
"success": "Éxito",
|
||||
"create": "Crear",
|
||||
"confirm": "Confirmar",
|
||||
"close": "Cerrar",
|
||||
"or": "O"
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Tablero",
|
||||
"tags": "Etiquetas",
|
||||
"spaces": "Espacios",
|
||||
"mana": "Mana",
|
||||
"blueprints": "Plantillas",
|
||||
"statistics": "Estadísticas",
|
||||
"settings": "Ajustes",
|
||||
"logout": "Cerrar sesión",
|
||||
"expand": "Expandir",
|
||||
"minimize": "Minimizar",
|
||||
"shortcuts": "Atajos"
|
||||
},
|
||||
"auth": {
|
||||
"welcome": "Bienvenido a Memoro",
|
||||
"get_started": "Comenzar",
|
||||
"create_account": "Crear cuenta",
|
||||
"sign_in": "Iniciar sesión",
|
||||
"sign_in_with_email": "Iniciar sesión con correo",
|
||||
"sign_up_with_email": "Registrarse con correo",
|
||||
"email": "Correo electrónico",
|
||||
"password": "Contraseña",
|
||||
"confirm_password": "Confirmar contraseña",
|
||||
"forgot_password": "¿Olvidó su contraseña?",
|
||||
"reset_password": "Restablecer contraseña",
|
||||
"logging_in": "Iniciando sesión...",
|
||||
"creating_account": "Creando cuenta...",
|
||||
"sending": "Enviando...",
|
||||
"error_email_required": "Por favor, introduzca su dirección de correo electrónico",
|
||||
"error_password_required": "Por favor, introduzca su contraseña",
|
||||
"error_confirm_password": "Por favor, confirme su contraseña",
|
||||
"error_passwords_not_match": "Las contraseñas no coinciden",
|
||||
"error_password_too_short": "La contraseña debe tener al menos 8 caracteres",
|
||||
"error_password_requirements": "La contraseña debe contener al menos una letra minúscula, una letra mayúscula, un dígito y un carácter especial",
|
||||
"error_registration_failed": "Error en el registro",
|
||||
"password_requirement": "La contraseña debe tener al menos 8 caracteres y contener al menos una letra minúscula, una letra mayúscula, un dígito y un carácter especial.",
|
||||
"registration_success": "¡Registro exitoso! Revise su correo electrónico para confirmar su cuenta.",
|
||||
"check_email_confirmation": "Por favor, revise su correo electrónico para confirmar su cuenta.",
|
||||
"reset_email_sent": "Introduzca su dirección de correo electrónico y le enviaremos un enlace para restablecer su contraseña.",
|
||||
"email_only_title": "¿Por qué solo autenticación por correo?",
|
||||
"email_only_info": "Solo admitimos el registro por correo electrónico para garantizar su independencia y privacidad.",
|
||||
"email_only_learn_more": "Más información",
|
||||
"email_only_intro": "Creemos en darle control total sobre su cuenta y datos. Al usar autenticación por correo electrónico, garantizamos:",
|
||||
"email_only_benefit_1_title": "Sin dependencia de proveedores",
|
||||
"email_only_benefit_1_desc": "No depende de servicios de terceros como Google o Apple. Su cuenta funciona de forma independiente.",
|
||||
"email_only_benefit_2_title": "Privacidad mejorada",
|
||||
"email_only_benefit_2_desc": "No compartimos sus datos con Google, Apple ni ningún otro tercero para la autenticación.",
|
||||
"email_only_benefit_3_title": "Portabilidad de la cuenta",
|
||||
"email_only_benefit_3_desc": "Su dirección de correo electrónico es portátil y funciona en todos los dispositivos y plataformas.",
|
||||
"email_only_benefit_4_title": "Comunicación directa",
|
||||
"email_only_benefit_4_desc": "Podemos contactarle directamente para actualizaciones importantes sin depender de sistemas de notificación de terceros.",
|
||||
"email_only_modal_footer": "Nos comprometemos a crear herramientas que respeten su libertad y privacidad. La autenticación por correo electrónico es parte de ese compromiso.",
|
||||
"got_it": "Entendido",
|
||||
"already_have_account": "¿Ya tiene una cuenta?",
|
||||
"dont_have_account": "¿No tiene una cuenta?",
|
||||
"terms_agreement": "Al usar Memoro, acepta nuestros <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Términos</a> y nuestra <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Política de privacidad</a>.",
|
||||
"mana_login": "Mana Login",
|
||||
"mana_login_description": "Un login para todas las apps de Mana",
|
||||
"mana_login_benefit_0": "Usa suscripciones de Mana en todas las apps - paga una vez y úsalo todo",
|
||||
"back": "Volver",
|
||||
"reset_password_description": "Introduzca su dirección de correo electrónico y le enviaremos un enlace para restablecer su contraseña.",
|
||||
"reset_password_error": "Error al restablecer la contraseña",
|
||||
"reset_password_success": "¡Correo enviado!",
|
||||
"reset_password_rate_limit": "Demasiados intentos. Por favor, espere unos minutos.",
|
||||
"reset_email_sent_description": "Hemos enviado un correo con instrucciones para restablecer su contraseña a {email}. Por favor, revise su bandeja de entrada y carpeta de spam.",
|
||||
"back_to_login": "Volver al login",
|
||||
"resend_email": "Reenviar correo",
|
||||
"reset_email_sent_title": "¡Correo enviado!",
|
||||
"terms_agreement_conjunction": "y la",
|
||||
"terms_agreement_suffix": ".",
|
||||
"oauth_error_access_denied": "Acceso denegado. El inicio de sesión fue cancelado.",
|
||||
"oauth_error_server_error": "Error del servidor durante la autenticación. Por favor, inténtelo de nuevo.",
|
||||
"oauth_error_temporarily_unavailable": "El servicio de autenticación no está disponible temporalmente. Por favor, inténtelo más tarde.",
|
||||
"oauth_error_invalid_request": "Solicitud inválida. Por favor, inténtelo de nuevo.",
|
||||
"oauth_error_unauthorized_client": "Cliente no autorizado. Por favor, contacte con soporte.",
|
||||
"oauth_error_unsupported_response_type": "Tipo de respuesta no soportado. Por favor, contacte con soporte.",
|
||||
"oauth_error_invalid_scope": "Alcance inválido. Por favor, contacte con soporte.",
|
||||
"oauth_error_unknown": "Ha ocurrido un error desconocido. Por favor, inténtelo de nuevo.",
|
||||
"password_requirements_title": "Requisitos de contraseña:",
|
||||
"password_requirement_length": "Al menos 8 caracteres",
|
||||
"password_requirement_lowercase": "Una letra minúscula",
|
||||
"password_requirement_uppercase": "Una letra mayúscula",
|
||||
"password_requirement_digit": "Un dígito",
|
||||
"password_requirement_special": "Un carácter especial"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Tablero",
|
||||
"recent_memos": "Memos recientes",
|
||||
"no_memos": "No se encontraron memos",
|
||||
"create_memo": "Crear memo",
|
||||
"search_placeholder": "Buscar memos..."
|
||||
},
|
||||
"memo": {
|
||||
"title": "Memo",
|
||||
"unnamed": "Memo sin nombre",
|
||||
"word_count": "{{count}} palabra",
|
||||
"word_count_plural": "{{count}} palabras",
|
||||
"delete_confirmation": "¿Realmente desea eliminar este memo? Esta acción no se puede deshacer.",
|
||||
"delete_permanently": "Eliminar permanentemente",
|
||||
"deleting": "Eliminando...",
|
||||
"pin": "Fijar",
|
||||
"unpin": "Desfijar",
|
||||
"share": "Compartir",
|
||||
"edit": "Editar",
|
||||
"translate": "Traducir",
|
||||
"create_memory": "Crear Memory",
|
||||
"ask_question": "Hacer pregunta",
|
||||
"copy_transcript": "Copiar transcripción",
|
||||
"replace_word": "Reemplazar palabra",
|
||||
"reprocess": "Reprocesar",
|
||||
"label_speakers": "Etiquetar oradores",
|
||||
"add_photos": "Añadir fotos",
|
||||
"manage_spaces": "Gestionar espacios",
|
||||
"tags": "Etiquetas",
|
||||
"add_tag": "Añadir etiqueta",
|
||||
"options": "Opciones",
|
||||
"search": "Buscar",
|
||||
"copy": "Copiar",
|
||||
"speakers": "Oradores",
|
||||
"find_replace": "Buscar y reemplazar",
|
||||
"shortcuts": "Atajos",
|
||||
"no_memo_selected": "Ningún memo seleccionado",
|
||||
"select_memo_hint": "Seleccione un memo de la lista o cree una nueva grabación",
|
||||
"processing_transcript": "Transcripción en proceso...",
|
||||
"ask_question_placeholder": "Haga una pregunta sobre este memo...",
|
||||
"open_in_new_tab": "Abrir en nueva pestaña",
|
||||
"edit_title": "Editar título",
|
||||
"export_text": "Exportar como texto",
|
||||
"enter_new_title": "Introduzca nuevo título:",
|
||||
"no_title": "Sin título",
|
||||
"no_transcript": "No hay transcripción disponible",
|
||||
"link_copied": "¡Enlace copiado al portapapeles!",
|
||||
"transcript_copied": "¡Transcripción copiada al portapapeles!",
|
||||
"no_search_results": "Sin resultados de búsqueda",
|
||||
"no_memos_with_search": "No se encontraron memos que contengan \"{query}\".",
|
||||
"clear_search": "Limpiar búsqueda",
|
||||
"no_memos_with_tag": "No hay memos con esta etiqueta",
|
||||
"no_memos_with_tag_hint": "Aún no hay memos con esta etiqueta.",
|
||||
"show_all_memos": "Mostrar todos los memos",
|
||||
"no_memos_yet": "Aún no hay memos",
|
||||
"no_memos_hint": "Ve a la página de grabación para crear tu primer memo",
|
||||
"search_placeholder": "Buscar memos...",
|
||||
"delete_memo_title": "Eliminar memo",
|
||||
"delete_memo_confirm": "¿Realmente desea eliminar \"{title}\"?",
|
||||
"delete_memo_warning": "Esta acción no se puede deshacer. El memo y todos los datos asociados se eliminarán permanentemente.",
|
||||
"error_user_not_authenticated": "Usuario no autenticado",
|
||||
"error_loading_memos": "No se pudieron cargar los memos",
|
||||
"error_deleting_memo": "Error al eliminar el memo. Por favor, inténtelo de nuevo.",
|
||||
"error_updating_title": "Error al actualizar el título. Por favor, inténtelo de nuevo.",
|
||||
"error_copying_link": "Error al copiar el enlace. Por favor, inténtelo de nuevo.",
|
||||
"error_pin_status": "Error al cambiar el estado de fijado. Por favor, inténtelo de nuevo.",
|
||||
"error_saving": "Error al guardar. Por favor, inténtelo de nuevo.",
|
||||
"error_copying_transcript": "Error al copiar la transcripción. Por favor, inténtelo de nuevo.",
|
||||
"error_updating_tags": "Error al actualizar las etiquetas. Por favor, inténtelo de nuevo.",
|
||||
"error_creating_tag": "Error al crear la etiqueta. Por favor, inténtelo de nuevo.",
|
||||
"error_asking_question": "Error al procesar la pregunta. Por favor, inténtelo de nuevo.",
|
||||
"retry": "Reintentar",
|
||||
"export_title": "Título",
|
||||
"export_date": "Fecha",
|
||||
"export_duration": "Duración",
|
||||
"export_transcript": "Transcripción",
|
||||
"export_no_transcript": "No hay transcripción disponible",
|
||||
"export_ai_analysis": "Análisis de IA"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Etiquetas",
|
||||
"create_tag": "Crear etiqueta",
|
||||
"search_placeholder": "Buscar etiquetas...",
|
||||
"no_tags": "No se encontraron etiquetas",
|
||||
"delete_confirmation": "¿Realmente desea eliminar la etiqueta \"{{name}}\"?",
|
||||
"tag_name": "Nombre de etiqueta",
|
||||
"tag_color": "Color de etiqueta"
|
||||
},
|
||||
"spaces": {
|
||||
"title": "Espacios",
|
||||
"create_space": "Crear espacio",
|
||||
"no_spaces": "No se encontraron espacios",
|
||||
"members": "Miembros",
|
||||
"invite": "Invitar"
|
||||
},
|
||||
"blueprints": {
|
||||
"title": "Plantillas",
|
||||
"loading": "Cargando plantillas...",
|
||||
"no_blueprints": "No se encontraron plantillas",
|
||||
"search_placeholder": "Buscar plantillas...",
|
||||
"all_categories": "Todas",
|
||||
"standard": "Estándar",
|
||||
"manage": "Gestionar plantillas",
|
||||
"activate": "Activar plantilla",
|
||||
"load_error": "No se pudieron cargar las plantillas.",
|
||||
"previous_tip": "Consejo anterior",
|
||||
"next_tip": "Siguiente consejo",
|
||||
"go_to_tip": "Ir al consejo {index}"
|
||||
},
|
||||
"record": {
|
||||
"title": "Grabar - Memoro",
|
||||
"instruction": "Mantén presionado para grabar",
|
||||
"uploading": "Subiendo...",
|
||||
"user_not_authenticated": "Usuario no autenticado",
|
||||
"upload_failed": "Error en la subida",
|
||||
"network_error": "Error de red: Por favor, verifica tu conexión e inténtalo de nuevo.",
|
||||
"upload_error": "Error al subir la grabación: {error}",
|
||||
"unexpected_error": "Ha ocurrido un error inesperado. Por favor, inténtalo de nuevo.",
|
||||
"cancel_title": "Eliminar grabación",
|
||||
"cancel_message": "¿Realmente deseas eliminar la grabación actual? Esta acción no se puede deshacer.",
|
||||
"cancel_confirm": "Eliminar",
|
||||
"cancel_abort": "No eliminar",
|
||||
"pause": "Pausar",
|
||||
"resume": "Continuar",
|
||||
"cancel": "Cancelar grabación"
|
||||
},
|
||||
"statistics": {
|
||||
"title": "Estadísticas",
|
||||
"today": "Hoy",
|
||||
"last_30_days": "Últimos 30 días",
|
||||
"total": "Total",
|
||||
"memos": "Memos",
|
||||
"words": "Palabras",
|
||||
"recording_duration": "Duración de grabación",
|
||||
"loading": "Cargando estadísticas..."
|
||||
},
|
||||
"subscription": {
|
||||
"title": "Comprar Mana",
|
||||
"current_plan": "Plan actual",
|
||||
"your_mana": "Tu Mana",
|
||||
"buy": "Comprar",
|
||||
"popular": "Popular",
|
||||
"legacy_plan": "Plan antiguo",
|
||||
"monthly": "Mensual",
|
||||
"yearly": "Anual"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Ajustes",
|
||||
"appearance": "Apariencia",
|
||||
"theme": "Tema",
|
||||
"system": "Sistema",
|
||||
"light": "Claro",
|
||||
"dark": "Oscuro",
|
||||
"language": "Idioma",
|
||||
"user_interface": "Interfaz de usuario",
|
||||
"show_language_button": "Mostrar botón de idioma",
|
||||
"show_recording_instruction": "Mostrar instrucciones de grabación",
|
||||
"show_blueprints": "Mostrar plantillas",
|
||||
"show_mana_badge": "Mostrar insignia de Mana en el encabezado",
|
||||
"data_privacy": "Datos y privacidad",
|
||||
"save_location": "Guardar ubicación",
|
||||
"enable_analytics": "Habilitar análisis",
|
||||
"support": "Soporte",
|
||||
"contact_support": "Contactar soporte",
|
||||
"rate_app": "Calificar app",
|
||||
"account": "Cuenta",
|
||||
"email_label": "Dirección de correo",
|
||||
"sign_out": "Cerrar sesión",
|
||||
"delete_account": "Eliminar cuenta",
|
||||
"app_info": "Información de la app",
|
||||
"version": "Versión",
|
||||
"platform": "Plataforma",
|
||||
"build": "Build",
|
||||
"browser": "Navegador",
|
||||
"copyright": "© 2025 Memoro GmbH",
|
||||
"made_with_love": "Made with ❤️ in Germany"
|
||||
},
|
||||
"app_slider": {
|
||||
"title": "Más aplicaciones Manacore",
|
||||
"memoro_desc": "Memos de voz impulsados por IA",
|
||||
"memoro_long_desc": "Transforma tu voz en información organizada y accionable con transcripción y análisis impulsados por IA. Perfecto para capturar ideas sobre la marcha.",
|
||||
"maerchenzauber_desc": "Cuentos mágicos para dormir",
|
||||
"maerchenzauber_long_desc": "Crea cuentos personalizados para dormir para tus hijos con IA. Enciende la imaginación y haz cada noche mágica con historias únicas.",
|
||||
"moodlit_desc": "Tu compañero de ánimo",
|
||||
"moodlit_long_desc": "Rastrea y comprende tus emociones con análisis impulsados por IA. Construye conciencia emocional y mejora tu bienestar mental.",
|
||||
"manacore_desc": "Suite de productividad IA",
|
||||
"manacore_long_desc": "El centro para todas las apps de Manacore. Gestiona tus suscripciones, sincroniza datos y accede a herramientas de IA desde un solo lugar.",
|
||||
"coming_soon": "Próximamente",
|
||||
"download": "Descargar",
|
||||
"get_started": "Comenzar",
|
||||
"status_published": "Publicado",
|
||||
"status_beta": "Beta",
|
||||
"status_development": "En desarrollo",
|
||||
"status_planning": "Planificado"
|
||||
},
|
||||
"theme": {
|
||||
"toggle": "Cambiar tema",
|
||||
"light_mode": "Modo claro",
|
||||
"dark_mode": "Modo oscuro",
|
||||
"switch_to_light": "Cambiar a modo claro",
|
||||
"switch_to_dark": "Cambiar a modo oscuro"
|
||||
},
|
||||
"errors": {
|
||||
"unexpected": "Ha ocurrido un error inesperado.",
|
||||
"network": "Error de red. Verifique su conexión a Internet.",
|
||||
"not_found": "No encontrado.",
|
||||
"unauthorized": "No autorizado.",
|
||||
"forbidden": "Acceso denegado.",
|
||||
"server_error": "Error del servidor. Inténtelo de nuevo más tarde."
|
||||
}
|
||||
}
|
||||
319
apps/manacore/apps/web/src/lib/i18n/locales/memoro/fr.json
Normal file
319
apps/manacore/apps/web/src/lib/i18n/locales/memoro/fr.json
Normal file
|
|
@ -0,0 +1,319 @@
|
|||
{
|
||||
"common": {
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"share": "Partager",
|
||||
"back": "Retour",
|
||||
"next": "Suivant",
|
||||
"done": "Terminé",
|
||||
"loading": "Chargement...",
|
||||
"search": "Rechercher",
|
||||
"settings": "Paramètres",
|
||||
"yes": "Oui",
|
||||
"no": "Non",
|
||||
"ok": "OK",
|
||||
"error": "Erreur",
|
||||
"success": "Succès",
|
||||
"create": "Créer",
|
||||
"confirm": "Confirmer",
|
||||
"close": "Fermer",
|
||||
"or": "OU"
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Tableau de bord",
|
||||
"tags": "Tags",
|
||||
"spaces": "Espaces",
|
||||
"mana": "Mana",
|
||||
"blueprints": "Modèles",
|
||||
"statistics": "Statistiques",
|
||||
"settings": "Paramètres",
|
||||
"logout": "Déconnexion",
|
||||
"expand": "Agrandir",
|
||||
"minimize": "Réduire",
|
||||
"shortcuts": "Raccourcis"
|
||||
},
|
||||
"auth": {
|
||||
"welcome": "Bienvenue sur Memoro",
|
||||
"get_started": "Commencer",
|
||||
"create_account": "Créer un compte",
|
||||
"sign_in": "Connexion",
|
||||
"sign_in_with_email": "Se connecter avec l'email",
|
||||
"sign_up_with_email": "S'inscrire avec l'email",
|
||||
"email": "Email",
|
||||
"password": "Mot de passe",
|
||||
"confirm_password": "Confirmer le mot de passe",
|
||||
"forgot_password": "Mot de passe oublié ?",
|
||||
"reset_password": "Réinitialiser le mot de passe",
|
||||
"logging_in": "Connexion en cours...",
|
||||
"creating_account": "Création du compte...",
|
||||
"sending": "Envoi en cours...",
|
||||
"error_email_required": "Veuillez entrer votre adresse email",
|
||||
"error_password_required": "Veuillez entrer votre mot de passe",
|
||||
"error_confirm_password": "Veuillez confirmer votre mot de passe",
|
||||
"error_passwords_not_match": "Les mots de passe ne correspondent pas",
|
||||
"error_password_too_short": "Le mot de passe doit contenir au moins 8 caractères",
|
||||
"error_password_requirements": "Le mot de passe doit contenir au moins une lettre minuscule, une lettre majuscule, un chiffre et un caractère spécial",
|
||||
"error_registration_failed": "Échec de l'inscription",
|
||||
"password_requirement": "Le mot de passe doit contenir au moins 8 caractères et inclure au moins une lettre minuscule, une lettre majuscule, un chiffre et un caractère spécial.",
|
||||
"registration_success": "Inscription réussie ! Vérifiez votre email pour confirmer votre compte.",
|
||||
"check_email_confirmation": "Veuillez vérifier votre email pour confirmer votre compte.",
|
||||
"reset_email_sent": "Entrez votre adresse email et nous vous enverrons un lien pour réinitialiser votre mot de passe.",
|
||||
"email_only_title": "Pourquoi uniquement l'authentification par email ?",
|
||||
"email_only_info": "Nous ne prenons en charge que l'inscription par email pour garantir votre indépendance et votre confidentialité.",
|
||||
"email_only_learn_more": "En savoir plus",
|
||||
"email_only_intro": "Nous croyons en vous donnant le contrôle total sur votre compte et vos données. En utilisant l'authentification par email, nous garantissons :",
|
||||
"email_only_benefit_1_title": "Pas de dépendance aux fournisseurs",
|
||||
"email_only_benefit_1_desc": "Vous n'êtes pas dépendant de services tiers comme Google ou Apple. Votre compte fonctionne de manière indépendante.",
|
||||
"email_only_benefit_2_title": "Confidentialité renforcée",
|
||||
"email_only_benefit_2_desc": "Nous ne partageons pas vos données avec Google, Apple ou d'autres tiers pour l'authentification.",
|
||||
"email_only_benefit_3_title": "Portabilité du compte",
|
||||
"email_only_benefit_3_desc": "Votre adresse email est portable et fonctionne sur tous les appareils et plateformes.",
|
||||
"email_only_benefit_4_title": "Communication directe",
|
||||
"email_only_benefit_4_desc": "Nous pouvons vous contacter directement pour des mises à jour importantes sans dépendre de systèmes de notification tiers.",
|
||||
"email_only_modal_footer": "Nous nous engageons à créer des outils qui respectent votre liberté et votre confidentialité. L'authentification par email fait partie de cet engagement.",
|
||||
"got_it": "Compris",
|
||||
"already_have_account": "Vous avez déjà un compte ?",
|
||||
"dont_have_account": "Pas encore de compte ?",
|
||||
"terms_agreement": "En utilisant Memoro, vous acceptez nos <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Conditions</a> et notre <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Politique de confidentialité</a>.",
|
||||
"mana_login": "Mana Login",
|
||||
"mana_login_description": "Une connexion pour toutes les applications Mana",
|
||||
"mana_login_benefit_0": "Utilisez les abonnements Mana dans toutes les applications - payez une fois et utilisez tout",
|
||||
"back": "Retour",
|
||||
"reset_password_description": "Entrez votre adresse email et nous vous enverrons un lien pour réinitialiser votre mot de passe.",
|
||||
"reset_password_error": "Échec de la réinitialisation du mot de passe",
|
||||
"reset_password_success": "Email envoyé !",
|
||||
"reset_password_rate_limit": "Trop de tentatives. Veuillez patienter quelques minutes.",
|
||||
"reset_email_sent_description": "Nous avons envoyé un email avec des instructions pour réinitialiser votre mot de passe à {email}. Veuillez vérifier votre boîte de réception et votre dossier spam.",
|
||||
"back_to_login": "Retour à la connexion",
|
||||
"resend_email": "Renvoyer l'email",
|
||||
"reset_email_sent_title": "Email envoyé !",
|
||||
"terms_agreement_conjunction": "et la",
|
||||
"terms_agreement_suffix": ".",
|
||||
"oauth_error_access_denied": "Accès refusé. La connexion a été annulée.",
|
||||
"oauth_error_server_error": "Erreur serveur lors de l'authentification. Veuillez réessayer.",
|
||||
"oauth_error_temporarily_unavailable": "Le service d'authentification est temporairement indisponible. Veuillez réessayer plus tard.",
|
||||
"oauth_error_invalid_request": "Requête invalide. Veuillez réessayer.",
|
||||
"oauth_error_unauthorized_client": "Client non autorisé. Veuillez contacter le support.",
|
||||
"oauth_error_unsupported_response_type": "Type de réponse non supporté. Veuillez contacter le support.",
|
||||
"oauth_error_invalid_scope": "Portée invalide. Veuillez contacter le support.",
|
||||
"oauth_error_unknown": "Une erreur inconnue s'est produite. Veuillez réessayer.",
|
||||
"password_requirements_title": "Exigences du mot de passe :",
|
||||
"password_requirement_length": "Au moins 8 caractères",
|
||||
"password_requirement_lowercase": "Une lettre minuscule",
|
||||
"password_requirement_uppercase": "Une lettre majuscule",
|
||||
"password_requirement_digit": "Un chiffre",
|
||||
"password_requirement_special": "Un caractère spécial"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Tableau de bord",
|
||||
"recent_memos": "Mémos récents",
|
||||
"no_memos": "Aucun mémo trouvé",
|
||||
"create_memo": "Créer un mémo",
|
||||
"search_placeholder": "Rechercher des mémos..."
|
||||
},
|
||||
"memo": {
|
||||
"title": "Mémo",
|
||||
"unnamed": "Mémo sans nom",
|
||||
"word_count": "{{count}} mot",
|
||||
"word_count_plural": "{{count}} mots",
|
||||
"delete_confirmation": "Voulez-vous vraiment supprimer ce mémo ? Cette action ne peut pas être annulée.",
|
||||
"delete_permanently": "Supprimer définitivement",
|
||||
"deleting": "Suppression...",
|
||||
"pin": "Épingler",
|
||||
"unpin": "Désépingler",
|
||||
"share": "Partager",
|
||||
"edit": "Modifier",
|
||||
"translate": "Traduire",
|
||||
"create_memory": "Créer une Memory",
|
||||
"ask_question": "Poser une question",
|
||||
"copy_transcript": "Copier la transcription",
|
||||
"replace_word": "Remplacer un mot",
|
||||
"reprocess": "Retraiter",
|
||||
"label_speakers": "Nommer les intervenants",
|
||||
"add_photos": "Ajouter des photos",
|
||||
"manage_spaces": "Gérer les espaces",
|
||||
"tags": "Tags",
|
||||
"add_tag": "Ajouter un tag",
|
||||
"options": "Options",
|
||||
"search": "Rechercher",
|
||||
"copy": "Copier",
|
||||
"speakers": "Intervenants",
|
||||
"find_replace": "Rechercher et remplacer",
|
||||
"shortcuts": "Raccourcis",
|
||||
"no_memo_selected": "Aucun mémo sélectionné",
|
||||
"select_memo_hint": "Sélectionnez un mémo dans la liste ou créez un nouvel enregistrement",
|
||||
"processing_transcript": "Transcription en cours...",
|
||||
"ask_question_placeholder": "Posez une question sur ce mémo...",
|
||||
"open_in_new_tab": "Ouvrir dans un nouvel onglet",
|
||||
"edit_title": "Modifier le titre",
|
||||
"export_text": "Exporter en texte",
|
||||
"enter_new_title": "Entrez le nouveau titre :",
|
||||
"no_title": "Sans titre",
|
||||
"no_transcript": "Aucune transcription disponible",
|
||||
"link_copied": "Lien copié dans le presse-papiers !",
|
||||
"transcript_copied": "Transcription copiée dans le presse-papiers !",
|
||||
"no_search_results": "Aucun résultat de recherche",
|
||||
"no_memos_with_search": "Aucun mémo contenant \"{query}\" n'a été trouvé.",
|
||||
"clear_search": "Effacer la recherche",
|
||||
"no_memos_with_tag": "Aucun mémo avec ce tag",
|
||||
"no_memos_with_tag_hint": "Il n'y a pas encore de mémos avec ce tag.",
|
||||
"show_all_memos": "Afficher tous les mémos",
|
||||
"no_memos_yet": "Pas encore de mémos",
|
||||
"no_memos_hint": "Allez à la page d'enregistrement pour créer votre premier mémo",
|
||||
"search_placeholder": "Rechercher des mémos...",
|
||||
"delete_memo_title": "Supprimer le mémo",
|
||||
"delete_memo_confirm": "Voulez-vous vraiment supprimer \"{title}\" ?",
|
||||
"delete_memo_warning": "Cette action ne peut pas être annulée. Le mémo et toutes les données associées seront supprimés définitivement.",
|
||||
"error_user_not_authenticated": "Utilisateur non authentifié",
|
||||
"error_loading_memos": "Impossible de charger les mémos",
|
||||
"error_deleting_memo": "Erreur lors de la suppression du mémo. Veuillez réessayer.",
|
||||
"error_updating_title": "Erreur lors de la mise à jour du titre. Veuillez réessayer.",
|
||||
"error_copying_link": "Erreur lors de la copie du lien. Veuillez réessayer.",
|
||||
"error_pin_status": "Erreur lors du changement du statut d'épinglage. Veuillez réessayer.",
|
||||
"error_saving": "Erreur lors de l'enregistrement. Veuillez réessayer.",
|
||||
"error_copying_transcript": "Erreur lors de la copie de la transcription. Veuillez réessayer.",
|
||||
"error_updating_tags": "Erreur lors de la mise à jour des tags. Veuillez réessayer.",
|
||||
"error_creating_tag": "Erreur lors de la création du tag. Veuillez réessayer.",
|
||||
"error_asking_question": "Erreur lors du traitement de la question. Veuillez réessayer.",
|
||||
"retry": "Réessayer",
|
||||
"export_title": "Titre",
|
||||
"export_date": "Date",
|
||||
"export_duration": "Durée",
|
||||
"export_transcript": "Transcription",
|
||||
"export_no_transcript": "Aucune transcription disponible",
|
||||
"export_ai_analysis": "Analyse IA"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"create_tag": "Créer un tag",
|
||||
"search_placeholder": "Rechercher des tags...",
|
||||
"no_tags": "Aucun tag trouvé",
|
||||
"delete_confirmation": "Voulez-vous vraiment supprimer le tag \"{{name}}\" ?",
|
||||
"tag_name": "Nom du tag",
|
||||
"tag_color": "Couleur du tag"
|
||||
},
|
||||
"spaces": {
|
||||
"title": "Espaces",
|
||||
"create_space": "Créer un espace",
|
||||
"no_spaces": "Aucun espace trouvé",
|
||||
"members": "Membres",
|
||||
"invite": "Inviter"
|
||||
},
|
||||
"blueprints": {
|
||||
"title": "Modèles",
|
||||
"loading": "Chargement des modèles...",
|
||||
"no_blueprints": "Aucun modèle trouvé",
|
||||
"search_placeholder": "Rechercher des modèles...",
|
||||
"all_categories": "Tous",
|
||||
"standard": "Standard",
|
||||
"manage": "Gérer les modèles",
|
||||
"activate": "Activer le modèle",
|
||||
"load_error": "Impossible de charger les modèles.",
|
||||
"previous_tip": "Conseil précédent",
|
||||
"next_tip": "Conseil suivant",
|
||||
"go_to_tip": "Aller au conseil {index}"
|
||||
},
|
||||
"record": {
|
||||
"title": "Enregistrer - Memoro",
|
||||
"instruction": "Maintenez pour enregistrer",
|
||||
"uploading": "Téléchargement...",
|
||||
"user_not_authenticated": "Utilisateur non authentifié",
|
||||
"upload_failed": "Échec du téléchargement",
|
||||
"network_error": "Erreur réseau : Veuillez vérifier votre connexion et réessayer.",
|
||||
"upload_error": "Erreur lors du téléchargement de l'enregistrement : {error}",
|
||||
"unexpected_error": "Une erreur inattendue s'est produite. Veuillez réessayer.",
|
||||
"cancel_title": "Supprimer l'enregistrement",
|
||||
"cancel_message": "Voulez-vous vraiment supprimer l'enregistrement actuel ? Cette action ne peut pas être annulée.",
|
||||
"cancel_confirm": "Supprimer",
|
||||
"cancel_abort": "Ne pas supprimer",
|
||||
"pause": "Pause",
|
||||
"resume": "Reprendre",
|
||||
"cancel": "Annuler l'enregistrement"
|
||||
},
|
||||
"statistics": {
|
||||
"title": "Statistiques",
|
||||
"today": "Aujourd'hui",
|
||||
"last_30_days": "30 derniers jours",
|
||||
"total": "Total",
|
||||
"memos": "Mémos",
|
||||
"words": "Mots",
|
||||
"recording_duration": "Durée d'enregistrement",
|
||||
"loading": "Chargement des statistiques..."
|
||||
},
|
||||
"subscription": {
|
||||
"title": "Acheter du Mana",
|
||||
"current_plan": "Plan actuel",
|
||||
"your_mana": "Votre Mana",
|
||||
"buy": "Acheter",
|
||||
"popular": "Populaire",
|
||||
"legacy_plan": "Plan ancien",
|
||||
"monthly": "Mensuel",
|
||||
"yearly": "Annuel"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Paramètres",
|
||||
"appearance": "Apparence",
|
||||
"theme": "Thème",
|
||||
"system": "Système",
|
||||
"light": "Clair",
|
||||
"dark": "Sombre",
|
||||
"language": "Langue",
|
||||
"user_interface": "Interface utilisateur",
|
||||
"show_language_button": "Afficher le bouton de langue",
|
||||
"show_recording_instruction": "Afficher les instructions d'enregistrement",
|
||||
"show_blueprints": "Afficher les modèles",
|
||||
"show_mana_badge": "Afficher le badge Mana dans l'en-tête",
|
||||
"data_privacy": "Données et confidentialité",
|
||||
"save_location": "Enregistrer la position",
|
||||
"enable_analytics": "Activer les analyses",
|
||||
"support": "Support",
|
||||
"contact_support": "Contacter le support",
|
||||
"rate_app": "Évaluer l'application",
|
||||
"account": "Compte",
|
||||
"email_label": "Adresse email",
|
||||
"sign_out": "Déconnexion",
|
||||
"delete_account": "Supprimer le compte",
|
||||
"app_info": "Informations de l'application",
|
||||
"version": "Version",
|
||||
"platform": "Plateforme",
|
||||
"build": "Build",
|
||||
"browser": "Navigateur",
|
||||
"copyright": "© 2025 Memoro GmbH",
|
||||
"made_with_love": "Made with ❤️ in Germany"
|
||||
},
|
||||
"app_slider": {
|
||||
"title": "Plus d'applications Manacore",
|
||||
"memoro_desc": "Mémos vocaux alimentés par l'IA",
|
||||
"memoro_long_desc": "Transformez votre voix en informations organisées et exploitables grâce à la transcription et à l'analyse alimentées par l'IA. Parfait pour capturer des idées en déplacement.",
|
||||
"maerchenzauber_desc": "Histoires magiques pour s'endormir",
|
||||
"maerchenzauber_long_desc": "Créez des histoires personnalisées pour endormir vos enfants avec l'IA. Enflammez l'imagination et rendez chaque nuit magique avec des contes uniques.",
|
||||
"moodlit_desc": "Votre compagnon d'humeur",
|
||||
"moodlit_long_desc": "Suivez et comprenez vos émotions avec des analyses alimentées par l'IA. Développez la conscience émotionnelle et améliorez votre bien-être mental.",
|
||||
"manacore_desc": "Suite de productivité IA",
|
||||
"manacore_long_desc": "Le hub central pour toutes les applications Manacore. Gérez vos abonnements, synchronisez les données et accédez à des outils d'IA puissants depuis un seul endroit.",
|
||||
"coming_soon": "Prochainement",
|
||||
"download": "Télécharger",
|
||||
"get_started": "Commencer",
|
||||
"status_published": "Publié",
|
||||
"status_beta": "Bêta",
|
||||
"status_development": "En développement",
|
||||
"status_planning": "Planifié"
|
||||
},
|
||||
"theme": {
|
||||
"toggle": "Changer de thème",
|
||||
"light_mode": "Mode clair",
|
||||
"dark_mode": "Mode sombre",
|
||||
"switch_to_light": "Passer au mode clair",
|
||||
"switch_to_dark": "Passer au mode sombre"
|
||||
},
|
||||
"errors": {
|
||||
"unexpected": "Une erreur inattendue s'est produite.",
|
||||
"network": "Erreur réseau. Veuillez vérifier votre connexion Internet.",
|
||||
"not_found": "Non trouvé.",
|
||||
"unauthorized": "Non autorisé.",
|
||||
"forbidden": "Accès refusé.",
|
||||
"server_error": "Erreur serveur. Veuillez réessayer plus tard."
|
||||
}
|
||||
}
|
||||
319
apps/manacore/apps/web/src/lib/i18n/locales/memoro/it.json
Normal file
319
apps/manacore/apps/web/src/lib/i18n/locales/memoro/it.json
Normal file
|
|
@ -0,0 +1,319 @@
|
|||
{
|
||||
"common": {
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"share": "Condividi",
|
||||
"back": "Indietro",
|
||||
"next": "Avanti",
|
||||
"done": "Fatto",
|
||||
"loading": "Caricamento...",
|
||||
"search": "Cerca",
|
||||
"settings": "Impostazioni",
|
||||
"yes": "Sì",
|
||||
"no": "No",
|
||||
"ok": "OK",
|
||||
"error": "Errore",
|
||||
"success": "Successo",
|
||||
"create": "Crea",
|
||||
"confirm": "Conferma",
|
||||
"close": "Chiudi",
|
||||
"or": "OPPURE"
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Dashboard",
|
||||
"tags": "Tag",
|
||||
"spaces": "Spazi",
|
||||
"mana": "Mana",
|
||||
"blueprints": "Modelli",
|
||||
"statistics": "Statistiche",
|
||||
"settings": "Impostazioni",
|
||||
"logout": "Esci",
|
||||
"expand": "Espandi",
|
||||
"minimize": "Minimizza",
|
||||
"shortcuts": "Scorciatoie"
|
||||
},
|
||||
"auth": {
|
||||
"welcome": "Benvenuto in Memoro",
|
||||
"get_started": "Inizia",
|
||||
"create_account": "Crea account",
|
||||
"sign_in": "Accedi",
|
||||
"sign_in_with_email": "Accedi con email",
|
||||
"sign_up_with_email": "Registrati con email",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"confirm_password": "Conferma password",
|
||||
"forgot_password": "Password dimenticata?",
|
||||
"reset_password": "Reimposta password",
|
||||
"logging_in": "Accesso in corso...",
|
||||
"creating_account": "Creazione account...",
|
||||
"sending": "Invio in corso...",
|
||||
"error_email_required": "Inserisci il tuo indirizzo email",
|
||||
"error_password_required": "Inserisci la tua password",
|
||||
"error_confirm_password": "Conferma la tua password",
|
||||
"error_passwords_not_match": "Le password non corrispondono",
|
||||
"error_password_too_short": "La password deve essere lunga almeno 8 caratteri",
|
||||
"error_password_requirements": "La password deve contenere almeno una lettera minuscola, una lettera maiuscola, un numero e un carattere speciale",
|
||||
"error_registration_failed": "Registrazione fallita",
|
||||
"password_requirement": "La password deve essere lunga almeno 8 caratteri e contenere almeno una lettera minuscola, una lettera maiuscola, un numero e un carattere speciale.",
|
||||
"registration_success": "Registrazione completata con successo! Controlla la tua email per confermare il tuo account.",
|
||||
"check_email_confirmation": "Controlla la tua email per confermare il tuo account.",
|
||||
"reset_email_sent": "Inserisci il tuo indirizzo email e ti invieremo un link per reimpostare la tua password.",
|
||||
"email_only_title": "Perché solo autenticazione email?",
|
||||
"email_only_info": "Supportiamo solo la registrazione via email per garantire la tua indipendenza e privacy.",
|
||||
"email_only_learn_more": "Scopri di più",
|
||||
"email_only_intro": "Crediamo nel darti il pieno controllo sul tuo account e sui tuoi dati. Utilizzando l'autenticazione via email, garantiamo:",
|
||||
"email_only_benefit_1_title": "Nessun vincolo con fornitori",
|
||||
"email_only_benefit_1_desc": "Non sei dipendente da servizi di terze parti come Google o Apple. Il tuo account funziona in modo indipendente.",
|
||||
"email_only_benefit_2_title": "Privacy migliorata",
|
||||
"email_only_benefit_2_desc": "Non condividiamo i tuoi dati con Google, Apple o altre terze parti per l'autenticazione.",
|
||||
"email_only_benefit_3_title": "Portabilità dell'account",
|
||||
"email_only_benefit_3_desc": "Il tuo indirizzo email è portabile e funziona su tutti i dispositivi e piattaforme.",
|
||||
"email_only_benefit_4_title": "Comunicazione diretta",
|
||||
"email_only_benefit_4_desc": "Possiamo contattarti direttamente per aggiornamenti importanti senza fare affidamento su sistemi di notifica di terze parti.",
|
||||
"email_only_modal_footer": "Ci impegniamo a costruire strumenti che rispettino la tua libertà e privacy. L'autenticazione via email fa parte di questo impegno.",
|
||||
"got_it": "Ho capito",
|
||||
"already_have_account": "Hai già un account?",
|
||||
"dont_have_account": "Non hai un account?",
|
||||
"terms_agreement": "Utilizzando Memoro accetti i nostri <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Termini</a> e la nostra <a href=\"https://manacore.ai/privacy\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: underline;\">Informativa sulla privacy</a>.",
|
||||
"mana_login": "Mana Login",
|
||||
"mana_login_description": "Un login per tutte le app Mana",
|
||||
"mana_login_benefit_0": "Usa gli abbonamenti Mana in tutte le app - paga una volta e usa tutto",
|
||||
"back": "Indietro",
|
||||
"reset_password_description": "Inserisci il tuo indirizzo email e ti invieremo un link per reimpostare la tua password.",
|
||||
"reset_password_error": "Reimpostazione password fallita",
|
||||
"reset_password_success": "Email inviata!",
|
||||
"reset_password_rate_limit": "Troppi tentativi. Attendi qualche minuto.",
|
||||
"reset_email_sent_description": "Abbiamo inviato un'email con le istruzioni per reimpostare la password a {email}. Controlla la posta in arrivo e la cartella spam.",
|
||||
"back_to_login": "Torna al login",
|
||||
"resend_email": "Reinvia email",
|
||||
"reset_email_sent_title": "Email inviata!",
|
||||
"terms_agreement_conjunction": "e la",
|
||||
"terms_agreement_suffix": ".",
|
||||
"oauth_error_access_denied": "Accesso negato. L'accesso è stato annullato.",
|
||||
"oauth_error_server_error": "Errore del server durante l'autenticazione. Riprova.",
|
||||
"oauth_error_temporarily_unavailable": "Il servizio di autenticazione non è temporaneamente disponibile. Riprova più tardi.",
|
||||
"oauth_error_invalid_request": "Richiesta non valida. Riprova.",
|
||||
"oauth_error_unauthorized_client": "Client non autorizzato. Contatta il supporto.",
|
||||
"oauth_error_unsupported_response_type": "Tipo di risposta non supportato. Contatta il supporto.",
|
||||
"oauth_error_invalid_scope": "Ambito non valido. Contatta il supporto.",
|
||||
"oauth_error_unknown": "Si è verificato un errore sconosciuto. Riprova.",
|
||||
"password_requirements_title": "Requisiti password:",
|
||||
"password_requirement_length": "Almeno 8 caratteri",
|
||||
"password_requirement_lowercase": "Una lettera minuscola",
|
||||
"password_requirement_uppercase": "Una lettera maiuscola",
|
||||
"password_requirement_digit": "Un numero",
|
||||
"password_requirement_special": "Un carattere speciale"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
"recent_memos": "Memo recenti",
|
||||
"no_memos": "Nessun memo trovato",
|
||||
"create_memo": "Crea memo",
|
||||
"search_placeholder": "Cerca memo..."
|
||||
},
|
||||
"memo": {
|
||||
"title": "Memo",
|
||||
"unnamed": "Memo senza nome",
|
||||
"word_count": "{{count}} parola",
|
||||
"word_count_plural": "{{count}} parole",
|
||||
"delete_confirmation": "Vuoi davvero eliminare questo memo? Questa azione non può essere annullata.",
|
||||
"delete_permanently": "Elimina definitivamente",
|
||||
"deleting": "Eliminazione...",
|
||||
"pin": "Fissa",
|
||||
"unpin": "Sblocca",
|
||||
"share": "Condividi",
|
||||
"edit": "Modifica",
|
||||
"translate": "Traduci",
|
||||
"create_memory": "Crea Memory",
|
||||
"ask_question": "Fai una domanda",
|
||||
"copy_transcript": "Copia trascrizione",
|
||||
"replace_word": "Sostituisci parola",
|
||||
"reprocess": "Rielabora",
|
||||
"label_speakers": "Nomina relatori",
|
||||
"add_photos": "Aggiungi foto",
|
||||
"manage_spaces": "Gestisci spazi",
|
||||
"tags": "Tag",
|
||||
"add_tag": "Aggiungi tag",
|
||||
"options": "Opzioni",
|
||||
"search": "Cerca",
|
||||
"copy": "Copia",
|
||||
"speakers": "Relatori",
|
||||
"find_replace": "Trova e sostituisci",
|
||||
"shortcuts": "Scorciatoie",
|
||||
"no_memo_selected": "Nessun memo selezionato",
|
||||
"select_memo_hint": "Seleziona un memo dalla lista o crea una nuova registrazione",
|
||||
"processing_transcript": "Trascrizione in corso...",
|
||||
"ask_question_placeholder": "Fai una domanda su questo memo...",
|
||||
"open_in_new_tab": "Apri in una nuova scheda",
|
||||
"edit_title": "Modifica titolo",
|
||||
"export_text": "Esporta come testo",
|
||||
"enter_new_title": "Inserisci nuovo titolo:",
|
||||
"no_title": "Senza titolo",
|
||||
"no_transcript": "Nessuna trascrizione disponibile",
|
||||
"link_copied": "Link copiato negli appunti!",
|
||||
"transcript_copied": "Trascrizione copiata negli appunti!",
|
||||
"no_search_results": "Nessun risultato di ricerca",
|
||||
"no_memos_with_search": "Nessun memo trovato contenente \"{query}\".",
|
||||
"clear_search": "Cancella ricerca",
|
||||
"no_memos_with_tag": "Nessun memo con questo tag",
|
||||
"no_memos_with_tag_hint": "Non ci sono ancora memo con questo tag.",
|
||||
"show_all_memos": "Mostra tutti i memo",
|
||||
"no_memos_yet": "Ancora nessun memo",
|
||||
"no_memos_hint": "Vai alla pagina di registrazione per creare il tuo primo memo",
|
||||
"search_placeholder": "Cerca memo...",
|
||||
"delete_memo_title": "Elimina memo",
|
||||
"delete_memo_confirm": "Vuoi davvero eliminare \"{title}\"?",
|
||||
"delete_memo_warning": "Questa azione non può essere annullata. Il memo e tutti i dati associati verranno eliminati definitivamente.",
|
||||
"error_user_not_authenticated": "Utente non autenticato",
|
||||
"error_loading_memos": "Impossibile caricare i memo",
|
||||
"error_deleting_memo": "Errore durante l'eliminazione del memo. Riprova.",
|
||||
"error_updating_title": "Errore durante l'aggiornamento del titolo. Riprova.",
|
||||
"error_copying_link": "Errore durante la copia del link. Riprova.",
|
||||
"error_pin_status": "Errore durante la modifica dello stato di fissaggio. Riprova.",
|
||||
"error_saving": "Errore durante il salvataggio. Riprova.",
|
||||
"error_copying_transcript": "Errore durante la copia della trascrizione. Riprova.",
|
||||
"error_updating_tags": "Errore durante l'aggiornamento dei tag. Riprova.",
|
||||
"error_creating_tag": "Errore durante la creazione del tag. Riprova.",
|
||||
"error_asking_question": "Errore durante l'elaborazione della domanda. Riprova.",
|
||||
"retry": "Riprova",
|
||||
"export_title": "Titolo",
|
||||
"export_date": "Data",
|
||||
"export_duration": "Durata",
|
||||
"export_transcript": "Trascrizione",
|
||||
"export_no_transcript": "Nessuna trascrizione disponibile",
|
||||
"export_ai_analysis": "Analisi IA"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tag",
|
||||
"create_tag": "Crea tag",
|
||||
"search_placeholder": "Cerca tag...",
|
||||
"no_tags": "Nessun tag trovato",
|
||||
"delete_confirmation": "Vuoi davvero eliminare il tag \"{{name}}\"?",
|
||||
"tag_name": "Nome tag",
|
||||
"tag_color": "Colore tag"
|
||||
},
|
||||
"spaces": {
|
||||
"title": "Spazi",
|
||||
"create_space": "Crea spazio",
|
||||
"no_spaces": "Nessuno spazio trovato",
|
||||
"members": "Membri",
|
||||
"invite": "Invita"
|
||||
},
|
||||
"blueprints": {
|
||||
"title": "Modelli",
|
||||
"loading": "Caricamento modelli...",
|
||||
"no_blueprints": "Nessun modello trovato",
|
||||
"search_placeholder": "Cerca modelli...",
|
||||
"all_categories": "Tutti",
|
||||
"standard": "Standard",
|
||||
"manage": "Gestisci modelli",
|
||||
"activate": "Attiva modello",
|
||||
"load_error": "Impossibile caricare i modelli.",
|
||||
"previous_tip": "Consiglio precedente",
|
||||
"next_tip": "Consiglio successivo",
|
||||
"go_to_tip": "Vai al consiglio {index}"
|
||||
},
|
||||
"record": {
|
||||
"title": "Registra - Memoro",
|
||||
"instruction": "Tieni premuto per registrare",
|
||||
"uploading": "Caricamento...",
|
||||
"user_not_authenticated": "Utente non autenticato",
|
||||
"upload_failed": "Caricamento fallito",
|
||||
"network_error": "Errore di rete: Verifica la connessione e riprova.",
|
||||
"upload_error": "Errore durante il caricamento della registrazione: {error}",
|
||||
"unexpected_error": "Si è verificato un errore imprevisto. Riprova.",
|
||||
"cancel_title": "Elimina registrazione",
|
||||
"cancel_message": "Vuoi davvero eliminare la registrazione corrente? Questa azione non può essere annullata.",
|
||||
"cancel_confirm": "Elimina",
|
||||
"cancel_abort": "Non eliminare",
|
||||
"pause": "Pausa",
|
||||
"resume": "Riprendi",
|
||||
"cancel": "Annulla registrazione"
|
||||
},
|
||||
"statistics": {
|
||||
"title": "Statistiche",
|
||||
"today": "Oggi",
|
||||
"last_30_days": "Ultimi 30 giorni",
|
||||
"total": "Totale",
|
||||
"memos": "Memo",
|
||||
"words": "Parole",
|
||||
"recording_duration": "Durata registrazione",
|
||||
"loading": "Caricamento statistiche..."
|
||||
},
|
||||
"subscription": {
|
||||
"title": "Acquista Mana",
|
||||
"current_plan": "Piano attuale",
|
||||
"your_mana": "Il tuo Mana",
|
||||
"buy": "Acquista",
|
||||
"popular": "Popolare",
|
||||
"legacy_plan": "Piano Legacy",
|
||||
"monthly": "Mensile",
|
||||
"yearly": "Annuale"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Impostazioni",
|
||||
"appearance": "Aspetto",
|
||||
"theme": "Tema",
|
||||
"system": "Sistema",
|
||||
"light": "Chiaro",
|
||||
"dark": "Scuro",
|
||||
"language": "Lingua",
|
||||
"user_interface": "Interfaccia utente",
|
||||
"show_language_button": "Mostra pulsante lingua",
|
||||
"show_recording_instruction": "Mostra istruzioni di registrazione",
|
||||
"show_blueprints": "Mostra modelli",
|
||||
"show_mana_badge": "Mostra badge Mana nell'intestazione",
|
||||
"data_privacy": "Dati e privacy",
|
||||
"save_location": "Salva posizione",
|
||||
"enable_analytics": "Abilita analytics",
|
||||
"support": "Supporto",
|
||||
"contact_support": "Contatta supporto",
|
||||
"rate_app": "Valuta app",
|
||||
"account": "Account",
|
||||
"email_label": "Indirizzo email",
|
||||
"sign_out": "Esci",
|
||||
"delete_account": "Elimina account",
|
||||
"app_info": "Informazioni app",
|
||||
"version": "Versione",
|
||||
"platform": "Piattaforma",
|
||||
"build": "Build",
|
||||
"browser": "Browser",
|
||||
"copyright": "© 2025 Memoro GmbH",
|
||||
"made_with_love": "Made with ❤️ in Germany"
|
||||
},
|
||||
"app_slider": {
|
||||
"title": "Altre app Manacore",
|
||||
"memoro_desc": "Memo vocali alimentati dall'IA",
|
||||
"memoro_long_desc": "Trasforma la tua voce in informazioni organizzate e utilizzabili con trascrizione e analisi alimentate dall'IA. Perfetto per catturare idee in movimento.",
|
||||
"maerchenzauber_desc": "Storie magiche della buonanotte",
|
||||
"maerchenzauber_long_desc": "Crea storie personalizzate per la buonanotte per i tuoi bambini con l'IA. Accendi l'immaginazione e rendi ogni notte magica con racconti unici.",
|
||||
"moodlit_desc": "Il tuo compagno d'umore",
|
||||
"moodlit_long_desc": "Traccia e comprendi le tue emozioni con analisi alimentate dall'IA. Costruisci consapevolezza emotiva e migliora il tuo benessere mentale.",
|
||||
"manacore_desc": "Suite di produttività IA",
|
||||
"manacore_long_desc": "L'hub centrale per tutte le app Manacore. Gestisci i tuoi abbonamenti, sincronizza i dati e accedi a potenti strumenti IA da un unico posto.",
|
||||
"coming_soon": "Prossimamente",
|
||||
"download": "Scarica",
|
||||
"get_started": "Inizia",
|
||||
"status_published": "Pubblicato",
|
||||
"status_beta": "Beta",
|
||||
"status_development": "In sviluppo",
|
||||
"status_planning": "Pianificato"
|
||||
},
|
||||
"theme": {
|
||||
"toggle": "Cambia tema",
|
||||
"light_mode": "Modalità chiara",
|
||||
"dark_mode": "Modalità scura",
|
||||
"switch_to_light": "Passa alla modalità chiara",
|
||||
"switch_to_dark": "Passa alla modalità scura"
|
||||
},
|
||||
"errors": {
|
||||
"unexpected": "Si è verificato un errore imprevisto.",
|
||||
"network": "Errore di rete. Verifica la tua connessione Internet.",
|
||||
"not_found": "Non trovato.",
|
||||
"unauthorized": "Non autorizzato.",
|
||||
"forbidden": "Accesso negato.",
|
||||
"server_error": "Errore del server. Riprova più tardi."
|
||||
}
|
||||
}
|
||||
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/de.json
Normal file
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/de.json
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Photos",
|
||||
"tagline": "Alle deine Fotos an einem Ort"
|
||||
},
|
||||
"nav": {
|
||||
"gallery": "Galerie",
|
||||
"albums": "Alben",
|
||||
"favorites": "Favoriten",
|
||||
"upload": "Hochladen",
|
||||
"settings": "Einstellungen"
|
||||
},
|
||||
"gallery": {
|
||||
"title": "Galerie",
|
||||
"empty": "Keine Fotos gefunden",
|
||||
"emptyHint": "Lade dein erstes Foto hoch oder verbinde Apps",
|
||||
"loadMore": "Mehr laden",
|
||||
"photo": "Foto",
|
||||
"photos": "Fotos"
|
||||
},
|
||||
"albums": {
|
||||
"title": "Alben",
|
||||
"empty": "Keine Alben vorhanden",
|
||||
"emptyHint": "Erstelle dein erstes Album",
|
||||
"create": "Album erstellen",
|
||||
"edit": "Album bearbeiten",
|
||||
"delete": "Album löschen",
|
||||
"deleteConfirm": "Möchtest du dieses Album wirklich löschen?",
|
||||
"name": "Name",
|
||||
"description": "Beschreibung",
|
||||
"items": "Fotos"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoriten",
|
||||
"empty": "Keine Favoriten",
|
||||
"emptyHint": "Markiere Fotos als Favorit mit dem Herz-Symbol"
|
||||
},
|
||||
"upload": {
|
||||
"title": "Hochladen",
|
||||
"dropzone": "Fotos hierher ziehen oder klicken zum Auswählen",
|
||||
"uploading": "Wird hochgeladen...",
|
||||
"success": "Erfolgreich hochgeladen",
|
||||
"error": "Fehler beim Hochladen",
|
||||
"selectFiles": "Dateien auswählen"
|
||||
},
|
||||
"photo": {
|
||||
"details": "Details",
|
||||
"exif": "EXIF-Daten",
|
||||
"tags": "Tags",
|
||||
"addToAlbum": "Zu Album hinzufügen",
|
||||
"removeFromAlbum": "Aus Album entfernen",
|
||||
"setCover": "Als Cover setzen",
|
||||
"download": "Herunterladen",
|
||||
"delete": "Löschen",
|
||||
"favorite": "Favorit",
|
||||
"unfavorite": "Favorit entfernen",
|
||||
"hideInfo": "Details ausblenden"
|
||||
},
|
||||
"exif": {
|
||||
"camera": "Kamera",
|
||||
"lens": "Objektiv",
|
||||
"focalLength": "Brennweite",
|
||||
"aperture": "Blende",
|
||||
"iso": "ISO",
|
||||
"exposure": "Belichtung",
|
||||
"date": "Aufnahmedatum",
|
||||
"location": "Standort",
|
||||
"dimensions": "Abmessungen"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"create": "Tag erstellen",
|
||||
"edit": "Tag bearbeiten",
|
||||
"delete": "Tag löschen",
|
||||
"name": "Name",
|
||||
"color": "Farbe",
|
||||
"noTags": "Keine Tags"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filter",
|
||||
"app": "App",
|
||||
"allApps": "Alle Apps",
|
||||
"dateRange": "Zeitraum",
|
||||
"from": "Von",
|
||||
"to": "Bis",
|
||||
"hasLocation": "Mit Standort",
|
||||
"sortBy": "Sortieren nach",
|
||||
"date": "Datum",
|
||||
"size": "Größe",
|
||||
"sortOrder": "Reihenfolge",
|
||||
"asc": "Aufsteigend",
|
||||
"desc": "Absteigend",
|
||||
"clear": "Filter zurücksetzen"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Einstellungen",
|
||||
"theme": "Design",
|
||||
"language": "Sprache",
|
||||
"gridSize": "Rastergröße"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"email": "E-Mail",
|
||||
"password": "Passwort",
|
||||
"signIn": "Einloggen",
|
||||
"signUp": "Registrieren",
|
||||
"forgotPassword": "Passwort vergessen?"
|
||||
},
|
||||
"contextMenu": {
|
||||
"view": "Anzeigen",
|
||||
"open": "Öffnen",
|
||||
"toggleFavorite": "Favorit umschalten",
|
||||
"addToFavorites": "Zu Favoriten hinzufügen",
|
||||
"removeFromFavorites": "Aus Favoriten entfernen"
|
||||
},
|
||||
"common": {
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"create": "Erstellen",
|
||||
"close": "Schließen",
|
||||
"loading": "Lädt...",
|
||||
"error": "Fehler",
|
||||
"success": "Erfolg",
|
||||
"confirm": "Bestätigen",
|
||||
"yes": "Ja",
|
||||
"no": "Nein"
|
||||
}
|
||||
}
|
||||
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/en.json
Normal file
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/en.json
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Photos",
|
||||
"tagline": "All your photos in one place"
|
||||
},
|
||||
"nav": {
|
||||
"gallery": "Gallery",
|
||||
"albums": "Albums",
|
||||
"favorites": "Favorites",
|
||||
"upload": "Upload",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"gallery": {
|
||||
"title": "Gallery",
|
||||
"empty": "No photos found",
|
||||
"emptyHint": "Upload your first photo or connect apps",
|
||||
"loadMore": "Load more",
|
||||
"photo": "photo",
|
||||
"photos": "photos"
|
||||
},
|
||||
"albums": {
|
||||
"title": "Albums",
|
||||
"empty": "No albums yet",
|
||||
"emptyHint": "Create your first album",
|
||||
"create": "Create Album",
|
||||
"edit": "Edit Album",
|
||||
"delete": "Delete Album",
|
||||
"deleteConfirm": "Are you sure you want to delete this album?",
|
||||
"name": "Name",
|
||||
"description": "Description",
|
||||
"items": "photos"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favorites",
|
||||
"empty": "No favorites",
|
||||
"emptyHint": "Mark photos as favorite with the heart icon"
|
||||
},
|
||||
"upload": {
|
||||
"title": "Upload",
|
||||
"dropzone": "Drop photos here or click to select",
|
||||
"uploading": "Uploading...",
|
||||
"success": "Upload successful",
|
||||
"error": "Upload failed",
|
||||
"selectFiles": "Select files"
|
||||
},
|
||||
"photo": {
|
||||
"details": "Details",
|
||||
"exif": "EXIF Data",
|
||||
"tags": "Tags",
|
||||
"addToAlbum": "Add to Album",
|
||||
"removeFromAlbum": "Remove from Album",
|
||||
"setCover": "Set as Cover",
|
||||
"download": "Download",
|
||||
"delete": "Delete",
|
||||
"favorite": "Favorite",
|
||||
"unfavorite": "Remove Favorite",
|
||||
"hideInfo": "Hide details"
|
||||
},
|
||||
"exif": {
|
||||
"camera": "Camera",
|
||||
"lens": "Lens",
|
||||
"focalLength": "Focal Length",
|
||||
"aperture": "Aperture",
|
||||
"iso": "ISO",
|
||||
"exposure": "Exposure",
|
||||
"date": "Date Taken",
|
||||
"location": "Location",
|
||||
"dimensions": "Dimensions"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"create": "Create Tag",
|
||||
"edit": "Edit Tag",
|
||||
"delete": "Delete Tag",
|
||||
"name": "Name",
|
||||
"color": "Color",
|
||||
"noTags": "No tags"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filters",
|
||||
"app": "App",
|
||||
"allApps": "All Apps",
|
||||
"dateRange": "Date Range",
|
||||
"from": "From",
|
||||
"to": "To",
|
||||
"hasLocation": "With Location",
|
||||
"sortBy": "Sort by",
|
||||
"date": "Date",
|
||||
"size": "Size",
|
||||
"sortOrder": "Order",
|
||||
"asc": "Ascending",
|
||||
"desc": "Descending",
|
||||
"clear": "Clear Filters"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"theme": "Theme",
|
||||
"language": "Language",
|
||||
"gridSize": "Grid Size"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"signIn": "Sign In",
|
||||
"signUp": "Sign Up",
|
||||
"forgotPassword": "Forgot Password?"
|
||||
},
|
||||
"contextMenu": {
|
||||
"view": "View",
|
||||
"open": "Open",
|
||||
"toggleFavorite": "Toggle Favorite",
|
||||
"addToFavorites": "Add to Favorites",
|
||||
"removeFromFavorites": "Remove from Favorites"
|
||||
},
|
||||
"common": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"create": "Create",
|
||||
"close": "Close",
|
||||
"loading": "Loading...",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"confirm": "Confirm",
|
||||
"yes": "Yes",
|
||||
"no": "No"
|
||||
}
|
||||
}
|
||||
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/es.json
Normal file
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/es.json
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Photos",
|
||||
"tagline": "Todas tus fotos en un solo lugar"
|
||||
},
|
||||
"nav": {
|
||||
"gallery": "Galería",
|
||||
"albums": "Álbumes",
|
||||
"favorites": "Favoritos",
|
||||
"upload": "Subir",
|
||||
"settings": "Ajustes"
|
||||
},
|
||||
"gallery": {
|
||||
"title": "Galería",
|
||||
"empty": "No se encontraron fotos",
|
||||
"emptyHint": "Sube tu primera foto o conecta apps",
|
||||
"loadMore": "Cargar más",
|
||||
"photo": "foto",
|
||||
"photos": "fotos"
|
||||
},
|
||||
"albums": {
|
||||
"title": "Álbumes",
|
||||
"empty": "Aún no hay álbumes",
|
||||
"emptyHint": "Crea tu primer álbum",
|
||||
"create": "Crear álbum",
|
||||
"edit": "Editar álbum",
|
||||
"delete": "Eliminar álbum",
|
||||
"deleteConfirm": "¿Seguro que quieres eliminar este álbum?",
|
||||
"name": "Nombre",
|
||||
"description": "Descripción",
|
||||
"items": "fotos"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoritos",
|
||||
"empty": "Sin favoritos",
|
||||
"emptyHint": "Marca fotos como favoritas con el icono de corazón"
|
||||
},
|
||||
"upload": {
|
||||
"title": "Subir",
|
||||
"dropzone": "Arrastra fotos aquí o haz clic para seleccionar",
|
||||
"uploading": "Subiendo...",
|
||||
"success": "Subida exitosa",
|
||||
"error": "Error al subir",
|
||||
"selectFiles": "Seleccionar archivos"
|
||||
},
|
||||
"photo": {
|
||||
"details": "Detalles",
|
||||
"exif": "Datos EXIF",
|
||||
"tags": "Etiquetas",
|
||||
"addToAlbum": "Agregar a álbum",
|
||||
"removeFromAlbum": "Quitar de álbum",
|
||||
"setCover": "Usar como portada",
|
||||
"download": "Descargar",
|
||||
"delete": "Eliminar",
|
||||
"favorite": "Favorito",
|
||||
"unfavorite": "Quitar favorito",
|
||||
"hideInfo": "Ocultar detalles"
|
||||
},
|
||||
"exif": {
|
||||
"camera": "Cámara",
|
||||
"lens": "Objetivo",
|
||||
"focalLength": "Distancia focal",
|
||||
"aperture": "Apertura",
|
||||
"iso": "ISO",
|
||||
"exposure": "Exposición",
|
||||
"date": "Fecha de captura",
|
||||
"location": "Ubicación",
|
||||
"dimensions": "Dimensiones"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Etiquetas",
|
||||
"create": "Crear etiqueta",
|
||||
"edit": "Editar etiqueta",
|
||||
"delete": "Eliminar etiqueta",
|
||||
"name": "Nombre",
|
||||
"color": "Color",
|
||||
"noTags": "Sin etiquetas"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filtros",
|
||||
"app": "App",
|
||||
"allApps": "Todas las apps",
|
||||
"dateRange": "Rango de fechas",
|
||||
"from": "Desde",
|
||||
"to": "Hasta",
|
||||
"hasLocation": "Con ubicación",
|
||||
"sortBy": "Ordenar por",
|
||||
"date": "Fecha",
|
||||
"size": "Tamaño",
|
||||
"sortOrder": "Orden",
|
||||
"asc": "Ascendente",
|
||||
"desc": "Descendente",
|
||||
"clear": "Borrar filtros"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Ajustes",
|
||||
"theme": "Tema",
|
||||
"language": "Idioma",
|
||||
"gridSize": "Tamaño de cuadrícula"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"email": "Email",
|
||||
"password": "Contraseña",
|
||||
"signIn": "Iniciar sesión",
|
||||
"signUp": "Registrarse",
|
||||
"forgotPassword": "¿Olvidaste tu contraseña?"
|
||||
},
|
||||
"contextMenu": {
|
||||
"view": "Ver",
|
||||
"open": "Abrir",
|
||||
"toggleFavorite": "Cambiar favorito",
|
||||
"addToFavorites": "Agregar a favoritos",
|
||||
"removeFromFavorites": "Quitar de favoritos"
|
||||
},
|
||||
"common": {
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"create": "Crear",
|
||||
"close": "Cerrar",
|
||||
"loading": "Cargando...",
|
||||
"error": "Error",
|
||||
"success": "Correcto",
|
||||
"confirm": "Confirmar",
|
||||
"yes": "Sí",
|
||||
"no": "No"
|
||||
}
|
||||
}
|
||||
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/fr.json
Normal file
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/fr.json
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Photos",
|
||||
"tagline": "Toutes tes photos au même endroit"
|
||||
},
|
||||
"nav": {
|
||||
"gallery": "Galerie",
|
||||
"albums": "Albums",
|
||||
"favorites": "Favoris",
|
||||
"upload": "Télécharger",
|
||||
"settings": "Paramètres"
|
||||
},
|
||||
"gallery": {
|
||||
"title": "Galerie",
|
||||
"empty": "Aucune photo trouvée",
|
||||
"emptyHint": "Télécharge ta première photo ou connecte des apps",
|
||||
"loadMore": "Charger plus",
|
||||
"photo": "photo",
|
||||
"photos": "photos"
|
||||
},
|
||||
"albums": {
|
||||
"title": "Albums",
|
||||
"empty": "Pas encore d'albums",
|
||||
"emptyHint": "Crée ton premier album",
|
||||
"create": "Créer un album",
|
||||
"edit": "Modifier l'album",
|
||||
"delete": "Supprimer l'album",
|
||||
"deleteConfirm": "Voulez-vous vraiment supprimer cet album ?",
|
||||
"name": "Nom",
|
||||
"description": "Description",
|
||||
"items": "photos"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoris",
|
||||
"empty": "Pas de favoris",
|
||||
"emptyHint": "Marque des photos comme favorites avec l'icône cœur"
|
||||
},
|
||||
"upload": {
|
||||
"title": "Télécharger",
|
||||
"dropzone": "Dépose des photos ici ou clique pour sélectionner",
|
||||
"uploading": "Téléchargement...",
|
||||
"success": "Téléchargement réussi",
|
||||
"error": "Échec du téléchargement",
|
||||
"selectFiles": "Sélectionner des fichiers"
|
||||
},
|
||||
"photo": {
|
||||
"details": "Détails",
|
||||
"exif": "Données EXIF",
|
||||
"tags": "Tags",
|
||||
"addToAlbum": "Ajouter à l'album",
|
||||
"removeFromAlbum": "Retirer de l'album",
|
||||
"setCover": "Définir comme couverture",
|
||||
"download": "Télécharger",
|
||||
"delete": "Supprimer",
|
||||
"favorite": "Favori",
|
||||
"unfavorite": "Retirer des favoris",
|
||||
"hideInfo": "Masquer les détails"
|
||||
},
|
||||
"exif": {
|
||||
"camera": "Appareil",
|
||||
"lens": "Objectif",
|
||||
"focalLength": "Focale",
|
||||
"aperture": "Ouverture",
|
||||
"iso": "ISO",
|
||||
"exposure": "Exposition",
|
||||
"date": "Date de prise",
|
||||
"location": "Lieu",
|
||||
"dimensions": "Dimensions"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"create": "Créer un tag",
|
||||
"edit": "Modifier le tag",
|
||||
"delete": "Supprimer le tag",
|
||||
"name": "Nom",
|
||||
"color": "Couleur",
|
||||
"noTags": "Aucun tag"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filtres",
|
||||
"app": "App",
|
||||
"allApps": "Toutes les apps",
|
||||
"dateRange": "Période",
|
||||
"from": "Du",
|
||||
"to": "Au",
|
||||
"hasLocation": "Avec localisation",
|
||||
"sortBy": "Trier par",
|
||||
"date": "Date",
|
||||
"size": "Taille",
|
||||
"sortOrder": "Ordre",
|
||||
"asc": "Croissant",
|
||||
"desc": "Décroissant",
|
||||
"clear": "Effacer les filtres"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Paramètres",
|
||||
"theme": "Thème",
|
||||
"language": "Langue",
|
||||
"gridSize": "Taille de grille"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
"logout": "Déconnexion",
|
||||
"email": "Email",
|
||||
"password": "Mot de passe",
|
||||
"signIn": "Se connecter",
|
||||
"signUp": "S'inscrire",
|
||||
"forgotPassword": "Mot de passe oublié ?"
|
||||
},
|
||||
"contextMenu": {
|
||||
"view": "Voir",
|
||||
"open": "Ouvrir",
|
||||
"toggleFavorite": "Basculer favori",
|
||||
"addToFavorites": "Ajouter aux favoris",
|
||||
"removeFromFavorites": "Retirer des favoris"
|
||||
},
|
||||
"common": {
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"create": "Créer",
|
||||
"close": "Fermer",
|
||||
"loading": "Chargement...",
|
||||
"error": "Erreur",
|
||||
"success": "Succès",
|
||||
"confirm": "Confirmer",
|
||||
"yes": "Oui",
|
||||
"no": "Non"
|
||||
}
|
||||
}
|
||||
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/it.json
Normal file
131
apps/manacore/apps/web/src/lib/i18n/locales/photos/it.json
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Photos",
|
||||
"tagline": "Tutte le tue foto in un unico posto"
|
||||
},
|
||||
"nav": {
|
||||
"gallery": "Galleria",
|
||||
"albums": "Album",
|
||||
"favorites": "Preferiti",
|
||||
"upload": "Carica",
|
||||
"settings": "Impostazioni"
|
||||
},
|
||||
"gallery": {
|
||||
"title": "Galleria",
|
||||
"empty": "Nessuna foto trovata",
|
||||
"emptyHint": "Carica la tua prima foto o collega le app",
|
||||
"loadMore": "Carica altre",
|
||||
"photo": "foto",
|
||||
"photos": "foto"
|
||||
},
|
||||
"albums": {
|
||||
"title": "Album",
|
||||
"empty": "Ancora nessun album",
|
||||
"emptyHint": "Crea il tuo primo album",
|
||||
"create": "Crea album",
|
||||
"edit": "Modifica album",
|
||||
"delete": "Elimina album",
|
||||
"deleteConfirm": "Vuoi davvero eliminare questo album?",
|
||||
"name": "Nome",
|
||||
"description": "Descrizione",
|
||||
"items": "foto"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Preferiti",
|
||||
"empty": "Nessun preferito",
|
||||
"emptyHint": "Segna le foto come preferite con l'icona del cuore"
|
||||
},
|
||||
"upload": {
|
||||
"title": "Carica",
|
||||
"dropzone": "Trascina le foto qui o clicca per selezionare",
|
||||
"uploading": "Caricamento...",
|
||||
"success": "Caricamento riuscito",
|
||||
"error": "Caricamento fallito",
|
||||
"selectFiles": "Seleziona file"
|
||||
},
|
||||
"photo": {
|
||||
"details": "Dettagli",
|
||||
"exif": "Dati EXIF",
|
||||
"tags": "Tag",
|
||||
"addToAlbum": "Aggiungi all'album",
|
||||
"removeFromAlbum": "Rimuovi dall'album",
|
||||
"setCover": "Imposta come copertina",
|
||||
"download": "Scarica",
|
||||
"delete": "Elimina",
|
||||
"favorite": "Preferito",
|
||||
"unfavorite": "Rimuovi preferito",
|
||||
"hideInfo": "Nascondi dettagli"
|
||||
},
|
||||
"exif": {
|
||||
"camera": "Fotocamera",
|
||||
"lens": "Obiettivo",
|
||||
"focalLength": "Lunghezza focale",
|
||||
"aperture": "Apertura",
|
||||
"iso": "ISO",
|
||||
"exposure": "Esposizione",
|
||||
"date": "Data di scatto",
|
||||
"location": "Posizione",
|
||||
"dimensions": "Dimensioni"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tag",
|
||||
"create": "Crea tag",
|
||||
"edit": "Modifica tag",
|
||||
"delete": "Elimina tag",
|
||||
"name": "Nome",
|
||||
"color": "Colore",
|
||||
"noTags": "Nessun tag"
|
||||
},
|
||||
"filters": {
|
||||
"title": "Filtri",
|
||||
"app": "App",
|
||||
"allApps": "Tutte le app",
|
||||
"dateRange": "Periodo",
|
||||
"from": "Da",
|
||||
"to": "A",
|
||||
"hasLocation": "Con posizione",
|
||||
"sortBy": "Ordina per",
|
||||
"date": "Data",
|
||||
"size": "Dimensione",
|
||||
"sortOrder": "Ordine",
|
||||
"asc": "Crescente",
|
||||
"desc": "Decrescente",
|
||||
"clear": "Cancella filtri"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Impostazioni",
|
||||
"theme": "Tema",
|
||||
"language": "Lingua",
|
||||
"gridSize": "Dimensione griglia"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
"logout": "Esci",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"signIn": "Accedi",
|
||||
"signUp": "Registrati",
|
||||
"forgotPassword": "Password dimenticata?"
|
||||
},
|
||||
"contextMenu": {
|
||||
"view": "Visualizza",
|
||||
"open": "Apri",
|
||||
"toggleFavorite": "Cambia preferito",
|
||||
"addToFavorites": "Aggiungi ai preferiti",
|
||||
"removeFromFavorites": "Rimuovi dai preferiti"
|
||||
},
|
||||
"common": {
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"create": "Crea",
|
||||
"close": "Chiudi",
|
||||
"loading": "Caricamento...",
|
||||
"error": "Errore",
|
||||
"success": "Successo",
|
||||
"confirm": "Conferma",
|
||||
"yes": "Sì",
|
||||
"no": "No"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Questions",
|
||||
"loading": "Laden...",
|
||||
"tagline": "KI-gestützte Recherche"
|
||||
},
|
||||
"nav": {
|
||||
"questions": "Fragen",
|
||||
"collections": "Sammlungen",
|
||||
"research": "Recherche",
|
||||
"settings": "Einstellungen"
|
||||
},
|
||||
"question": {
|
||||
"create": "Frage erstellen",
|
||||
"edit": "Frage bearbeiten",
|
||||
"delete": "Frage löschen",
|
||||
"title": "Frage",
|
||||
"description": "Beschreibung",
|
||||
"status": "Status",
|
||||
"priority": "Priorität",
|
||||
"noQuestions": "Noch keine Fragen",
|
||||
"addFirst": "Stelle deine erste Frage"
|
||||
},
|
||||
"status": {
|
||||
"open": "Offen",
|
||||
"researching": "Wird recherchiert",
|
||||
"answered": "Beantwortet",
|
||||
"archived": "Archiviert"
|
||||
},
|
||||
"priority": {
|
||||
"low": "Niedrig",
|
||||
"medium": "Mittel",
|
||||
"high": "Hoch"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Sammlung erstellen",
|
||||
"edit": "Sammlung bearbeiten",
|
||||
"delete": "Sammlung löschen",
|
||||
"name": "Name",
|
||||
"color": "Farbe",
|
||||
"noCollections": "Keine Sammlungen"
|
||||
},
|
||||
"research": {
|
||||
"start": "Recherche starten",
|
||||
"inProgress": "Recherche läuft...",
|
||||
"depth": "Recherchetiefe",
|
||||
"quick": "Schnell",
|
||||
"standard": "Standard",
|
||||
"deep": "Tiefgehend",
|
||||
"sources": "Quellen",
|
||||
"summary": "Zusammenfassung",
|
||||
"keyPoints": "Kernpunkte",
|
||||
"followUp": "Weiterführende Fragen"
|
||||
},
|
||||
"answer": {
|
||||
"create": "Antwort erstellen",
|
||||
"edit": "Antwort bearbeiten",
|
||||
"accept": "Antwort akzeptieren",
|
||||
"rate": "Bewerten",
|
||||
"noAnswer": "Noch keine Antwort"
|
||||
},
|
||||
"source": {
|
||||
"view": "Quelle ansehen",
|
||||
"extract": "Inhalt extrahieren",
|
||||
"noSources": "Keine Quellen gefunden"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"register": "Registrieren"
|
||||
},
|
||||
"common": {
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"add": "Hinzufügen",
|
||||
"close": "Schließen",
|
||||
"search": "Suchen",
|
||||
"error": "Fehler",
|
||||
"success": "Erfolgreich",
|
||||
"loading": "Laden..."
|
||||
},
|
||||
"errors": {
|
||||
"loadQuestions": "Fragen konnten nicht geladen werden",
|
||||
"researchFailed": "Recherche fehlgeschlagen",
|
||||
"saveFailed": "Speichern fehlgeschlagen",
|
||||
"loadSources": "Quellen konnten nicht geladen werden"
|
||||
},
|
||||
"success": {
|
||||
"questionCreated": "Frage erstellt",
|
||||
"questionDeleted": "Frage gelöscht",
|
||||
"researchStarted": "Recherche gestartet",
|
||||
"answerAccepted": "Antwort akzeptiert"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Questions",
|
||||
"loading": "Loading...",
|
||||
"tagline": "AI-powered research"
|
||||
},
|
||||
"nav": {
|
||||
"questions": "Questions",
|
||||
"collections": "Collections",
|
||||
"research": "Research",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"question": {
|
||||
"create": "Create question",
|
||||
"edit": "Edit question",
|
||||
"delete": "Delete question",
|
||||
"title": "Question",
|
||||
"description": "Description",
|
||||
"status": "Status",
|
||||
"priority": "Priority",
|
||||
"noQuestions": "No questions yet",
|
||||
"addFirst": "Ask your first question"
|
||||
},
|
||||
"status": {
|
||||
"open": "Open",
|
||||
"researching": "Researching",
|
||||
"answered": "Answered",
|
||||
"archived": "Archived"
|
||||
},
|
||||
"priority": {
|
||||
"low": "Low",
|
||||
"medium": "Medium",
|
||||
"high": "High"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Create collection",
|
||||
"edit": "Edit collection",
|
||||
"delete": "Delete collection",
|
||||
"name": "Name",
|
||||
"color": "Color",
|
||||
"noCollections": "No collections"
|
||||
},
|
||||
"research": {
|
||||
"start": "Start research",
|
||||
"inProgress": "Research in progress...",
|
||||
"depth": "Research depth",
|
||||
"quick": "Quick",
|
||||
"standard": "Standard",
|
||||
"deep": "Deep",
|
||||
"sources": "Sources",
|
||||
"summary": "Summary",
|
||||
"keyPoints": "Key points",
|
||||
"followUp": "Follow-up questions"
|
||||
},
|
||||
"answer": {
|
||||
"create": "Create answer",
|
||||
"edit": "Edit answer",
|
||||
"accept": "Accept answer",
|
||||
"rate": "Rate",
|
||||
"noAnswer": "No answer yet"
|
||||
},
|
||||
"source": {
|
||||
"view": "View source",
|
||||
"extract": "Extract content",
|
||||
"noSources": "No sources found"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"register": "Register"
|
||||
},
|
||||
"common": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"add": "Add",
|
||||
"close": "Close",
|
||||
"search": "Search",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"loading": "Loading..."
|
||||
},
|
||||
"errors": {
|
||||
"loadQuestions": "Failed to load questions",
|
||||
"researchFailed": "Research failed",
|
||||
"saveFailed": "Failed to save",
|
||||
"loadSources": "Failed to load sources"
|
||||
},
|
||||
"success": {
|
||||
"questionCreated": "Question created",
|
||||
"questionDeleted": "Question deleted",
|
||||
"researchStarted": "Research started",
|
||||
"answerAccepted": "Answer accepted"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Questions",
|
||||
"loading": "Cargando...",
|
||||
"tagline": "Investigación con IA"
|
||||
},
|
||||
"nav": {
|
||||
"questions": "Preguntas",
|
||||
"collections": "Colecciones",
|
||||
"research": "Investigación",
|
||||
"settings": "Ajustes"
|
||||
},
|
||||
"question": {
|
||||
"create": "Crear pregunta",
|
||||
"edit": "Editar pregunta",
|
||||
"delete": "Eliminar pregunta",
|
||||
"title": "Pregunta",
|
||||
"description": "Descripción",
|
||||
"status": "Estado",
|
||||
"priority": "Prioridad",
|
||||
"noQuestions": "Aún no hay preguntas",
|
||||
"addFirst": "Haz tu primera pregunta"
|
||||
},
|
||||
"status": {
|
||||
"open": "Abierta",
|
||||
"researching": "Investigando",
|
||||
"answered": "Respondida",
|
||||
"archived": "Archivada"
|
||||
},
|
||||
"priority": {
|
||||
"low": "Baja",
|
||||
"medium": "Media",
|
||||
"high": "Alta"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Crear colección",
|
||||
"edit": "Editar colección",
|
||||
"delete": "Eliminar colección",
|
||||
"name": "Nombre",
|
||||
"color": "Color",
|
||||
"noCollections": "Sin colecciones"
|
||||
},
|
||||
"research": {
|
||||
"start": "Iniciar investigación",
|
||||
"inProgress": "Investigación en curso...",
|
||||
"depth": "Profundidad",
|
||||
"quick": "Rápida",
|
||||
"standard": "Estándar",
|
||||
"deep": "Profunda",
|
||||
"sources": "Fuentes",
|
||||
"summary": "Resumen",
|
||||
"keyPoints": "Puntos clave",
|
||||
"followUp": "Preguntas de seguimiento"
|
||||
},
|
||||
"answer": {
|
||||
"create": "Crear respuesta",
|
||||
"edit": "Editar respuesta",
|
||||
"accept": "Aceptar respuesta",
|
||||
"rate": "Valorar",
|
||||
"noAnswer": "Aún sin respuesta"
|
||||
},
|
||||
"source": {
|
||||
"view": "Ver fuente",
|
||||
"extract": "Extraer contenido",
|
||||
"noSources": "No se encontraron fuentes"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"register": "Registrarse"
|
||||
},
|
||||
"common": {
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"add": "Agregar",
|
||||
"close": "Cerrar",
|
||||
"search": "Buscar",
|
||||
"error": "Error",
|
||||
"success": "Correcto",
|
||||
"loading": "Cargando..."
|
||||
},
|
||||
"errors": {
|
||||
"loadQuestions": "Error al cargar preguntas",
|
||||
"researchFailed": "Investigación fallida",
|
||||
"saveFailed": "Error al guardar",
|
||||
"loadSources": "Error al cargar fuentes"
|
||||
},
|
||||
"success": {
|
||||
"questionCreated": "Pregunta creada",
|
||||
"questionDeleted": "Pregunta eliminada",
|
||||
"researchStarted": "Investigación iniciada",
|
||||
"answerAccepted": "Respuesta aceptada"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Questions",
|
||||
"loading": "Chargement...",
|
||||
"tagline": "Recherche assistée par IA"
|
||||
},
|
||||
"nav": {
|
||||
"questions": "Questions",
|
||||
"collections": "Collections",
|
||||
"research": "Recherche",
|
||||
"settings": "Paramètres"
|
||||
},
|
||||
"question": {
|
||||
"create": "Créer une question",
|
||||
"edit": "Modifier la question",
|
||||
"delete": "Supprimer la question",
|
||||
"title": "Question",
|
||||
"description": "Description",
|
||||
"status": "Statut",
|
||||
"priority": "Priorité",
|
||||
"noQuestions": "Pas encore de questions",
|
||||
"addFirst": "Pose ta première question"
|
||||
},
|
||||
"status": {
|
||||
"open": "Ouverte",
|
||||
"researching": "En recherche",
|
||||
"answered": "Répondue",
|
||||
"archived": "Archivée"
|
||||
},
|
||||
"priority": {
|
||||
"low": "Basse",
|
||||
"medium": "Moyenne",
|
||||
"high": "Haute"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Créer une collection",
|
||||
"edit": "Modifier la collection",
|
||||
"delete": "Supprimer la collection",
|
||||
"name": "Nom",
|
||||
"color": "Couleur",
|
||||
"noCollections": "Aucune collection"
|
||||
},
|
||||
"research": {
|
||||
"start": "Lancer la recherche",
|
||||
"inProgress": "Recherche en cours...",
|
||||
"depth": "Profondeur",
|
||||
"quick": "Rapide",
|
||||
"standard": "Standard",
|
||||
"deep": "Approfondie",
|
||||
"sources": "Sources",
|
||||
"summary": "Résumé",
|
||||
"keyPoints": "Points clés",
|
||||
"followUp": "Questions de suivi"
|
||||
},
|
||||
"answer": {
|
||||
"create": "Créer une réponse",
|
||||
"edit": "Modifier la réponse",
|
||||
"accept": "Accepter la réponse",
|
||||
"rate": "Noter",
|
||||
"noAnswer": "Pas encore de réponse"
|
||||
},
|
||||
"source": {
|
||||
"view": "Voir la source",
|
||||
"extract": "Extraire le contenu",
|
||||
"noSources": "Aucune source trouvée"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
"logout": "Déconnexion",
|
||||
"register": "Inscription"
|
||||
},
|
||||
"common": {
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"add": "Ajouter",
|
||||
"close": "Fermer",
|
||||
"search": "Rechercher",
|
||||
"error": "Erreur",
|
||||
"success": "Succès",
|
||||
"loading": "Chargement..."
|
||||
},
|
||||
"errors": {
|
||||
"loadQuestions": "Échec du chargement des questions",
|
||||
"researchFailed": "Recherche échouée",
|
||||
"saveFailed": "Échec de la sauvegarde",
|
||||
"loadSources": "Échec du chargement des sources"
|
||||
},
|
||||
"success": {
|
||||
"questionCreated": "Question créée",
|
||||
"questionDeleted": "Question supprimée",
|
||||
"researchStarted": "Recherche lancée",
|
||||
"answerAccepted": "Réponse acceptée"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Questions",
|
||||
"loading": "Caricamento...",
|
||||
"tagline": "Ricerca con IA"
|
||||
},
|
||||
"nav": {
|
||||
"questions": "Domande",
|
||||
"collections": "Collezioni",
|
||||
"research": "Ricerca",
|
||||
"settings": "Impostazioni"
|
||||
},
|
||||
"question": {
|
||||
"create": "Crea domanda",
|
||||
"edit": "Modifica domanda",
|
||||
"delete": "Elimina domanda",
|
||||
"title": "Domanda",
|
||||
"description": "Descrizione",
|
||||
"status": "Stato",
|
||||
"priority": "Priorità",
|
||||
"noQuestions": "Ancora nessuna domanda",
|
||||
"addFirst": "Fai la tua prima domanda"
|
||||
},
|
||||
"status": {
|
||||
"open": "Aperta",
|
||||
"researching": "In ricerca",
|
||||
"answered": "Risolta",
|
||||
"archived": "Archiviata"
|
||||
},
|
||||
"priority": {
|
||||
"low": "Bassa",
|
||||
"medium": "Media",
|
||||
"high": "Alta"
|
||||
},
|
||||
"collection": {
|
||||
"create": "Crea collezione",
|
||||
"edit": "Modifica collezione",
|
||||
"delete": "Elimina collezione",
|
||||
"name": "Nome",
|
||||
"color": "Colore",
|
||||
"noCollections": "Nessuna collezione"
|
||||
},
|
||||
"research": {
|
||||
"start": "Avvia ricerca",
|
||||
"inProgress": "Ricerca in corso...",
|
||||
"depth": "Profondità",
|
||||
"quick": "Rapida",
|
||||
"standard": "Standard",
|
||||
"deep": "Approfondita",
|
||||
"sources": "Fonti",
|
||||
"summary": "Riepilogo",
|
||||
"keyPoints": "Punti chiave",
|
||||
"followUp": "Domande di approfondimento"
|
||||
},
|
||||
"answer": {
|
||||
"create": "Crea risposta",
|
||||
"edit": "Modifica risposta",
|
||||
"accept": "Accetta risposta",
|
||||
"rate": "Valuta",
|
||||
"noAnswer": "Ancora nessuna risposta"
|
||||
},
|
||||
"source": {
|
||||
"view": "Visualizza fonte",
|
||||
"extract": "Estrai contenuto",
|
||||
"noSources": "Nessuna fonte trovata"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
"logout": "Esci",
|
||||
"register": "Registrati"
|
||||
},
|
||||
"common": {
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"add": "Aggiungi",
|
||||
"close": "Chiudi",
|
||||
"search": "Cerca",
|
||||
"error": "Errore",
|
||||
"success": "Successo",
|
||||
"loading": "Caricamento..."
|
||||
},
|
||||
"errors": {
|
||||
"loadQuestions": "Caricamento domande fallito",
|
||||
"researchFailed": "Ricerca fallita",
|
||||
"saveFailed": "Salvataggio fallito",
|
||||
"loadSources": "Caricamento fonti fallito"
|
||||
},
|
||||
"success": {
|
||||
"questionCreated": "Domanda creata",
|
||||
"questionDeleted": "Domanda eliminata",
|
||||
"researchStarted": "Ricerca avviata",
|
||||
"answerAccepted": "Risposta accettata"
|
||||
}
|
||||
}
|
||||
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/de.json
Normal file
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/de.json
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "SkillTree",
|
||||
"loading": "Laden...",
|
||||
"tagline": "Level Up Your Life"
|
||||
},
|
||||
"nav": {
|
||||
"skills": "Skills",
|
||||
"activities": "Aktivitäten",
|
||||
"stats": "Statistiken",
|
||||
"settings": "Einstellungen"
|
||||
},
|
||||
"skill": {
|
||||
"create": "Skill erstellen",
|
||||
"edit": "Skill bearbeiten",
|
||||
"delete": "Skill löschen",
|
||||
"name": "Name",
|
||||
"description": "Beschreibung",
|
||||
"branch": "Kategorie",
|
||||
"level": "Level",
|
||||
"xp": "XP",
|
||||
"totalXp": "Gesamt-XP",
|
||||
"noSkills": "Noch keine Skills",
|
||||
"addFirst": "Füge deinen ersten Skill hinzu"
|
||||
},
|
||||
"branch": {
|
||||
"intellect": "Intellekt",
|
||||
"body": "Körper",
|
||||
"creativity": "Kreativität",
|
||||
"social": "Soziales",
|
||||
"practical": "Praktisches",
|
||||
"mindset": "Mindset"
|
||||
},
|
||||
"level": {
|
||||
"unknown": "Unbekannt",
|
||||
"beginner": "Anfänger",
|
||||
"intermediate": "Fortgeschritten",
|
||||
"competent": "Kompetent",
|
||||
"expert": "Experte",
|
||||
"master": "Meister"
|
||||
},
|
||||
"activity": {
|
||||
"log": "Aktivität loggen",
|
||||
"recent": "Letzte Aktivitäten",
|
||||
"xpEarned": "+{xp} XP",
|
||||
"noActivities": "Noch keine Aktivitäten"
|
||||
},
|
||||
"stats": {
|
||||
"totalXp": "Gesamt-XP",
|
||||
"totalSkills": "Skills",
|
||||
"highestLevel": "Höchstes Level",
|
||||
"streak": "Streak",
|
||||
"achievements": "Achievements"
|
||||
},
|
||||
"achievement": {
|
||||
"title": "Achievements",
|
||||
"unlocked": "Freigeschaltet",
|
||||
"locked": "Gesperrt",
|
||||
"progress": "Fortschritt",
|
||||
"celebration": "Achievement freigeschaltet!",
|
||||
"clickToClose": "Klicken zum Schließen",
|
||||
"noAchievements": "Keine Achievements gefunden",
|
||||
"showAll": "Alle zeigen",
|
||||
"showUnlocked": "Nur freigeschaltete",
|
||||
"all": "Alle",
|
||||
"rarity": {
|
||||
"common": "Gewöhnlich",
|
||||
"uncommon": "Ungewöhnlich",
|
||||
"rare": "Selten",
|
||||
"epic": "Episch",
|
||||
"legendary": "Legendär"
|
||||
},
|
||||
"category": {
|
||||
"xp": "Erfahrung",
|
||||
"skills": "Skills",
|
||||
"levels": "Level",
|
||||
"activities": "Aktivitäten",
|
||||
"streak": "Streak",
|
||||
"branches": "Branches",
|
||||
"special": "Speziell"
|
||||
}
|
||||
},
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"register": "Registrieren"
|
||||
},
|
||||
"common": {
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"add": "Hinzufügen",
|
||||
"close": "Schließen",
|
||||
"search": "Suchen",
|
||||
"error": "Fehler",
|
||||
"success": "Erfolgreich",
|
||||
"loading": "Laden..."
|
||||
},
|
||||
"errors": {
|
||||
"loadSkills": "Skills konnten nicht geladen werden",
|
||||
"createSkill": "Skill konnte nicht erstellt werden",
|
||||
"updateSkill": "Skill konnte nicht aktualisiert werden",
|
||||
"deleteSkill": "Skill konnte nicht gelöscht werden"
|
||||
},
|
||||
"success": {
|
||||
"skillCreated": "Skill erstellt",
|
||||
"skillUpdated": "Skill aktualisiert",
|
||||
"skillDeleted": "Skill gelöscht",
|
||||
"xpAdded": "XP hinzugefügt"
|
||||
}
|
||||
}
|
||||
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/en.json
Normal file
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/en.json
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "SkillTree",
|
||||
"loading": "Loading...",
|
||||
"tagline": "Level Up Your Life"
|
||||
},
|
||||
"nav": {
|
||||
"skills": "Skills",
|
||||
"activities": "Activities",
|
||||
"stats": "Statistics",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"skill": {
|
||||
"create": "Create skill",
|
||||
"edit": "Edit skill",
|
||||
"delete": "Delete skill",
|
||||
"name": "Name",
|
||||
"description": "Description",
|
||||
"branch": "Category",
|
||||
"level": "Level",
|
||||
"xp": "XP",
|
||||
"totalXp": "Total XP",
|
||||
"noSkills": "No skills yet",
|
||||
"addFirst": "Add your first skill"
|
||||
},
|
||||
"branch": {
|
||||
"intellect": "Intellect",
|
||||
"body": "Body",
|
||||
"creativity": "Creativity",
|
||||
"social": "Social",
|
||||
"practical": "Practical",
|
||||
"mindset": "Mindset"
|
||||
},
|
||||
"level": {
|
||||
"unknown": "Unknown",
|
||||
"beginner": "Beginner",
|
||||
"intermediate": "Intermediate",
|
||||
"competent": "Competent",
|
||||
"expert": "Expert",
|
||||
"master": "Master"
|
||||
},
|
||||
"activity": {
|
||||
"log": "Log activity",
|
||||
"recent": "Recent activities",
|
||||
"xpEarned": "+{xp} XP",
|
||||
"noActivities": "No activities yet"
|
||||
},
|
||||
"stats": {
|
||||
"totalXp": "Total XP",
|
||||
"totalSkills": "Skills",
|
||||
"highestLevel": "Highest Level",
|
||||
"streak": "Streak",
|
||||
"achievements": "Achievements"
|
||||
},
|
||||
"achievement": {
|
||||
"title": "Achievements",
|
||||
"unlocked": "Unlocked",
|
||||
"locked": "Locked",
|
||||
"progress": "Progress",
|
||||
"celebration": "Achievement unlocked!",
|
||||
"clickToClose": "Click to close",
|
||||
"noAchievements": "No achievements found",
|
||||
"showAll": "Show all",
|
||||
"showUnlocked": "Unlocked only",
|
||||
"all": "All",
|
||||
"rarity": {
|
||||
"common": "Common",
|
||||
"uncommon": "Uncommon",
|
||||
"rare": "Rare",
|
||||
"epic": "Epic",
|
||||
"legendary": "Legendary"
|
||||
},
|
||||
"category": {
|
||||
"xp": "Experience",
|
||||
"skills": "Skills",
|
||||
"levels": "Level",
|
||||
"activities": "Activities",
|
||||
"streak": "Streak",
|
||||
"branches": "Branches",
|
||||
"special": "Special"
|
||||
}
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"register": "Register"
|
||||
},
|
||||
"common": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"add": "Add",
|
||||
"close": "Close",
|
||||
"search": "Search",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"loading": "Loading..."
|
||||
},
|
||||
"errors": {
|
||||
"loadSkills": "Failed to load skills",
|
||||
"createSkill": "Failed to create skill",
|
||||
"updateSkill": "Failed to update skill",
|
||||
"deleteSkill": "Failed to delete skill"
|
||||
},
|
||||
"success": {
|
||||
"skillCreated": "Skill created",
|
||||
"skillUpdated": "Skill updated",
|
||||
"skillDeleted": "Skill deleted",
|
||||
"xpAdded": "XP added"
|
||||
}
|
||||
}
|
||||
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/es.json
Normal file
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/es.json
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "SkillTree",
|
||||
"loading": "Cargando...",
|
||||
"tagline": "Sube de nivel en tu vida"
|
||||
},
|
||||
"nav": {
|
||||
"skills": "Habilidades",
|
||||
"activities": "Actividades",
|
||||
"stats": "Estadísticas",
|
||||
"settings": "Ajustes"
|
||||
},
|
||||
"skill": {
|
||||
"create": "Crear habilidad",
|
||||
"edit": "Editar habilidad",
|
||||
"delete": "Eliminar habilidad",
|
||||
"name": "Nombre",
|
||||
"description": "Descripción",
|
||||
"branch": "Categoría",
|
||||
"level": "Nivel",
|
||||
"xp": "XP",
|
||||
"totalXp": "XP total",
|
||||
"noSkills": "Aún no hay habilidades",
|
||||
"addFirst": "Agrega tu primera habilidad"
|
||||
},
|
||||
"branch": {
|
||||
"intellect": "Intelecto",
|
||||
"body": "Cuerpo",
|
||||
"creativity": "Creatividad",
|
||||
"social": "Social",
|
||||
"practical": "Práctico",
|
||||
"mindset": "Mentalidad"
|
||||
},
|
||||
"level": {
|
||||
"unknown": "Desconocido",
|
||||
"beginner": "Principiante",
|
||||
"intermediate": "Intermedio",
|
||||
"competent": "Competente",
|
||||
"expert": "Experto",
|
||||
"master": "Maestro"
|
||||
},
|
||||
"activity": {
|
||||
"log": "Registrar actividad",
|
||||
"recent": "Actividades recientes",
|
||||
"xpEarned": "+{xp} XP",
|
||||
"noActivities": "Aún no hay actividades"
|
||||
},
|
||||
"stats": {
|
||||
"totalXp": "XP total",
|
||||
"totalSkills": "Habilidades",
|
||||
"highestLevel": "Nivel más alto",
|
||||
"streak": "Racha",
|
||||
"achievements": "Logros"
|
||||
},
|
||||
"achievement": {
|
||||
"title": "Logros",
|
||||
"unlocked": "Desbloqueado",
|
||||
"locked": "Bloqueado",
|
||||
"progress": "Progreso",
|
||||
"celebration": "¡Logro desbloqueado!",
|
||||
"clickToClose": "Clic para cerrar",
|
||||
"noAchievements": "No se encontraron logros",
|
||||
"showAll": "Mostrar todos",
|
||||
"showUnlocked": "Solo desbloqueados",
|
||||
"all": "Todos",
|
||||
"rarity": {
|
||||
"common": "Común",
|
||||
"uncommon": "Poco común",
|
||||
"rare": "Raro",
|
||||
"epic": "Épico",
|
||||
"legendary": "Legendario"
|
||||
},
|
||||
"category": {
|
||||
"xp": "Experiencia",
|
||||
"skills": "Habilidades",
|
||||
"levels": "Nivel",
|
||||
"activities": "Actividades",
|
||||
"streak": "Racha",
|
||||
"branches": "Ramas",
|
||||
"special": "Especial"
|
||||
}
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"register": "Registrarse"
|
||||
},
|
||||
"common": {
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"add": "Agregar",
|
||||
"close": "Cerrar",
|
||||
"search": "Buscar",
|
||||
"error": "Error",
|
||||
"success": "Correcto",
|
||||
"loading": "Cargando..."
|
||||
},
|
||||
"errors": {
|
||||
"loadSkills": "Error al cargar habilidades",
|
||||
"createSkill": "Error al crear habilidad",
|
||||
"updateSkill": "Error al actualizar habilidad",
|
||||
"deleteSkill": "Error al eliminar habilidad"
|
||||
},
|
||||
"success": {
|
||||
"skillCreated": "Habilidad creada",
|
||||
"skillUpdated": "Habilidad actualizada",
|
||||
"skillDeleted": "Habilidad eliminada",
|
||||
"xpAdded": "XP agregado"
|
||||
}
|
||||
}
|
||||
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/fr.json
Normal file
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/fr.json
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "SkillTree",
|
||||
"loading": "Chargement...",
|
||||
"tagline": "Monte en niveau dans ta vie"
|
||||
},
|
||||
"nav": {
|
||||
"skills": "Compétences",
|
||||
"activities": "Activités",
|
||||
"stats": "Statistiques",
|
||||
"settings": "Paramètres"
|
||||
},
|
||||
"skill": {
|
||||
"create": "Créer une compétence",
|
||||
"edit": "Modifier la compétence",
|
||||
"delete": "Supprimer la compétence",
|
||||
"name": "Nom",
|
||||
"description": "Description",
|
||||
"branch": "Catégorie",
|
||||
"level": "Niveau",
|
||||
"xp": "XP",
|
||||
"totalXp": "XP total",
|
||||
"noSkills": "Pas encore de compétences",
|
||||
"addFirst": "Ajoute ta première compétence"
|
||||
},
|
||||
"branch": {
|
||||
"intellect": "Intellect",
|
||||
"body": "Corps",
|
||||
"creativity": "Créativité",
|
||||
"social": "Social",
|
||||
"practical": "Pratique",
|
||||
"mindset": "État d'esprit"
|
||||
},
|
||||
"level": {
|
||||
"unknown": "Inconnu",
|
||||
"beginner": "Débutant",
|
||||
"intermediate": "Intermédiaire",
|
||||
"competent": "Compétent",
|
||||
"expert": "Expert",
|
||||
"master": "Maître"
|
||||
},
|
||||
"activity": {
|
||||
"log": "Enregistrer une activité",
|
||||
"recent": "Activités récentes",
|
||||
"xpEarned": "+{xp} XP",
|
||||
"noActivities": "Pas encore d'activités"
|
||||
},
|
||||
"stats": {
|
||||
"totalXp": "XP total",
|
||||
"totalSkills": "Compétences",
|
||||
"highestLevel": "Niveau le plus élevé",
|
||||
"streak": "Série",
|
||||
"achievements": "Succès"
|
||||
},
|
||||
"achievement": {
|
||||
"title": "Succès",
|
||||
"unlocked": "Débloqué",
|
||||
"locked": "Verrouillé",
|
||||
"progress": "Progression",
|
||||
"celebration": "Succès débloqué !",
|
||||
"clickToClose": "Cliquer pour fermer",
|
||||
"noAchievements": "Aucun succès trouvé",
|
||||
"showAll": "Tout afficher",
|
||||
"showUnlocked": "Débloqués uniquement",
|
||||
"all": "Tous",
|
||||
"rarity": {
|
||||
"common": "Commun",
|
||||
"uncommon": "Peu commun",
|
||||
"rare": "Rare",
|
||||
"epic": "Épique",
|
||||
"legendary": "Légendaire"
|
||||
},
|
||||
"category": {
|
||||
"xp": "Expérience",
|
||||
"skills": "Compétences",
|
||||
"levels": "Niveau",
|
||||
"activities": "Activités",
|
||||
"streak": "Série",
|
||||
"branches": "Branches",
|
||||
"special": "Spécial"
|
||||
}
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
"logout": "Déconnexion",
|
||||
"register": "Inscription"
|
||||
},
|
||||
"common": {
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"add": "Ajouter",
|
||||
"close": "Fermer",
|
||||
"search": "Rechercher",
|
||||
"error": "Erreur",
|
||||
"success": "Succès",
|
||||
"loading": "Chargement..."
|
||||
},
|
||||
"errors": {
|
||||
"loadSkills": "Échec du chargement des compétences",
|
||||
"createSkill": "Échec de la création",
|
||||
"updateSkill": "Échec de la mise à jour",
|
||||
"deleteSkill": "Échec de la suppression"
|
||||
},
|
||||
"success": {
|
||||
"skillCreated": "Compétence créée",
|
||||
"skillUpdated": "Compétence mise à jour",
|
||||
"skillDeleted": "Compétence supprimée",
|
||||
"xpAdded": "XP ajouté"
|
||||
}
|
||||
}
|
||||
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/it.json
Normal file
112
apps/manacore/apps/web/src/lib/i18n/locales/skilltree/it.json
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "SkillTree",
|
||||
"loading": "Caricamento...",
|
||||
"tagline": "Sali di livello nella tua vita"
|
||||
},
|
||||
"nav": {
|
||||
"skills": "Abilità",
|
||||
"activities": "Attività",
|
||||
"stats": "Statistiche",
|
||||
"settings": "Impostazioni"
|
||||
},
|
||||
"skill": {
|
||||
"create": "Crea abilità",
|
||||
"edit": "Modifica abilità",
|
||||
"delete": "Elimina abilità",
|
||||
"name": "Nome",
|
||||
"description": "Descrizione",
|
||||
"branch": "Categoria",
|
||||
"level": "Livello",
|
||||
"xp": "XP",
|
||||
"totalXp": "XP totali",
|
||||
"noSkills": "Ancora nessuna abilità",
|
||||
"addFirst": "Aggiungi la tua prima abilità"
|
||||
},
|
||||
"branch": {
|
||||
"intellect": "Intelletto",
|
||||
"body": "Corpo",
|
||||
"creativity": "Creatività",
|
||||
"social": "Sociale",
|
||||
"practical": "Pratico",
|
||||
"mindset": "Mentalità"
|
||||
},
|
||||
"level": {
|
||||
"unknown": "Sconosciuto",
|
||||
"beginner": "Principiante",
|
||||
"intermediate": "Intermedio",
|
||||
"competent": "Competente",
|
||||
"expert": "Esperto",
|
||||
"master": "Maestro"
|
||||
},
|
||||
"activity": {
|
||||
"log": "Registra attività",
|
||||
"recent": "Attività recenti",
|
||||
"xpEarned": "+{xp} XP",
|
||||
"noActivities": "Ancora nessuna attività"
|
||||
},
|
||||
"stats": {
|
||||
"totalXp": "XP totali",
|
||||
"totalSkills": "Abilità",
|
||||
"highestLevel": "Livello più alto",
|
||||
"streak": "Serie",
|
||||
"achievements": "Traguardi"
|
||||
},
|
||||
"achievement": {
|
||||
"title": "Traguardi",
|
||||
"unlocked": "Sbloccato",
|
||||
"locked": "Bloccato",
|
||||
"progress": "Progresso",
|
||||
"celebration": "Traguardo sbloccato!",
|
||||
"clickToClose": "Clicca per chiudere",
|
||||
"noAchievements": "Nessun traguardo trovato",
|
||||
"showAll": "Mostra tutti",
|
||||
"showUnlocked": "Solo sbloccati",
|
||||
"all": "Tutti",
|
||||
"rarity": {
|
||||
"common": "Comune",
|
||||
"uncommon": "Non comune",
|
||||
"rare": "Raro",
|
||||
"epic": "Epico",
|
||||
"legendary": "Leggendario"
|
||||
},
|
||||
"category": {
|
||||
"xp": "Esperienza",
|
||||
"skills": "Abilità",
|
||||
"levels": "Livello",
|
||||
"activities": "Attività",
|
||||
"streak": "Serie",
|
||||
"branches": "Rami",
|
||||
"special": "Speciale"
|
||||
}
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
"logout": "Esci",
|
||||
"register": "Registrati"
|
||||
},
|
||||
"common": {
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"add": "Aggiungi",
|
||||
"close": "Chiudi",
|
||||
"search": "Cerca",
|
||||
"error": "Errore",
|
||||
"success": "Successo",
|
||||
"loading": "Caricamento..."
|
||||
},
|
||||
"errors": {
|
||||
"loadSkills": "Caricamento abilità fallito",
|
||||
"createSkill": "Creazione abilità fallita",
|
||||
"updateSkill": "Aggiornamento abilità fallito",
|
||||
"deleteSkill": "Eliminazione abilità fallita"
|
||||
},
|
||||
"success": {
|
||||
"skillCreated": "Abilità creata",
|
||||
"skillUpdated": "Abilità aggiornata",
|
||||
"skillDeleted": "Abilità eliminata",
|
||||
"xpAdded": "XP aggiunti"
|
||||
}
|
||||
}
|
||||
182
apps/manacore/apps/web/src/lib/i18n/locales/times/de.json
Normal file
182
apps/manacore/apps/web/src/lib/i18n/locales/times/de.json
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Times",
|
||||
"loading": "Laden...",
|
||||
"tagline": "Dein Arbeitsrhythmus, messbar gemacht."
|
||||
},
|
||||
"nav": {
|
||||
"timer": "Timer",
|
||||
"entries": "Einträge",
|
||||
"projects": "Projekte",
|
||||
"clients": "Kunden",
|
||||
"reports": "Reports",
|
||||
"settings": "Einstellungen",
|
||||
"templates": "Vorlagen",
|
||||
"alarms": "Wecker",
|
||||
"countdown": "Countdown",
|
||||
"stopwatch": "Stoppuhr",
|
||||
"worldClock": "Weltuhr"
|
||||
},
|
||||
"timer": {
|
||||
"start": "Timer starten",
|
||||
"stop": "Timer stoppen",
|
||||
"resume": "Fortsetzen",
|
||||
"running": "Läuft",
|
||||
"noDescription": "Keine Beschreibung",
|
||||
"whatAreYouWorkingOn": "Woran arbeitest du?"
|
||||
},
|
||||
"entry": {
|
||||
"create": "Eintrag erstellen",
|
||||
"edit": "Eintrag bearbeiten",
|
||||
"delete": "Eintrag löschen",
|
||||
"description": "Beschreibung",
|
||||
"date": "Datum",
|
||||
"startTime": "Startzeit",
|
||||
"endTime": "Endzeit",
|
||||
"duration": "Dauer",
|
||||
"billable": "Abrechenbar",
|
||||
"notBillable": "Nicht abrechenbar",
|
||||
"noEntries": "Keine Einträge",
|
||||
"today": "Heute",
|
||||
"thisWeek": "Diese Woche",
|
||||
"thisMonth": "Dieser Monat",
|
||||
"manual": "Manuell erfassen",
|
||||
"deleteConfirm": "Möchtest du diesen Zeiteintrag wirklich löschen? Dies kann nicht rückgängig gemacht werden."
|
||||
},
|
||||
"project": {
|
||||
"create": "Projekt erstellen",
|
||||
"edit": "Projekt bearbeiten",
|
||||
"delete": "Projekt löschen",
|
||||
"name": "Name",
|
||||
"description": "Beschreibung",
|
||||
"client": "Kunde",
|
||||
"billable": "Abrechenbar",
|
||||
"budget": "Budget",
|
||||
"noProjects": "Keine Projekte",
|
||||
"archived": "Archiviert",
|
||||
"internal": "Intern",
|
||||
"deleteConfirm": "Möchtest du dieses Projekt wirklich löschen? Dies kann nicht rückgängig gemacht werden."
|
||||
},
|
||||
"client": {
|
||||
"create": "Kunde erstellen",
|
||||
"edit": "Kunde bearbeiten",
|
||||
"delete": "Kunde löschen",
|
||||
"name": "Name",
|
||||
"shortCode": "Kürzel",
|
||||
"email": "E-Mail",
|
||||
"billingRate": "Stundensatz",
|
||||
"noClients": "Keine Kunden",
|
||||
"deleteConfirm": "Möchtest du diesen Kunden wirklich löschen? Dies kann nicht rückgängig gemacht werden."
|
||||
},
|
||||
"report": {
|
||||
"title": "Reports",
|
||||
"totalHours": "Gesamtstunden",
|
||||
"billableHours": "Abrechenbare Stunden",
|
||||
"avgPerDay": "Durchschnitt/Tag",
|
||||
"topProject": "Top-Projekt",
|
||||
"byProject": "Nach Projekt",
|
||||
"byClient": "Nach Kunde",
|
||||
"byDay": "Nach Tag",
|
||||
"export": "Exportieren",
|
||||
"dateRange": "Zeitraum"
|
||||
},
|
||||
"template": {
|
||||
"create": "Vorlage erstellen",
|
||||
"edit": "Vorlage bearbeiten",
|
||||
"delete": "Vorlage löschen",
|
||||
"noTemplates": "Keine Vorlagen",
|
||||
"useTemplate": "Vorlage verwenden"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Einstellungen",
|
||||
"workingHours": "Arbeitsstunden/Tag",
|
||||
"workingDays": "Arbeitstage/Woche",
|
||||
"rounding": "Rundung",
|
||||
"roundingMethod": "Rundungsmethode",
|
||||
"none": "Keine",
|
||||
"up": "Aufrunden",
|
||||
"down": "Abrunden",
|
||||
"nearest": "Nächster Wert",
|
||||
"currency": "Währung",
|
||||
"billingRate": "Standard-Stundensatz",
|
||||
"weekStart": "Woche beginnt am",
|
||||
"monday": "Montag",
|
||||
"sunday": "Sonntag",
|
||||
"timerReminder": "Timer-Erinnerung (Min.)",
|
||||
"autoStop": "Auto-Stop (Std.)"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"register": "Registrieren",
|
||||
"email": "E-Mail",
|
||||
"password": "Passwort",
|
||||
"forgotPassword": "Passwort vergessen?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"add": "Hinzufügen",
|
||||
"close": "Schließen",
|
||||
"search": "Suchen",
|
||||
"error": "Fehler",
|
||||
"success": "Erfolgreich",
|
||||
"loading": "Laden...",
|
||||
"noResults": "Keine Ergebnisse",
|
||||
"confirm": "Bestätigen",
|
||||
"back": "Zurück",
|
||||
"next": "Weiter",
|
||||
"create": "Erstellen",
|
||||
"archive": "Archivieren",
|
||||
"unarchive": "Wiederherstellen",
|
||||
"total": "Gesamt",
|
||||
"hours": "Stunden",
|
||||
"minutes": "Minuten"
|
||||
},
|
||||
"clock": {
|
||||
"alarm": {
|
||||
"title": "Wecker",
|
||||
"custom": "Eigene Wecker",
|
||||
"edit": "Wecker bearbeiten",
|
||||
"time": "Uhrzeit",
|
||||
"label": "Bezeichnung",
|
||||
"repeat": "Wiederholung",
|
||||
"sound": "Ton",
|
||||
"snooze": "Schlummern"
|
||||
},
|
||||
"timer": {
|
||||
"title": "Countdown Timer",
|
||||
"finished": "Timer abgelaufen!"
|
||||
},
|
||||
"stopwatch": {
|
||||
"title": "Stoppuhr",
|
||||
"new": "Neue Stoppuhr",
|
||||
"start": "Start",
|
||||
"stop": "Stopp",
|
||||
"continue": "Weiter",
|
||||
"reset": "Reset",
|
||||
"lap": "Runde",
|
||||
"laps": "Runden",
|
||||
"total": "Gesamt",
|
||||
"best": "Beste",
|
||||
"worst": "Langsamste",
|
||||
"noStopwatches": "Keine Stoppuhren",
|
||||
"noStopwatchesDescription": "Erstelle eine neue Stoppuhr um Zeit zu messen.",
|
||||
"startFirst": "Erste Stoppuhr starten",
|
||||
"otherStopwatches": "Weitere Stoppuhren"
|
||||
},
|
||||
"worldClock": {
|
||||
"title": "Weltzeituhr",
|
||||
"add": "Stadt hinzufügen",
|
||||
"search": "Stadt suchen...",
|
||||
"noClocks": "Keine Weltuhren hinzugefügt",
|
||||
"same": "Gleiche Zeit"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Seite nicht gefunden",
|
||||
"backToHome": "Zurück zur Startseite"
|
||||
}
|
||||
}
|
||||
182
apps/manacore/apps/web/src/lib/i18n/locales/times/en.json
Normal file
182
apps/manacore/apps/web/src/lib/i18n/locales/times/en.json
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Times",
|
||||
"loading": "Loading...",
|
||||
"tagline": "Your work rhythm, made measurable."
|
||||
},
|
||||
"nav": {
|
||||
"timer": "Timer",
|
||||
"entries": "Entries",
|
||||
"projects": "Projects",
|
||||
"clients": "Clients",
|
||||
"reports": "Reports",
|
||||
"settings": "Settings",
|
||||
"templates": "Templates",
|
||||
"alarms": "Alarms",
|
||||
"countdown": "Countdown",
|
||||
"stopwatch": "Stopwatch",
|
||||
"worldClock": "World Clock"
|
||||
},
|
||||
"timer": {
|
||||
"start": "Start Timer",
|
||||
"stop": "Stop Timer",
|
||||
"resume": "Resume",
|
||||
"running": "Running",
|
||||
"noDescription": "No description",
|
||||
"whatAreYouWorkingOn": "What are you working on?"
|
||||
},
|
||||
"entry": {
|
||||
"create": "Create Entry",
|
||||
"edit": "Edit Entry",
|
||||
"delete": "Delete Entry",
|
||||
"description": "Description",
|
||||
"date": "Date",
|
||||
"startTime": "Start Time",
|
||||
"endTime": "End Time",
|
||||
"duration": "Duration",
|
||||
"billable": "Billable",
|
||||
"notBillable": "Not Billable",
|
||||
"noEntries": "No entries",
|
||||
"today": "Today",
|
||||
"thisWeek": "This Week",
|
||||
"thisMonth": "This Month",
|
||||
"manual": "Manual Entry",
|
||||
"deleteConfirm": "Are you sure you want to delete this time entry? This cannot be undone."
|
||||
},
|
||||
"project": {
|
||||
"create": "Create Project",
|
||||
"edit": "Edit Project",
|
||||
"delete": "Delete Project",
|
||||
"name": "Name",
|
||||
"description": "Description",
|
||||
"client": "Client",
|
||||
"billable": "Billable",
|
||||
"budget": "Budget",
|
||||
"noProjects": "No projects",
|
||||
"archived": "Archived",
|
||||
"internal": "Internal",
|
||||
"deleteConfirm": "Are you sure you want to delete this project? This cannot be undone."
|
||||
},
|
||||
"client": {
|
||||
"create": "Create Client",
|
||||
"edit": "Edit Client",
|
||||
"delete": "Delete Client",
|
||||
"name": "Name",
|
||||
"shortCode": "Short Code",
|
||||
"email": "Email",
|
||||
"billingRate": "Billing Rate",
|
||||
"noClients": "No clients",
|
||||
"deleteConfirm": "Are you sure you want to delete this client? This cannot be undone."
|
||||
},
|
||||
"report": {
|
||||
"title": "Reports",
|
||||
"totalHours": "Total Hours",
|
||||
"billableHours": "Billable Hours",
|
||||
"avgPerDay": "Avg/Day",
|
||||
"topProject": "Top Project",
|
||||
"byProject": "By Project",
|
||||
"byClient": "By Client",
|
||||
"byDay": "By Day",
|
||||
"export": "Export",
|
||||
"dateRange": "Date Range"
|
||||
},
|
||||
"template": {
|
||||
"create": "Create Template",
|
||||
"edit": "Edit Template",
|
||||
"delete": "Delete Template",
|
||||
"noTemplates": "No templates",
|
||||
"useTemplate": "Use Template"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"workingHours": "Working Hours/Day",
|
||||
"workingDays": "Working Days/Week",
|
||||
"rounding": "Rounding",
|
||||
"roundingMethod": "Rounding Method",
|
||||
"none": "None",
|
||||
"up": "Round Up",
|
||||
"down": "Round Down",
|
||||
"nearest": "Nearest",
|
||||
"currency": "Currency",
|
||||
"billingRate": "Default Billing Rate",
|
||||
"weekStart": "Week Starts On",
|
||||
"monday": "Monday",
|
||||
"sunday": "Sunday",
|
||||
"timerReminder": "Timer Reminder (min)",
|
||||
"autoStop": "Auto-Stop (hours)"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"register": "Register",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"forgotPassword": "Forgot password?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"add": "Add",
|
||||
"close": "Close",
|
||||
"search": "Search",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"loading": "Loading...",
|
||||
"noResults": "No results",
|
||||
"confirm": "Confirm",
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"create": "Create",
|
||||
"archive": "Archive",
|
||||
"unarchive": "Restore",
|
||||
"total": "Total",
|
||||
"hours": "Hours",
|
||||
"minutes": "Minutes"
|
||||
},
|
||||
"clock": {
|
||||
"alarm": {
|
||||
"title": "Alarms",
|
||||
"custom": "Custom Alarms",
|
||||
"edit": "Edit Alarm",
|
||||
"time": "Time",
|
||||
"label": "Label",
|
||||
"repeat": "Repeat",
|
||||
"sound": "Sound",
|
||||
"snooze": "Snooze"
|
||||
},
|
||||
"timer": {
|
||||
"title": "Countdown Timer",
|
||||
"finished": "Timer finished!"
|
||||
},
|
||||
"stopwatch": {
|
||||
"title": "Stopwatch",
|
||||
"new": "New Stopwatch",
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"continue": "Continue",
|
||||
"reset": "Reset",
|
||||
"lap": "Lap",
|
||||
"laps": "Laps",
|
||||
"total": "Total",
|
||||
"best": "Best",
|
||||
"worst": "Worst",
|
||||
"noStopwatches": "No Stopwatches",
|
||||
"noStopwatchesDescription": "Create a new stopwatch to start timing.",
|
||||
"startFirst": "Start First Stopwatch",
|
||||
"otherStopwatches": "Other Stopwatches"
|
||||
},
|
||||
"worldClock": {
|
||||
"title": "World Clock",
|
||||
"add": "Add City",
|
||||
"search": "Search city...",
|
||||
"noClocks": "No world clocks added",
|
||||
"same": "Same time"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Page not found",
|
||||
"backToHome": "Back to home"
|
||||
}
|
||||
}
|
||||
182
apps/manacore/apps/web/src/lib/i18n/locales/times/es.json
Normal file
182
apps/manacore/apps/web/src/lib/i18n/locales/times/es.json
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Times",
|
||||
"loading": "Cargando...",
|
||||
"tagline": "Tu ritmo de trabajo, medible."
|
||||
},
|
||||
"nav": {
|
||||
"timer": "Temporizador",
|
||||
"entries": "Registros",
|
||||
"projects": "Proyectos",
|
||||
"clients": "Clientes",
|
||||
"reports": "Informes",
|
||||
"settings": "Ajustes",
|
||||
"templates": "Plantillas",
|
||||
"alarms": "Alarmas",
|
||||
"countdown": "Cuenta atrás",
|
||||
"stopwatch": "Cronómetro",
|
||||
"worldClock": "Reloj mundial"
|
||||
},
|
||||
"timer": {
|
||||
"start": "Iniciar temporizador",
|
||||
"stop": "Detener temporizador",
|
||||
"resume": "Reanudar",
|
||||
"running": "En marcha",
|
||||
"noDescription": "Sin descripción",
|
||||
"whatAreYouWorkingOn": "¿En qué estás trabajando?"
|
||||
},
|
||||
"entry": {
|
||||
"create": "Crear registro",
|
||||
"edit": "Editar registro",
|
||||
"delete": "Eliminar registro",
|
||||
"description": "Descripción",
|
||||
"date": "Fecha",
|
||||
"startTime": "Hora de inicio",
|
||||
"endTime": "Hora de fin",
|
||||
"duration": "Duración",
|
||||
"billable": "Facturable",
|
||||
"notBillable": "No facturable",
|
||||
"noEntries": "Sin registros",
|
||||
"today": "Hoy",
|
||||
"thisWeek": "Esta semana",
|
||||
"thisMonth": "Este mes",
|
||||
"manual": "Entrada manual",
|
||||
"deleteConfirm": "¿Seguro que quieres eliminar este registro? No se puede deshacer."
|
||||
},
|
||||
"project": {
|
||||
"create": "Crear proyecto",
|
||||
"edit": "Editar proyecto",
|
||||
"delete": "Eliminar proyecto",
|
||||
"name": "Nombre",
|
||||
"description": "Descripción",
|
||||
"client": "Cliente",
|
||||
"billable": "Facturable",
|
||||
"budget": "Presupuesto",
|
||||
"noProjects": "Sin proyectos",
|
||||
"archived": "Archivado",
|
||||
"internal": "Interno",
|
||||
"deleteConfirm": "¿Seguro que quieres eliminar este proyecto? No se puede deshacer."
|
||||
},
|
||||
"client": {
|
||||
"create": "Crear cliente",
|
||||
"edit": "Editar cliente",
|
||||
"delete": "Eliminar cliente",
|
||||
"name": "Nombre",
|
||||
"shortCode": "Código corto",
|
||||
"email": "Email",
|
||||
"billingRate": "Tarifa",
|
||||
"noClients": "Sin clientes",
|
||||
"deleteConfirm": "¿Seguro que quieres eliminar este cliente? No se puede deshacer."
|
||||
},
|
||||
"report": {
|
||||
"title": "Informes",
|
||||
"totalHours": "Horas totales",
|
||||
"billableHours": "Horas facturables",
|
||||
"avgPerDay": "Media/día",
|
||||
"topProject": "Proyecto principal",
|
||||
"byProject": "Por proyecto",
|
||||
"byClient": "Por cliente",
|
||||
"byDay": "Por día",
|
||||
"export": "Exportar",
|
||||
"dateRange": "Rango de fechas"
|
||||
},
|
||||
"template": {
|
||||
"create": "Crear plantilla",
|
||||
"edit": "Editar plantilla",
|
||||
"delete": "Eliminar plantilla",
|
||||
"noTemplates": "Sin plantillas",
|
||||
"useTemplate": "Usar plantilla"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Ajustes",
|
||||
"workingHours": "Horas de trabajo/día",
|
||||
"workingDays": "Días laborables/semana",
|
||||
"rounding": "Redondeo",
|
||||
"roundingMethod": "Método de redondeo",
|
||||
"none": "Ninguno",
|
||||
"up": "Redondear arriba",
|
||||
"down": "Redondear abajo",
|
||||
"nearest": "Al más cercano",
|
||||
"currency": "Moneda",
|
||||
"billingRate": "Tarifa por defecto",
|
||||
"weekStart": "La semana empieza el",
|
||||
"monday": "Lunes",
|
||||
"sunday": "Domingo",
|
||||
"timerReminder": "Recordatorio (min)",
|
||||
"autoStop": "Parada automática (horas)"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"register": "Registrarse",
|
||||
"email": "Email",
|
||||
"password": "Contraseña",
|
||||
"forgotPassword": "¿Olvidaste tu contraseña?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"add": "Agregar",
|
||||
"close": "Cerrar",
|
||||
"search": "Buscar",
|
||||
"error": "Error",
|
||||
"success": "Correcto",
|
||||
"loading": "Cargando...",
|
||||
"noResults": "Sin resultados",
|
||||
"confirm": "Confirmar",
|
||||
"back": "Atrás",
|
||||
"next": "Siguiente",
|
||||
"create": "Crear",
|
||||
"archive": "Archivar",
|
||||
"unarchive": "Restaurar",
|
||||
"total": "Total",
|
||||
"hours": "Horas",
|
||||
"minutes": "Minutos"
|
||||
},
|
||||
"clock": {
|
||||
"alarm": {
|
||||
"title": "Alarmas",
|
||||
"custom": "Alarmas personalizadas",
|
||||
"edit": "Editar alarma",
|
||||
"time": "Hora",
|
||||
"label": "Etiqueta",
|
||||
"repeat": "Repetir",
|
||||
"sound": "Sonido",
|
||||
"snooze": "Posponer"
|
||||
},
|
||||
"timer": {
|
||||
"title": "Cuenta atrás",
|
||||
"finished": "¡Tiempo terminado!"
|
||||
},
|
||||
"stopwatch": {
|
||||
"title": "Cronómetro",
|
||||
"new": "Nuevo cronómetro",
|
||||
"start": "Iniciar",
|
||||
"stop": "Detener",
|
||||
"continue": "Continuar",
|
||||
"reset": "Reiniciar",
|
||||
"lap": "Vuelta",
|
||||
"laps": "Vueltas",
|
||||
"total": "Total",
|
||||
"best": "Mejor",
|
||||
"worst": "Peor",
|
||||
"noStopwatches": "Sin cronómetros",
|
||||
"noStopwatchesDescription": "Crea un nuevo cronómetro para empezar.",
|
||||
"startFirst": "Iniciar primer cronómetro",
|
||||
"otherStopwatches": "Otros cronómetros"
|
||||
},
|
||||
"worldClock": {
|
||||
"title": "Reloj mundial",
|
||||
"add": "Agregar ciudad",
|
||||
"search": "Buscar ciudad...",
|
||||
"noClocks": "No hay relojes mundiales",
|
||||
"same": "Misma hora"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Página no encontrada",
|
||||
"backToHome": "Volver al inicio"
|
||||
}
|
||||
}
|
||||
182
apps/manacore/apps/web/src/lib/i18n/locales/times/fr.json
Normal file
182
apps/manacore/apps/web/src/lib/i18n/locales/times/fr.json
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Times",
|
||||
"loading": "Chargement...",
|
||||
"tagline": "Ton rythme de travail, mesurable."
|
||||
},
|
||||
"nav": {
|
||||
"timer": "Minuteur",
|
||||
"entries": "Entrées",
|
||||
"projects": "Projets",
|
||||
"clients": "Clients",
|
||||
"reports": "Rapports",
|
||||
"settings": "Paramètres",
|
||||
"templates": "Modèles",
|
||||
"alarms": "Alarmes",
|
||||
"countdown": "Compte à rebours",
|
||||
"stopwatch": "Chronomètre",
|
||||
"worldClock": "Horloge mondiale"
|
||||
},
|
||||
"timer": {
|
||||
"start": "Démarrer le minuteur",
|
||||
"stop": "Arrêter le minuteur",
|
||||
"resume": "Reprendre",
|
||||
"running": "En cours",
|
||||
"noDescription": "Pas de description",
|
||||
"whatAreYouWorkingOn": "Sur quoi travailles-tu ?"
|
||||
},
|
||||
"entry": {
|
||||
"create": "Créer une entrée",
|
||||
"edit": "Modifier l'entrée",
|
||||
"delete": "Supprimer l'entrée",
|
||||
"description": "Description",
|
||||
"date": "Date",
|
||||
"startTime": "Heure de début",
|
||||
"endTime": "Heure de fin",
|
||||
"duration": "Durée",
|
||||
"billable": "Facturable",
|
||||
"notBillable": "Non facturable",
|
||||
"noEntries": "Aucune entrée",
|
||||
"today": "Aujourd'hui",
|
||||
"thisWeek": "Cette semaine",
|
||||
"thisMonth": "Ce mois-ci",
|
||||
"manual": "Entrée manuelle",
|
||||
"deleteConfirm": "Voulez-vous vraiment supprimer cette entrée ? Cette action est irréversible."
|
||||
},
|
||||
"project": {
|
||||
"create": "Créer un projet",
|
||||
"edit": "Modifier le projet",
|
||||
"delete": "Supprimer le projet",
|
||||
"name": "Nom",
|
||||
"description": "Description",
|
||||
"client": "Client",
|
||||
"billable": "Facturable",
|
||||
"budget": "Budget",
|
||||
"noProjects": "Aucun projet",
|
||||
"archived": "Archivé",
|
||||
"internal": "Interne",
|
||||
"deleteConfirm": "Voulez-vous vraiment supprimer ce projet ? Cette action est irréversible."
|
||||
},
|
||||
"client": {
|
||||
"create": "Créer un client",
|
||||
"edit": "Modifier le client",
|
||||
"delete": "Supprimer le client",
|
||||
"name": "Nom",
|
||||
"shortCode": "Code court",
|
||||
"email": "Email",
|
||||
"billingRate": "Tarif",
|
||||
"noClients": "Aucun client",
|
||||
"deleteConfirm": "Voulez-vous vraiment supprimer ce client ? Cette action est irréversible."
|
||||
},
|
||||
"report": {
|
||||
"title": "Rapports",
|
||||
"totalHours": "Heures totales",
|
||||
"billableHours": "Heures facturables",
|
||||
"avgPerDay": "Moy./jour",
|
||||
"topProject": "Projet principal",
|
||||
"byProject": "Par projet",
|
||||
"byClient": "Par client",
|
||||
"byDay": "Par jour",
|
||||
"export": "Exporter",
|
||||
"dateRange": "Période"
|
||||
},
|
||||
"template": {
|
||||
"create": "Créer un modèle",
|
||||
"edit": "Modifier le modèle",
|
||||
"delete": "Supprimer le modèle",
|
||||
"noTemplates": "Aucun modèle",
|
||||
"useTemplate": "Utiliser le modèle"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Paramètres",
|
||||
"workingHours": "Heures de travail/jour",
|
||||
"workingDays": "Jours ouvrés/semaine",
|
||||
"rounding": "Arrondi",
|
||||
"roundingMethod": "Méthode d'arrondi",
|
||||
"none": "Aucun",
|
||||
"up": "Arrondir au-dessus",
|
||||
"down": "Arrondir en-dessous",
|
||||
"nearest": "Au plus proche",
|
||||
"currency": "Devise",
|
||||
"billingRate": "Tarif par défaut",
|
||||
"weekStart": "La semaine commence le",
|
||||
"monday": "Lundi",
|
||||
"sunday": "Dimanche",
|
||||
"timerReminder": "Rappel (min)",
|
||||
"autoStop": "Arrêt auto (heures)"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
"logout": "Déconnexion",
|
||||
"register": "Inscription",
|
||||
"email": "Email",
|
||||
"password": "Mot de passe",
|
||||
"forgotPassword": "Mot de passe oublié ?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"add": "Ajouter",
|
||||
"close": "Fermer",
|
||||
"search": "Rechercher",
|
||||
"error": "Erreur",
|
||||
"success": "Succès",
|
||||
"loading": "Chargement...",
|
||||
"noResults": "Aucun résultat",
|
||||
"confirm": "Confirmer",
|
||||
"back": "Retour",
|
||||
"next": "Suivant",
|
||||
"create": "Créer",
|
||||
"archive": "Archiver",
|
||||
"unarchive": "Restaurer",
|
||||
"total": "Total",
|
||||
"hours": "Heures",
|
||||
"minutes": "Minutes"
|
||||
},
|
||||
"clock": {
|
||||
"alarm": {
|
||||
"title": "Alarmes",
|
||||
"custom": "Alarmes personnalisées",
|
||||
"edit": "Modifier l'alarme",
|
||||
"time": "Heure",
|
||||
"label": "Libellé",
|
||||
"repeat": "Répéter",
|
||||
"sound": "Son",
|
||||
"snooze": "Rappel"
|
||||
},
|
||||
"timer": {
|
||||
"title": "Compte à rebours",
|
||||
"finished": "Temps écoulé !"
|
||||
},
|
||||
"stopwatch": {
|
||||
"title": "Chronomètre",
|
||||
"new": "Nouveau chronomètre",
|
||||
"start": "Démarrer",
|
||||
"stop": "Arrêter",
|
||||
"continue": "Continuer",
|
||||
"reset": "Réinitialiser",
|
||||
"lap": "Tour",
|
||||
"laps": "Tours",
|
||||
"total": "Total",
|
||||
"best": "Meilleur",
|
||||
"worst": "Pire",
|
||||
"noStopwatches": "Aucun chronomètre",
|
||||
"noStopwatchesDescription": "Crée un nouveau chronomètre pour commencer.",
|
||||
"startFirst": "Démarrer le premier chronomètre",
|
||||
"otherStopwatches": "Autres chronomètres"
|
||||
},
|
||||
"worldClock": {
|
||||
"title": "Horloge mondiale",
|
||||
"add": "Ajouter une ville",
|
||||
"search": "Rechercher une ville...",
|
||||
"noClocks": "Aucune horloge mondiale",
|
||||
"same": "Même heure"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Page introuvable",
|
||||
"backToHome": "Retour à l'accueil"
|
||||
}
|
||||
}
|
||||
182
apps/manacore/apps/web/src/lib/i18n/locales/times/it.json
Normal file
182
apps/manacore/apps/web/src/lib/i18n/locales/times/it.json
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Times",
|
||||
"loading": "Caricamento...",
|
||||
"tagline": "Il tuo ritmo di lavoro, misurabile."
|
||||
},
|
||||
"nav": {
|
||||
"timer": "Timer",
|
||||
"entries": "Registrazioni",
|
||||
"projects": "Progetti",
|
||||
"clients": "Clienti",
|
||||
"reports": "Report",
|
||||
"settings": "Impostazioni",
|
||||
"templates": "Modelli",
|
||||
"alarms": "Sveglie",
|
||||
"countdown": "Conto alla rovescia",
|
||||
"stopwatch": "Cronometro",
|
||||
"worldClock": "Orologio mondiale"
|
||||
},
|
||||
"timer": {
|
||||
"start": "Avvia timer",
|
||||
"stop": "Ferma timer",
|
||||
"resume": "Riprendi",
|
||||
"running": "In corso",
|
||||
"noDescription": "Nessuna descrizione",
|
||||
"whatAreYouWorkingOn": "Su cosa stai lavorando?"
|
||||
},
|
||||
"entry": {
|
||||
"create": "Crea registrazione",
|
||||
"edit": "Modifica registrazione",
|
||||
"delete": "Elimina registrazione",
|
||||
"description": "Descrizione",
|
||||
"date": "Data",
|
||||
"startTime": "Ora di inizio",
|
||||
"endTime": "Ora di fine",
|
||||
"duration": "Durata",
|
||||
"billable": "Fatturabile",
|
||||
"notBillable": "Non fatturabile",
|
||||
"noEntries": "Nessuna registrazione",
|
||||
"today": "Oggi",
|
||||
"thisWeek": "Questa settimana",
|
||||
"thisMonth": "Questo mese",
|
||||
"manual": "Inserimento manuale",
|
||||
"deleteConfirm": "Vuoi davvero eliminare questa registrazione? Non è possibile annullare."
|
||||
},
|
||||
"project": {
|
||||
"create": "Crea progetto",
|
||||
"edit": "Modifica progetto",
|
||||
"delete": "Elimina progetto",
|
||||
"name": "Nome",
|
||||
"description": "Descrizione",
|
||||
"client": "Cliente",
|
||||
"billable": "Fatturabile",
|
||||
"budget": "Budget",
|
||||
"noProjects": "Nessun progetto",
|
||||
"archived": "Archiviato",
|
||||
"internal": "Interno",
|
||||
"deleteConfirm": "Vuoi davvero eliminare questo progetto? Non è possibile annullare."
|
||||
},
|
||||
"client": {
|
||||
"create": "Crea cliente",
|
||||
"edit": "Modifica cliente",
|
||||
"delete": "Elimina cliente",
|
||||
"name": "Nome",
|
||||
"shortCode": "Codice breve",
|
||||
"email": "Email",
|
||||
"billingRate": "Tariffa",
|
||||
"noClients": "Nessun cliente",
|
||||
"deleteConfirm": "Vuoi davvero eliminare questo cliente? Non è possibile annullare."
|
||||
},
|
||||
"report": {
|
||||
"title": "Report",
|
||||
"totalHours": "Ore totali",
|
||||
"billableHours": "Ore fatturabili",
|
||||
"avgPerDay": "Media/giorno",
|
||||
"topProject": "Progetto principale",
|
||||
"byProject": "Per progetto",
|
||||
"byClient": "Per cliente",
|
||||
"byDay": "Per giorno",
|
||||
"export": "Esporta",
|
||||
"dateRange": "Periodo"
|
||||
},
|
||||
"template": {
|
||||
"create": "Crea modello",
|
||||
"edit": "Modifica modello",
|
||||
"delete": "Elimina modello",
|
||||
"noTemplates": "Nessun modello",
|
||||
"useTemplate": "Usa modello"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Impostazioni",
|
||||
"workingHours": "Ore lavorative/giorno",
|
||||
"workingDays": "Giorni lavorativi/settimana",
|
||||
"rounding": "Arrotondamento",
|
||||
"roundingMethod": "Metodo di arrotondamento",
|
||||
"none": "Nessuno",
|
||||
"up": "Arrotonda per eccesso",
|
||||
"down": "Arrotonda per difetto",
|
||||
"nearest": "Al più vicino",
|
||||
"currency": "Valuta",
|
||||
"billingRate": "Tariffa predefinita",
|
||||
"weekStart": "La settimana inizia il",
|
||||
"monday": "Lunedì",
|
||||
"sunday": "Domenica",
|
||||
"timerReminder": "Promemoria (min)",
|
||||
"autoStop": "Arresto automatico (ore)"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
"logout": "Esci",
|
||||
"register": "Registrati",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"forgotPassword": "Password dimenticata?"
|
||||
},
|
||||
"common": {
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"add": "Aggiungi",
|
||||
"close": "Chiudi",
|
||||
"search": "Cerca",
|
||||
"error": "Errore",
|
||||
"success": "Successo",
|
||||
"loading": "Caricamento...",
|
||||
"noResults": "Nessun risultato",
|
||||
"confirm": "Conferma",
|
||||
"back": "Indietro",
|
||||
"next": "Avanti",
|
||||
"create": "Crea",
|
||||
"archive": "Archivia",
|
||||
"unarchive": "Ripristina",
|
||||
"total": "Totale",
|
||||
"hours": "Ore",
|
||||
"minutes": "Minuti"
|
||||
},
|
||||
"clock": {
|
||||
"alarm": {
|
||||
"title": "Sveglie",
|
||||
"custom": "Sveglie personalizzate",
|
||||
"edit": "Modifica sveglia",
|
||||
"time": "Ora",
|
||||
"label": "Etichetta",
|
||||
"repeat": "Ripeti",
|
||||
"sound": "Suono",
|
||||
"snooze": "Posticipa"
|
||||
},
|
||||
"timer": {
|
||||
"title": "Conto alla rovescia",
|
||||
"finished": "Tempo scaduto!"
|
||||
},
|
||||
"stopwatch": {
|
||||
"title": "Cronometro",
|
||||
"new": "Nuovo cronometro",
|
||||
"start": "Avvia",
|
||||
"stop": "Ferma",
|
||||
"continue": "Continua",
|
||||
"reset": "Azzera",
|
||||
"lap": "Giro",
|
||||
"laps": "Giri",
|
||||
"total": "Totale",
|
||||
"best": "Migliore",
|
||||
"worst": "Peggiore",
|
||||
"noStopwatches": "Nessun cronometro",
|
||||
"noStopwatchesDescription": "Crea un nuovo cronometro per iniziare.",
|
||||
"startFirst": "Avvia il primo cronometro",
|
||||
"otherStopwatches": "Altri cronometri"
|
||||
},
|
||||
"worldClock": {
|
||||
"title": "Orologio mondiale",
|
||||
"add": "Aggiungi città",
|
||||
"search": "Cerca città...",
|
||||
"noClocks": "Nessun orologio mondiale",
|
||||
"same": "Stessa ora"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"notFound": "Pagina non trovata",
|
||||
"backToHome": "Torna alla home"
|
||||
}
|
||||
}
|
||||
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/de.json
Normal file
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/de.json
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
"nav": {
|
||||
"links": "Links",
|
||||
"tags": "Tags",
|
||||
"analytics": "Analytics",
|
||||
"settings": "Einstellungen"
|
||||
},
|
||||
"links": {
|
||||
"title": "Links",
|
||||
"newLink": "Neuer Link",
|
||||
"hide": "Ausblenden",
|
||||
"url": "URL",
|
||||
"urlPlaceholder": "https://example.com/long-url-here",
|
||||
"titleLabel": "Titel (optional)",
|
||||
"titlePlaceholder": "Mein Link",
|
||||
"customCode": "Custom Code (optional)",
|
||||
"customCodePlaceholder": "mein-link",
|
||||
"utmParams": "UTM-Parameter",
|
||||
"create": "Link erstellen",
|
||||
"search": "Links durchsuchen...",
|
||||
"all": "Alle",
|
||||
"active": "Aktiv",
|
||||
"inactive": "Inaktiv",
|
||||
"allFolders": "Alle Ordner",
|
||||
"noLinks": "Noch keine Links",
|
||||
"noLinksDesc": "Erstelle deinen ersten gekürzten Link!",
|
||||
"copied": "Link kopiert!",
|
||||
"created": "Link erstellt",
|
||||
"updated": "Link aktualisiert",
|
||||
"deleted": "Link gelöscht",
|
||||
"edit": "Bearbeiten",
|
||||
"editTitle": "Link bearbeiten",
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"deleteConfirm": "wirklich löschen?",
|
||||
"activate": "Aktivieren",
|
||||
"deactivate": "Deaktivieren",
|
||||
"copyLink": "Link kopieren",
|
||||
"qrCode": "QR-Code",
|
||||
"qrDownload": "QR herunterladen",
|
||||
"clicks": "clicks"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"newTag": "Neuer Tag",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "z.B. Social Media",
|
||||
"color": "Farbe",
|
||||
"create": "Erstellen",
|
||||
"noTags": "Noch keine Tags",
|
||||
"noTagsDesc": "Erstelle Tags um deine Links zu organisieren.",
|
||||
"created": "Tag erstellt",
|
||||
"updated": "Tag aktualisiert",
|
||||
"deleted": "Tag gelöscht",
|
||||
"linksCount": "Links"
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Analytics",
|
||||
"clicks": "Clicks",
|
||||
"unique": "Unique",
|
||||
"status": "Status",
|
||||
"created": "Erstellt",
|
||||
"clicksOverTime": "Clicks über Zeit",
|
||||
"devices": "Geräte",
|
||||
"referrers": "Referrer",
|
||||
"countries": "Länder",
|
||||
"noData": "Keine Daten",
|
||||
"noDataPeriod": "Noch keine Daten für diesen Zeitraum",
|
||||
"authRequired": "Analytics nur für angemeldete Nutzer",
|
||||
"localClicks": "Lokale Click-Counts",
|
||||
"unknown": "Unbekannt",
|
||||
"direct": "Direkt"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Einstellungen",
|
||||
"account": "Account",
|
||||
"email": "E-Mail",
|
||||
"name": "Name",
|
||||
"data": "Daten",
|
||||
"clearData": "Lokale Daten löschen",
|
||||
"clearConfirm": "Alle lokalen Daten löschen? Dies kann nicht rückgängig gemacht werden.",
|
||||
"cleared": "Lokale Daten gelöscht",
|
||||
"logout": "Abmelden",
|
||||
"guestHint": "Du bist als Gast unterwegs.",
|
||||
"loginToSync": "Anmelden um Daten zu synchronisieren."
|
||||
},
|
||||
"common": {
|
||||
"back": "Zurück",
|
||||
"login": "Anmelden",
|
||||
"source": "Source",
|
||||
"medium": "Medium",
|
||||
"campaign": "Campaign"
|
||||
}
|
||||
}
|
||||
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/en.json
Normal file
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/en.json
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
"nav": {
|
||||
"links": "Links",
|
||||
"tags": "Tags",
|
||||
"analytics": "Analytics",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"links": {
|
||||
"title": "Links",
|
||||
"newLink": "New Link",
|
||||
"hide": "Hide",
|
||||
"url": "URL",
|
||||
"urlPlaceholder": "https://example.com/long-url-here",
|
||||
"titleLabel": "Title (optional)",
|
||||
"titlePlaceholder": "My Link",
|
||||
"customCode": "Custom Code (optional)",
|
||||
"customCodePlaceholder": "my-link",
|
||||
"utmParams": "UTM Parameters",
|
||||
"create": "Create Link",
|
||||
"search": "Search links...",
|
||||
"all": "All",
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"allFolders": "All Folders",
|
||||
"noLinks": "No links yet",
|
||||
"noLinksDesc": "Create your first shortened link!",
|
||||
"copied": "Link copied!",
|
||||
"created": "Link created",
|
||||
"updated": "Link updated",
|
||||
"deleted": "Link deleted",
|
||||
"edit": "Edit",
|
||||
"editTitle": "Edit Link",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"deleteConfirm": "really delete?",
|
||||
"activate": "Activate",
|
||||
"deactivate": "Deactivate",
|
||||
"copyLink": "Copy link",
|
||||
"qrCode": "QR Code",
|
||||
"qrDownload": "Download QR",
|
||||
"clicks": "clicks"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"newTag": "New Tag",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "e.g. Social Media",
|
||||
"color": "Color",
|
||||
"create": "Create",
|
||||
"noTags": "No tags yet",
|
||||
"noTagsDesc": "Create tags to organize your links.",
|
||||
"created": "Tag created",
|
||||
"updated": "Tag updated",
|
||||
"deleted": "Tag deleted",
|
||||
"linksCount": "Links"
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Analytics",
|
||||
"clicks": "Clicks",
|
||||
"unique": "Unique",
|
||||
"status": "Status",
|
||||
"created": "Created",
|
||||
"clicksOverTime": "Clicks over time",
|
||||
"devices": "Devices",
|
||||
"referrers": "Referrers",
|
||||
"countries": "Countries",
|
||||
"noData": "No data",
|
||||
"noDataPeriod": "No data for this period yet",
|
||||
"authRequired": "Analytics only for logged-in users",
|
||||
"localClicks": "Local click counts",
|
||||
"unknown": "Unknown",
|
||||
"direct": "Direct"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"account": "Account",
|
||||
"email": "Email",
|
||||
"name": "Name",
|
||||
"data": "Data",
|
||||
"clearData": "Clear local data",
|
||||
"clearConfirm": "Clear all local data? This cannot be undone.",
|
||||
"cleared": "Local data cleared",
|
||||
"logout": "Sign out",
|
||||
"guestHint": "You are in guest mode.",
|
||||
"loginToSync": "Sign in to sync your data."
|
||||
},
|
||||
"common": {
|
||||
"back": "Back",
|
||||
"login": "Sign in",
|
||||
"source": "Source",
|
||||
"medium": "Medium",
|
||||
"campaign": "Campaign"
|
||||
}
|
||||
}
|
||||
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/es.json
Normal file
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/es.json
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
"nav": {
|
||||
"links": "Enlaces",
|
||||
"tags": "Etiquetas",
|
||||
"analytics": "Analíticas",
|
||||
"settings": "Ajustes"
|
||||
},
|
||||
"links": {
|
||||
"title": "Enlaces",
|
||||
"newLink": "Nuevo enlace",
|
||||
"hide": "Ocultar",
|
||||
"url": "URL",
|
||||
"urlPlaceholder": "https://example.com/url-larga-aqui",
|
||||
"titleLabel": "Título (opcional)",
|
||||
"titlePlaceholder": "Mi enlace",
|
||||
"customCode": "Código personalizado (opcional)",
|
||||
"customCodePlaceholder": "mi-enlace",
|
||||
"utmParams": "Parámetros UTM",
|
||||
"create": "Crear enlace",
|
||||
"search": "Buscar enlaces...",
|
||||
"all": "Todos",
|
||||
"active": "Activos",
|
||||
"inactive": "Inactivos",
|
||||
"allFolders": "Todas las carpetas",
|
||||
"noLinks": "Aún no hay enlaces",
|
||||
"noLinksDesc": "¡Crea tu primer enlace acortado!",
|
||||
"copied": "¡Enlace copiado!",
|
||||
"created": "Enlace creado",
|
||||
"updated": "Enlace actualizado",
|
||||
"deleted": "Enlace eliminado",
|
||||
"edit": "Editar",
|
||||
"editTitle": "Editar enlace",
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"deleteConfirm": "¿eliminar de verdad?",
|
||||
"activate": "Activar",
|
||||
"deactivate": "Desactivar",
|
||||
"copyLink": "Copiar enlace",
|
||||
"qrCode": "Código QR",
|
||||
"qrDownload": "Descargar QR",
|
||||
"clicks": "clics"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Etiquetas",
|
||||
"newTag": "Nueva etiqueta",
|
||||
"name": "Nombre",
|
||||
"namePlaceholder": "ej. Redes sociales",
|
||||
"color": "Color",
|
||||
"create": "Crear",
|
||||
"noTags": "Aún no hay etiquetas",
|
||||
"noTagsDesc": "Crea etiquetas para organizar tus enlaces.",
|
||||
"created": "Etiqueta creada",
|
||||
"updated": "Etiqueta actualizada",
|
||||
"deleted": "Etiqueta eliminada",
|
||||
"linksCount": "Enlaces"
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Analíticas",
|
||||
"clicks": "Clics",
|
||||
"unique": "Únicos",
|
||||
"status": "Estado",
|
||||
"created": "Creado",
|
||||
"clicksOverTime": "Clics en el tiempo",
|
||||
"devices": "Dispositivos",
|
||||
"referrers": "Referentes",
|
||||
"countries": "Países",
|
||||
"noData": "Sin datos",
|
||||
"noDataPeriod": "Aún no hay datos para este período",
|
||||
"authRequired": "Analíticas solo para usuarios registrados",
|
||||
"localClicks": "Clics locales",
|
||||
"unknown": "Desconocido",
|
||||
"direct": "Directo"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Ajustes",
|
||||
"account": "Cuenta",
|
||||
"email": "Email",
|
||||
"name": "Nombre",
|
||||
"data": "Datos",
|
||||
"clearData": "Borrar datos locales",
|
||||
"clearConfirm": "¿Borrar todos los datos locales? No se puede deshacer.",
|
||||
"cleared": "Datos locales borrados",
|
||||
"logout": "Cerrar sesión",
|
||||
"guestHint": "Estás en modo invitado.",
|
||||
"loginToSync": "Inicia sesión para sincronizar tus datos."
|
||||
},
|
||||
"common": {
|
||||
"back": "Atrás",
|
||||
"login": "Iniciar sesión",
|
||||
"source": "Fuente",
|
||||
"medium": "Medio",
|
||||
"campaign": "Campaña"
|
||||
}
|
||||
}
|
||||
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/fr.json
Normal file
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/fr.json
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
"nav": {
|
||||
"links": "Liens",
|
||||
"tags": "Tags",
|
||||
"analytics": "Statistiques",
|
||||
"settings": "Paramètres"
|
||||
},
|
||||
"links": {
|
||||
"title": "Liens",
|
||||
"newLink": "Nouveau lien",
|
||||
"hide": "Masquer",
|
||||
"url": "URL",
|
||||
"urlPlaceholder": "https://example.com/longue-url-ici",
|
||||
"titleLabel": "Titre (optionnel)",
|
||||
"titlePlaceholder": "Mon lien",
|
||||
"customCode": "Code personnalisé (optionnel)",
|
||||
"customCodePlaceholder": "mon-lien",
|
||||
"utmParams": "Paramètres UTM",
|
||||
"create": "Créer le lien",
|
||||
"search": "Rechercher des liens...",
|
||||
"all": "Tous",
|
||||
"active": "Actifs",
|
||||
"inactive": "Inactifs",
|
||||
"allFolders": "Tous les dossiers",
|
||||
"noLinks": "Pas encore de liens",
|
||||
"noLinksDesc": "Crée ton premier lien raccourci !",
|
||||
"copied": "Lien copié !",
|
||||
"created": "Lien créé",
|
||||
"updated": "Lien mis à jour",
|
||||
"deleted": "Lien supprimé",
|
||||
"edit": "Modifier",
|
||||
"editTitle": "Modifier le lien",
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"deleteConfirm": "vraiment supprimer ?",
|
||||
"activate": "Activer",
|
||||
"deactivate": "Désactiver",
|
||||
"copyLink": "Copier le lien",
|
||||
"qrCode": "Code QR",
|
||||
"qrDownload": "Télécharger le QR",
|
||||
"clicks": "clics"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tags",
|
||||
"newTag": "Nouveau tag",
|
||||
"name": "Nom",
|
||||
"namePlaceholder": "ex. Réseaux sociaux",
|
||||
"color": "Couleur",
|
||||
"create": "Créer",
|
||||
"noTags": "Pas encore de tags",
|
||||
"noTagsDesc": "Crée des tags pour organiser tes liens.",
|
||||
"created": "Tag créé",
|
||||
"updated": "Tag mis à jour",
|
||||
"deleted": "Tag supprimé",
|
||||
"linksCount": "Liens"
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Statistiques",
|
||||
"clicks": "Clics",
|
||||
"unique": "Uniques",
|
||||
"status": "Statut",
|
||||
"created": "Créé",
|
||||
"clicksOverTime": "Clics dans le temps",
|
||||
"devices": "Appareils",
|
||||
"referrers": "Référents",
|
||||
"countries": "Pays",
|
||||
"noData": "Pas de données",
|
||||
"noDataPeriod": "Pas encore de données pour cette période",
|
||||
"authRequired": "Statistiques réservées aux utilisateurs connectés",
|
||||
"localClicks": "Clics locaux",
|
||||
"unknown": "Inconnu",
|
||||
"direct": "Direct"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Paramètres",
|
||||
"account": "Compte",
|
||||
"email": "Email",
|
||||
"name": "Nom",
|
||||
"data": "Données",
|
||||
"clearData": "Effacer les données locales",
|
||||
"clearConfirm": "Effacer toutes les données locales ? Cette action est irréversible.",
|
||||
"cleared": "Données locales effacées",
|
||||
"logout": "Déconnexion",
|
||||
"guestHint": "Tu es en mode invité.",
|
||||
"loginToSync": "Connecte-toi pour synchroniser tes données."
|
||||
},
|
||||
"common": {
|
||||
"back": "Retour",
|
||||
"login": "Connexion",
|
||||
"source": "Source",
|
||||
"medium": "Support",
|
||||
"campaign": "Campagne"
|
||||
}
|
||||
}
|
||||
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/it.json
Normal file
95
apps/manacore/apps/web/src/lib/i18n/locales/uload/it.json
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
"nav": {
|
||||
"links": "Link",
|
||||
"tags": "Tag",
|
||||
"analytics": "Statistiche",
|
||||
"settings": "Impostazioni"
|
||||
},
|
||||
"links": {
|
||||
"title": "Link",
|
||||
"newLink": "Nuovo link",
|
||||
"hide": "Nascondi",
|
||||
"url": "URL",
|
||||
"urlPlaceholder": "https://example.com/url-lunga-qui",
|
||||
"titleLabel": "Titolo (opzionale)",
|
||||
"titlePlaceholder": "Il mio link",
|
||||
"customCode": "Codice personalizzato (opzionale)",
|
||||
"customCodePlaceholder": "mio-link",
|
||||
"utmParams": "Parametri UTM",
|
||||
"create": "Crea link",
|
||||
"search": "Cerca link...",
|
||||
"all": "Tutti",
|
||||
"active": "Attivi",
|
||||
"inactive": "Inattivi",
|
||||
"allFolders": "Tutte le cartelle",
|
||||
"noLinks": "Ancora nessun link",
|
||||
"noLinksDesc": "Crea il tuo primo link abbreviato!",
|
||||
"copied": "Link copiato!",
|
||||
"created": "Link creato",
|
||||
"updated": "Link aggiornato",
|
||||
"deleted": "Link eliminato",
|
||||
"edit": "Modifica",
|
||||
"editTitle": "Modifica link",
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"deleteConfirm": "eliminare davvero?",
|
||||
"activate": "Attiva",
|
||||
"deactivate": "Disattiva",
|
||||
"copyLink": "Copia link",
|
||||
"qrCode": "Codice QR",
|
||||
"qrDownload": "Scarica QR",
|
||||
"clicks": "clic"
|
||||
},
|
||||
"tags": {
|
||||
"title": "Tag",
|
||||
"newTag": "Nuovo tag",
|
||||
"name": "Nome",
|
||||
"namePlaceholder": "es. Social media",
|
||||
"color": "Colore",
|
||||
"create": "Crea",
|
||||
"noTags": "Ancora nessun tag",
|
||||
"noTagsDesc": "Crea tag per organizzare i tuoi link.",
|
||||
"created": "Tag creato",
|
||||
"updated": "Tag aggiornato",
|
||||
"deleted": "Tag eliminato",
|
||||
"linksCount": "Link"
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Statistiche",
|
||||
"clicks": "Clic",
|
||||
"unique": "Unici",
|
||||
"status": "Stato",
|
||||
"created": "Creato",
|
||||
"clicksOverTime": "Clic nel tempo",
|
||||
"devices": "Dispositivi",
|
||||
"referrers": "Referrer",
|
||||
"countries": "Paesi",
|
||||
"noData": "Nessun dato",
|
||||
"noDataPeriod": "Nessun dato per questo periodo",
|
||||
"authRequired": "Statistiche solo per utenti registrati",
|
||||
"localClicks": "Clic locali",
|
||||
"unknown": "Sconosciuto",
|
||||
"direct": "Diretto"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Impostazioni",
|
||||
"account": "Account",
|
||||
"email": "Email",
|
||||
"name": "Nome",
|
||||
"data": "Dati",
|
||||
"clearData": "Cancella dati locali",
|
||||
"clearConfirm": "Cancellare tutti i dati locali? Non è possibile annullare.",
|
||||
"cleared": "Dati locali cancellati",
|
||||
"logout": "Esci",
|
||||
"guestHint": "Sei in modalità ospite.",
|
||||
"loginToSync": "Accedi per sincronizzare i tuoi dati."
|
||||
},
|
||||
"common": {
|
||||
"back": "Indietro",
|
||||
"login": "Accedi",
|
||||
"source": "Sorgente",
|
||||
"medium": "Mezzo",
|
||||
"campaign": "Campagna"
|
||||
}
|
||||
}
|
||||
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/de.json
Normal file
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/de.json
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Zitare",
|
||||
"tagline": "Inspirierende Zitate jeden Tag"
|
||||
},
|
||||
"nav": {
|
||||
"home": "Heute",
|
||||
"today": "Heute",
|
||||
"categories": "Kategorien",
|
||||
"favorites": "Favoriten",
|
||||
"lists": "Listen",
|
||||
"search": "Suche",
|
||||
"settings": "Einstellungen",
|
||||
"feedback": "Feedback",
|
||||
"menu": "Menü",
|
||||
"allThemes": "Alle Themes",
|
||||
"showNav": "Navigation anzeigen",
|
||||
"hideNav": "Navigation ausblenden"
|
||||
},
|
||||
"home": {
|
||||
"dailyQuote": "Zitat des Tages",
|
||||
"newQuote": "Neues Zitat",
|
||||
"share": "Teilen",
|
||||
"favorite": "Favorit",
|
||||
"unfavorite": "Entfernen",
|
||||
"source": "Quelle",
|
||||
"year": "Jahr"
|
||||
},
|
||||
"categories": {
|
||||
"title": "Kategorien",
|
||||
"wisdom": "Weisheit",
|
||||
"motivation": "Motivation",
|
||||
"love": "Liebe",
|
||||
"life": "Leben",
|
||||
"success": "Erfolg",
|
||||
"happiness": "Glück",
|
||||
"friendship": "Freundschaft",
|
||||
"courage": "Mut",
|
||||
"hope": "Hoffnung",
|
||||
"nature": "Natur",
|
||||
"quotes": "{count} Zitate",
|
||||
"notFound": "Kategorie nicht gefunden",
|
||||
"backToCategories": "Zurück zu Kategorien",
|
||||
"searchInCategory": "In dieser Kategorie suchen...",
|
||||
"sortByAuthor": "Nach Autor",
|
||||
"sortByDefault": "Standard"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoriten",
|
||||
"empty": "Noch keine Favoriten",
|
||||
"emptyDescription": "Tippe auf das Herz-Symbol, um Zitate zu speichern",
|
||||
"loginPrompt": "Melde dich an, um Favoriten zu speichern",
|
||||
"removeFromFavorites": "Aus Favoriten entfernen",
|
||||
"copyQuote": "Zitat kopieren",
|
||||
"share": "Teilen"
|
||||
},
|
||||
"lists": {
|
||||
"title": "Meine Listen",
|
||||
"create": "Neue Liste",
|
||||
"empty": "Noch keine Listen",
|
||||
"emptyDescription": "Erstelle Listen, um Zitate zu organisieren",
|
||||
"loginPrompt": "Melde dich an, um Listen zu erstellen",
|
||||
"quoteCount": "{count} Zitate",
|
||||
"createModal": {
|
||||
"title": "Neue Liste erstellen",
|
||||
"namePlaceholder": "z.B. Motivierende Zitate",
|
||||
"descriptionPlaceholder": "Was macht diese Liste besonders?",
|
||||
"submit": "Erstellen"
|
||||
},
|
||||
"nameLabel": "Name",
|
||||
"descriptionLabel": "Beschreibung (optional)",
|
||||
"confirmDelete": "Möchtest du diese Liste wirklich löschen?",
|
||||
"detail": {
|
||||
"notFound": "Liste nicht gefunden",
|
||||
"notFoundDescription": "Diese Liste existiert nicht oder wurde gelöscht.",
|
||||
"backToLists": "Zurück zu Listen",
|
||||
"breadcrumb": "Listen",
|
||||
"lastEdited": "Zuletzt bearbeitet: {date}",
|
||||
"searchPlaceholder": "Zitate durchsuchen...",
|
||||
"emptyTitle": "Keine Zitate in dieser Liste",
|
||||
"emptyDescription": "Füge Zitate hinzu, um deine Sammlung zu starten",
|
||||
"addQuotes": "Zitate hinzufügen",
|
||||
"remove": "Entfernen",
|
||||
"removeConfirm": "Zitat aus dieser Liste entfernen?",
|
||||
"noSearchResults": "Keine Ergebnisse",
|
||||
"noSearchResultsDescription": "Versuche es mit anderen Suchbegriffen",
|
||||
"floatingResults": "{filtered} von {total} Zitaten",
|
||||
"editModal": {
|
||||
"title": "Liste bearbeiten",
|
||||
"deleteList": "Liste löschen"
|
||||
},
|
||||
"addModal": {
|
||||
"title": "Zitate hinzufügen",
|
||||
"selected": "{count} ausgewählt",
|
||||
"submit": "Hinzufügen ({count})"
|
||||
},
|
||||
"toast": {
|
||||
"updated": "Liste aktualisiert!",
|
||||
"updateError": "Fehler beim Aktualisieren",
|
||||
"deleted": "Liste gelöscht",
|
||||
"deleteError": "Fehler beim Löschen",
|
||||
"quotesAdded": "{count} {count, plural, one {Zitat} other {Zitate}} hinzugefügt!",
|
||||
"quoteRemoved": "Zitat entfernt",
|
||||
"removeError": "Fehler beim Entfernen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"search": {
|
||||
"title": "Suche",
|
||||
"placeholder": "Zitat oder Autor suchen...",
|
||||
"noResults": "Keine Ergebnisse",
|
||||
"results": "{count} Ergebnisse",
|
||||
"searching": "Suche...",
|
||||
"create": "Erstellen",
|
||||
"createList": "als Liste erstellen",
|
||||
"createListDescription": "Neue Liste mit diesem Namen erstellen",
|
||||
"minChars": "Bitte gib mindestens 2 Zeichen ein",
|
||||
"hint": "Suche nach Zitaten, Autoren oder Themen",
|
||||
"allCategories": "Alle",
|
||||
"filterByCategory": "Nach Kategorie filtern"
|
||||
},
|
||||
"settings": {
|
||||
"quoteLanguage": "Zitat-Sprache",
|
||||
"quoteLanguageDescription": "Wähle die Sprache, in der die Zitate angezeigt werden sollen.",
|
||||
"display": "Anzeige",
|
||||
"showCategory": "Kategorie anzeigen",
|
||||
"showCategoryDescription": "Zeigt die Kategorie-Badge auf Zitat-Karten",
|
||||
"showSource": "Quelle anzeigen",
|
||||
"showSourceDescription": "Zeigt Quelle und Jahr unter dem Zitat",
|
||||
"fontSize": "Schriftgröße",
|
||||
"fontSizeSmall": "Klein",
|
||||
"fontSizeNormal": "Normal",
|
||||
"fontSizeLarge": "Groß",
|
||||
"fontSizeXLarge": "Sehr groß",
|
||||
"about": "Über Zitare",
|
||||
"aboutDescription": "Zitare bietet dir täglich inspirierende Zitate von den größten Denkern der Geschichte. Speichere deine Favoriten und erstelle eigene Listen.",
|
||||
"stats": "{quotes} Zitate · {categories} Kategorien · {languages} Sprachen"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"register": "Registrieren"
|
||||
},
|
||||
"feedback": {
|
||||
"title": "Feedback & Vorschläge",
|
||||
"subtitle": "Teile deine Ideen und stimme für Feature-Wünsche ab"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Laden...",
|
||||
"error": "Ein Fehler ist aufgetreten",
|
||||
"retry": "Erneut versuchen",
|
||||
"save": "Speichern",
|
||||
"cancel": "Abbrechen",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"close": "Schließen",
|
||||
"search": "Suchen",
|
||||
"list": "Liste"
|
||||
}
|
||||
}
|
||||
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/en.json
Normal file
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/en.json
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Zitare",
|
||||
"tagline": "Inspiring quotes every day"
|
||||
},
|
||||
"nav": {
|
||||
"home": "Today",
|
||||
"today": "Today",
|
||||
"categories": "Categories",
|
||||
"favorites": "Favorites",
|
||||
"lists": "Lists",
|
||||
"search": "Search",
|
||||
"settings": "Settings",
|
||||
"feedback": "Feedback",
|
||||
"menu": "Menu",
|
||||
"allThemes": "All Themes",
|
||||
"showNav": "Show navigation",
|
||||
"hideNav": "Hide navigation"
|
||||
},
|
||||
"home": {
|
||||
"dailyQuote": "Quote of the Day",
|
||||
"newQuote": "New Quote",
|
||||
"share": "Share",
|
||||
"favorite": "Favorite",
|
||||
"unfavorite": "Remove",
|
||||
"source": "Source",
|
||||
"year": "Year"
|
||||
},
|
||||
"categories": {
|
||||
"title": "Categories",
|
||||
"wisdom": "Wisdom",
|
||||
"motivation": "Motivation",
|
||||
"love": "Love",
|
||||
"life": "Life",
|
||||
"success": "Success",
|
||||
"happiness": "Happiness",
|
||||
"friendship": "Friendship",
|
||||
"courage": "Courage",
|
||||
"hope": "Hope",
|
||||
"nature": "Nature",
|
||||
"quotes": "{count} quotes",
|
||||
"notFound": "Category not found",
|
||||
"backToCategories": "Back to categories",
|
||||
"searchInCategory": "Search in this category...",
|
||||
"sortByAuthor": "By author",
|
||||
"sortByDefault": "Default"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favorites",
|
||||
"empty": "No favorites yet",
|
||||
"emptyDescription": "Tap the heart icon to save quotes",
|
||||
"loginPrompt": "Sign in to save favorites",
|
||||
"removeFromFavorites": "Remove from favorites",
|
||||
"copyQuote": "Copy quote",
|
||||
"share": "Share"
|
||||
},
|
||||
"lists": {
|
||||
"title": "My Lists",
|
||||
"create": "New List",
|
||||
"empty": "No lists yet",
|
||||
"emptyDescription": "Create lists to organize quotes",
|
||||
"loginPrompt": "Sign in to create lists",
|
||||
"quoteCount": "{count} quotes",
|
||||
"createModal": {
|
||||
"title": "Create new list",
|
||||
"namePlaceholder": "e.g. Motivational Quotes",
|
||||
"descriptionPlaceholder": "What makes this list special?",
|
||||
"submit": "Create"
|
||||
},
|
||||
"nameLabel": "Name",
|
||||
"descriptionLabel": "Description (optional)",
|
||||
"confirmDelete": "Do you really want to delete this list?",
|
||||
"detail": {
|
||||
"notFound": "List not found",
|
||||
"notFoundDescription": "This list does not exist or has been deleted.",
|
||||
"backToLists": "Back to lists",
|
||||
"breadcrumb": "Lists",
|
||||
"lastEdited": "Last edited: {date}",
|
||||
"searchPlaceholder": "Search quotes...",
|
||||
"emptyTitle": "No quotes in this list",
|
||||
"emptyDescription": "Add quotes to start your collection",
|
||||
"addQuotes": "Add quotes",
|
||||
"remove": "Remove",
|
||||
"removeConfirm": "Remove quote from this list?",
|
||||
"noSearchResults": "No results",
|
||||
"noSearchResultsDescription": "Try different search terms",
|
||||
"floatingResults": "{filtered} of {total} quotes",
|
||||
"editModal": {
|
||||
"title": "Edit list",
|
||||
"deleteList": "Delete list"
|
||||
},
|
||||
"addModal": {
|
||||
"title": "Add quotes",
|
||||
"selected": "{count} selected",
|
||||
"submit": "Add ({count})"
|
||||
},
|
||||
"toast": {
|
||||
"updated": "List updated!",
|
||||
"updateError": "Error updating list",
|
||||
"deleted": "List deleted",
|
||||
"deleteError": "Error deleting list",
|
||||
"quotesAdded": "{count} {count, plural, one {quote} other {quotes}} added!",
|
||||
"quoteRemoved": "Quote removed",
|
||||
"removeError": "Error removing quote"
|
||||
}
|
||||
}
|
||||
},
|
||||
"search": {
|
||||
"title": "Search",
|
||||
"placeholder": "Search quotes or authors...",
|
||||
"noResults": "No results",
|
||||
"results": "{count} results",
|
||||
"searching": "Searching...",
|
||||
"create": "Create",
|
||||
"createList": "create as list",
|
||||
"createListDescription": "Create a new list with this name",
|
||||
"minChars": "Please enter at least 2 characters",
|
||||
"hint": "Search for quotes, authors, or topics",
|
||||
"allCategories": "All",
|
||||
"filterByCategory": "Filter by category"
|
||||
},
|
||||
"settings": {
|
||||
"quoteLanguage": "Quote language",
|
||||
"quoteLanguageDescription": "Choose the language in which quotes are displayed.",
|
||||
"display": "Display",
|
||||
"showCategory": "Show category",
|
||||
"showCategoryDescription": "Shows the category badge on quote cards",
|
||||
"showSource": "Show source",
|
||||
"showSourceDescription": "Shows source and year below the quote",
|
||||
"fontSize": "Font size",
|
||||
"fontSizeSmall": "Small",
|
||||
"fontSizeNormal": "Normal",
|
||||
"fontSizeLarge": "Large",
|
||||
"fontSizeXLarge": "Extra large",
|
||||
"about": "About Zitare",
|
||||
"aboutDescription": "Zitare offers you daily inspiring quotes from the greatest thinkers in history. Save your favorites and create your own lists.",
|
||||
"stats": "{quotes} quotes · {categories} categories · {languages} languages"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Sign In",
|
||||
"logout": "Sign Out",
|
||||
"register": "Sign Up"
|
||||
},
|
||||
"feedback": {
|
||||
"title": "Feedback & Suggestions",
|
||||
"subtitle": "Share your ideas and vote for feature requests"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Loading...",
|
||||
"error": "An error occurred",
|
||||
"retry": "Try again",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"close": "Close",
|
||||
"search": "Search",
|
||||
"list": "List"
|
||||
}
|
||||
}
|
||||
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/es.json
Normal file
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/es.json
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Zitare",
|
||||
"tagline": "Citas inspiradoras cada día"
|
||||
},
|
||||
"nav": {
|
||||
"home": "Hoy",
|
||||
"today": "Hoy",
|
||||
"categories": "Categorías",
|
||||
"favorites": "Favoritos",
|
||||
"lists": "Listas",
|
||||
"search": "Buscar",
|
||||
"settings": "Ajustes",
|
||||
"feedback": "Feedback",
|
||||
"menu": "Menú",
|
||||
"allThemes": "Todos los temas",
|
||||
"showNav": "Mostrar navegación",
|
||||
"hideNav": "Ocultar navegación"
|
||||
},
|
||||
"home": {
|
||||
"dailyQuote": "Cita del día",
|
||||
"newQuote": "Nueva cita",
|
||||
"share": "Compartir",
|
||||
"favorite": "Favorito",
|
||||
"unfavorite": "Quitar",
|
||||
"source": "Fuente",
|
||||
"year": "Año"
|
||||
},
|
||||
"categories": {
|
||||
"title": "Categorías",
|
||||
"wisdom": "Sabiduría",
|
||||
"motivation": "Motivación",
|
||||
"love": "Amor",
|
||||
"life": "Vida",
|
||||
"success": "Éxito",
|
||||
"happiness": "Felicidad",
|
||||
"friendship": "Amistad",
|
||||
"courage": "Valentía",
|
||||
"hope": "Esperanza",
|
||||
"nature": "Naturaleza",
|
||||
"quotes": "{count} citas",
|
||||
"notFound": "Categoría no encontrada",
|
||||
"backToCategories": "Volver a categorías",
|
||||
"searchInCategory": "Buscar en esta categoría...",
|
||||
"sortByAuthor": "Por autor",
|
||||
"sortByDefault": "Por defecto"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoritos",
|
||||
"empty": "Aún no hay favoritos",
|
||||
"emptyDescription": "Toca el corazón para guardar citas",
|
||||
"loginPrompt": "Inicia sesión para guardar favoritos",
|
||||
"removeFromFavorites": "Quitar de favoritos",
|
||||
"copyQuote": "Copiar cita",
|
||||
"share": "Compartir"
|
||||
},
|
||||
"lists": {
|
||||
"title": "Mis listas",
|
||||
"create": "Nueva lista",
|
||||
"empty": "Aún no hay listas",
|
||||
"emptyDescription": "Crea listas para organizar citas",
|
||||
"loginPrompt": "Inicia sesión para crear listas",
|
||||
"quoteCount": "{count} citas",
|
||||
"createModal": {
|
||||
"title": "Crear nueva lista",
|
||||
"namePlaceholder": "ej. Citas motivacionales",
|
||||
"descriptionPlaceholder": "¿Qué hace especial esta lista?",
|
||||
"submit": "Crear"
|
||||
},
|
||||
"nameLabel": "Nombre",
|
||||
"descriptionLabel": "Descripción (opcional)",
|
||||
"confirmDelete": "¿Realmente quieres eliminar esta lista?",
|
||||
"detail": {
|
||||
"notFound": "Lista no encontrada",
|
||||
"notFoundDescription": "Esta lista no existe o ha sido eliminada.",
|
||||
"backToLists": "Volver a listas",
|
||||
"breadcrumb": "Listas",
|
||||
"lastEdited": "Última edición: {date}",
|
||||
"searchPlaceholder": "Buscar citas...",
|
||||
"emptyTitle": "No hay citas en esta lista",
|
||||
"emptyDescription": "Agrega citas para empezar tu colección",
|
||||
"addQuotes": "Agregar citas",
|
||||
"remove": "Quitar",
|
||||
"removeConfirm": "¿Quitar cita de esta lista?",
|
||||
"noSearchResults": "Sin resultados",
|
||||
"noSearchResultsDescription": "Prueba con otros términos",
|
||||
"floatingResults": "{filtered} de {total} citas",
|
||||
"editModal": {
|
||||
"title": "Editar lista",
|
||||
"deleteList": "Eliminar lista"
|
||||
},
|
||||
"addModal": {
|
||||
"title": "Agregar citas",
|
||||
"selected": "{count} seleccionadas",
|
||||
"submit": "Agregar ({count})"
|
||||
},
|
||||
"toast": {
|
||||
"updated": "¡Lista actualizada!",
|
||||
"updateError": "Error al actualizar la lista",
|
||||
"deleted": "Lista eliminada",
|
||||
"deleteError": "Error al eliminar la lista",
|
||||
"quotesAdded": "¡{count} {count, plural, one {cita} other {citas}} agregadas!",
|
||||
"quoteRemoved": "Cita eliminada",
|
||||
"removeError": "Error al eliminar la cita"
|
||||
}
|
||||
}
|
||||
},
|
||||
"search": {
|
||||
"title": "Buscar",
|
||||
"placeholder": "Buscar citas o autores...",
|
||||
"noResults": "Sin resultados",
|
||||
"results": "{count} resultados",
|
||||
"searching": "Buscando...",
|
||||
"create": "Crear",
|
||||
"createList": "crear como lista",
|
||||
"createListDescription": "Crea una nueva lista con este nombre",
|
||||
"minChars": "Ingresa al menos 2 caracteres",
|
||||
"hint": "Busca citas, autores o temas",
|
||||
"allCategories": "Todas",
|
||||
"filterByCategory": "Filtrar por categoría"
|
||||
},
|
||||
"settings": {
|
||||
"quoteLanguage": "Idioma de citas",
|
||||
"quoteLanguageDescription": "Elige el idioma en que se muestran las citas.",
|
||||
"display": "Visualización",
|
||||
"showCategory": "Mostrar categoría",
|
||||
"showCategoryDescription": "Muestra la etiqueta de categoría en las tarjetas",
|
||||
"showSource": "Mostrar fuente",
|
||||
"showSourceDescription": "Muestra la fuente y año debajo de la cita",
|
||||
"fontSize": "Tamaño de fuente",
|
||||
"fontSizeSmall": "Pequeño",
|
||||
"fontSizeNormal": "Normal",
|
||||
"fontSizeLarge": "Grande",
|
||||
"fontSizeXLarge": "Muy grande",
|
||||
"about": "Sobre Zitare",
|
||||
"aboutDescription": "Zitare te ofrece citas inspiradoras diarias de los más grandes pensadores de la historia. Guarda tus favoritas y crea tus propias listas.",
|
||||
"stats": "{quotes} citas · {categories} categorías · {languages} idiomas"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"register": "Registrarse"
|
||||
},
|
||||
"feedback": {
|
||||
"title": "Feedback y sugerencias",
|
||||
"subtitle": "Comparte tus ideas y vota por nuevas funciones"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Cargando...",
|
||||
"error": "Ha ocurrido un error",
|
||||
"retry": "Reintentar",
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"close": "Cerrar",
|
||||
"search": "Buscar",
|
||||
"list": "Lista"
|
||||
}
|
||||
}
|
||||
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/fr.json
Normal file
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/fr.json
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Zitare",
|
||||
"tagline": "Des citations inspirantes chaque jour"
|
||||
},
|
||||
"nav": {
|
||||
"home": "Aujourd'hui",
|
||||
"today": "Aujourd'hui",
|
||||
"categories": "Catégories",
|
||||
"favorites": "Favoris",
|
||||
"lists": "Listes",
|
||||
"search": "Rechercher",
|
||||
"settings": "Paramètres",
|
||||
"feedback": "Feedback",
|
||||
"menu": "Menu",
|
||||
"allThemes": "Tous les thèmes",
|
||||
"showNav": "Afficher la navigation",
|
||||
"hideNav": "Masquer la navigation"
|
||||
},
|
||||
"home": {
|
||||
"dailyQuote": "Citation du jour",
|
||||
"newQuote": "Nouvelle citation",
|
||||
"share": "Partager",
|
||||
"favorite": "Favori",
|
||||
"unfavorite": "Retirer",
|
||||
"source": "Source",
|
||||
"year": "Année"
|
||||
},
|
||||
"categories": {
|
||||
"title": "Catégories",
|
||||
"wisdom": "Sagesse",
|
||||
"motivation": "Motivation",
|
||||
"love": "Amour",
|
||||
"life": "Vie",
|
||||
"success": "Succès",
|
||||
"happiness": "Bonheur",
|
||||
"friendship": "Amitié",
|
||||
"courage": "Courage",
|
||||
"hope": "Espoir",
|
||||
"nature": "Nature",
|
||||
"quotes": "{count} citations",
|
||||
"notFound": "Catégorie introuvable",
|
||||
"backToCategories": "Retour aux catégories",
|
||||
"searchInCategory": "Rechercher dans cette catégorie...",
|
||||
"sortByAuthor": "Par auteur",
|
||||
"sortByDefault": "Par défaut"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoris",
|
||||
"empty": "Pas encore de favoris",
|
||||
"emptyDescription": "Appuyez sur le cœur pour sauvegarder des citations",
|
||||
"loginPrompt": "Connectez-vous pour sauvegarder vos favoris",
|
||||
"removeFromFavorites": "Retirer des favoris",
|
||||
"copyQuote": "Copier la citation",
|
||||
"share": "Partager"
|
||||
},
|
||||
"lists": {
|
||||
"title": "Mes listes",
|
||||
"create": "Nouvelle liste",
|
||||
"empty": "Pas encore de listes",
|
||||
"emptyDescription": "Créez des listes pour organiser vos citations",
|
||||
"loginPrompt": "Connectez-vous pour créer des listes",
|
||||
"quoteCount": "{count} citations",
|
||||
"createModal": {
|
||||
"title": "Créer une nouvelle liste",
|
||||
"namePlaceholder": "ex. Citations motivantes",
|
||||
"descriptionPlaceholder": "Qu'est-ce qui rend cette liste spéciale ?",
|
||||
"submit": "Créer"
|
||||
},
|
||||
"nameLabel": "Nom",
|
||||
"descriptionLabel": "Description (optionnel)",
|
||||
"confirmDelete": "Voulez-vous vraiment supprimer cette liste ?",
|
||||
"detail": {
|
||||
"notFound": "Liste introuvable",
|
||||
"notFoundDescription": "Cette liste n'existe pas ou a été supprimée.",
|
||||
"backToLists": "Retour aux listes",
|
||||
"breadcrumb": "Listes",
|
||||
"lastEdited": "Dernière modification : {date}",
|
||||
"searchPlaceholder": "Rechercher des citations...",
|
||||
"emptyTitle": "Aucune citation dans cette liste",
|
||||
"emptyDescription": "Ajoutez des citations pour commencer votre collection",
|
||||
"addQuotes": "Ajouter des citations",
|
||||
"remove": "Retirer",
|
||||
"removeConfirm": "Retirer la citation de cette liste ?",
|
||||
"noSearchResults": "Aucun résultat",
|
||||
"noSearchResultsDescription": "Essayez d'autres termes",
|
||||
"floatingResults": "{filtered} sur {total} citations",
|
||||
"editModal": {
|
||||
"title": "Modifier la liste",
|
||||
"deleteList": "Supprimer la liste"
|
||||
},
|
||||
"addModal": {
|
||||
"title": "Ajouter des citations",
|
||||
"selected": "{count} sélectionnées",
|
||||
"submit": "Ajouter ({count})"
|
||||
},
|
||||
"toast": {
|
||||
"updated": "Liste mise à jour !",
|
||||
"updateError": "Erreur lors de la mise à jour",
|
||||
"deleted": "Liste supprimée",
|
||||
"deleteError": "Erreur lors de la suppression",
|
||||
"quotesAdded": "{count} {count, plural, one {citation ajoutée} other {citations ajoutées}} !",
|
||||
"quoteRemoved": "Citation retirée",
|
||||
"removeError": "Erreur lors du retrait"
|
||||
}
|
||||
}
|
||||
},
|
||||
"search": {
|
||||
"title": "Rechercher",
|
||||
"placeholder": "Rechercher des citations ou auteurs...",
|
||||
"noResults": "Aucun résultat",
|
||||
"results": "{count} résultats",
|
||||
"searching": "Recherche...",
|
||||
"create": "Créer",
|
||||
"createList": "créer comme liste",
|
||||
"createListDescription": "Créer une nouvelle liste avec ce nom",
|
||||
"minChars": "Saisissez au moins 2 caractères",
|
||||
"hint": "Cherchez des citations, auteurs ou thèmes",
|
||||
"allCategories": "Toutes",
|
||||
"filterByCategory": "Filtrer par catégorie"
|
||||
},
|
||||
"settings": {
|
||||
"quoteLanguage": "Langue des citations",
|
||||
"quoteLanguageDescription": "Choisissez la langue d'affichage des citations.",
|
||||
"display": "Affichage",
|
||||
"showCategory": "Afficher la catégorie",
|
||||
"showCategoryDescription": "Affiche le badge de catégorie sur les cartes",
|
||||
"showSource": "Afficher la source",
|
||||
"showSourceDescription": "Affiche la source et l'année sous la citation",
|
||||
"fontSize": "Taille de police",
|
||||
"fontSizeSmall": "Petite",
|
||||
"fontSizeNormal": "Normale",
|
||||
"fontSizeLarge": "Grande",
|
||||
"fontSizeXLarge": "Très grande",
|
||||
"about": "À propos de Zitare",
|
||||
"aboutDescription": "Zitare vous propose chaque jour des citations inspirantes des plus grands penseurs de l'histoire. Sauvegardez vos favoris et créez vos propres listes.",
|
||||
"stats": "{quotes} citations · {categories} catégories · {languages} langues"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
"logout": "Déconnexion",
|
||||
"register": "Inscription"
|
||||
},
|
||||
"feedback": {
|
||||
"title": "Feedback et suggestions",
|
||||
"subtitle": "Partagez vos idées et votez pour de nouvelles fonctionnalités"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Chargement...",
|
||||
"error": "Une erreur est survenue",
|
||||
"retry": "Réessayer",
|
||||
"save": "Enregistrer",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"close": "Fermer",
|
||||
"search": "Rechercher",
|
||||
"list": "Liste"
|
||||
}
|
||||
}
|
||||
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/it.json
Normal file
160
apps/manacore/apps/web/src/lib/i18n/locales/zitare/it.json
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
{
|
||||
"app": {
|
||||
"name": "Zitare",
|
||||
"tagline": "Citazioni ispiratrici ogni giorno"
|
||||
},
|
||||
"nav": {
|
||||
"home": "Oggi",
|
||||
"today": "Oggi",
|
||||
"categories": "Categorie",
|
||||
"favorites": "Preferiti",
|
||||
"lists": "Liste",
|
||||
"search": "Cerca",
|
||||
"settings": "Impostazioni",
|
||||
"feedback": "Feedback",
|
||||
"menu": "Menu",
|
||||
"allThemes": "Tutti i temi",
|
||||
"showNav": "Mostra navigazione",
|
||||
"hideNav": "Nascondi navigazione"
|
||||
},
|
||||
"home": {
|
||||
"dailyQuote": "Citazione del giorno",
|
||||
"newQuote": "Nuova citazione",
|
||||
"share": "Condividi",
|
||||
"favorite": "Preferito",
|
||||
"unfavorite": "Rimuovi",
|
||||
"source": "Fonte",
|
||||
"year": "Anno"
|
||||
},
|
||||
"categories": {
|
||||
"title": "Categorie",
|
||||
"wisdom": "Saggezza",
|
||||
"motivation": "Motivazione",
|
||||
"love": "Amore",
|
||||
"life": "Vita",
|
||||
"success": "Successo",
|
||||
"happiness": "Felicità",
|
||||
"friendship": "Amicizia",
|
||||
"courage": "Coraggio",
|
||||
"hope": "Speranza",
|
||||
"nature": "Natura",
|
||||
"quotes": "{count} citazioni",
|
||||
"notFound": "Categoria non trovata",
|
||||
"backToCategories": "Torna alle categorie",
|
||||
"searchInCategory": "Cerca in questa categoria...",
|
||||
"sortByAuthor": "Per autore",
|
||||
"sortByDefault": "Predefinito"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Preferiti",
|
||||
"empty": "Ancora nessun preferito",
|
||||
"emptyDescription": "Tocca il cuore per salvare le citazioni",
|
||||
"loginPrompt": "Accedi per salvare i preferiti",
|
||||
"removeFromFavorites": "Rimuovi dai preferiti",
|
||||
"copyQuote": "Copia citazione",
|
||||
"share": "Condividi"
|
||||
},
|
||||
"lists": {
|
||||
"title": "Le mie liste",
|
||||
"create": "Nuova lista",
|
||||
"empty": "Ancora nessuna lista",
|
||||
"emptyDescription": "Crea liste per organizzare le citazioni",
|
||||
"loginPrompt": "Accedi per creare liste",
|
||||
"quoteCount": "{count} citazioni",
|
||||
"createModal": {
|
||||
"title": "Crea nuova lista",
|
||||
"namePlaceholder": "es. Citazioni motivazionali",
|
||||
"descriptionPlaceholder": "Cosa rende speciale questa lista?",
|
||||
"submit": "Crea"
|
||||
},
|
||||
"nameLabel": "Nome",
|
||||
"descriptionLabel": "Descrizione (opzionale)",
|
||||
"confirmDelete": "Vuoi davvero eliminare questa lista?",
|
||||
"detail": {
|
||||
"notFound": "Lista non trovata",
|
||||
"notFoundDescription": "Questa lista non esiste o è stata eliminata.",
|
||||
"backToLists": "Torna alle liste",
|
||||
"breadcrumb": "Liste",
|
||||
"lastEdited": "Ultima modifica: {date}",
|
||||
"searchPlaceholder": "Cerca citazioni...",
|
||||
"emptyTitle": "Nessuna citazione in questa lista",
|
||||
"emptyDescription": "Aggiungi citazioni per iniziare la tua collezione",
|
||||
"addQuotes": "Aggiungi citazioni",
|
||||
"remove": "Rimuovi",
|
||||
"removeConfirm": "Rimuovere la citazione da questa lista?",
|
||||
"noSearchResults": "Nessun risultato",
|
||||
"noSearchResultsDescription": "Prova con altri termini",
|
||||
"floatingResults": "{filtered} di {total} citazioni",
|
||||
"editModal": {
|
||||
"title": "Modifica lista",
|
||||
"deleteList": "Elimina lista"
|
||||
},
|
||||
"addModal": {
|
||||
"title": "Aggiungi citazioni",
|
||||
"selected": "{count} selezionate",
|
||||
"submit": "Aggiungi ({count})"
|
||||
},
|
||||
"toast": {
|
||||
"updated": "Lista aggiornata!",
|
||||
"updateError": "Errore durante l'aggiornamento",
|
||||
"deleted": "Lista eliminata",
|
||||
"deleteError": "Errore durante l'eliminazione",
|
||||
"quotesAdded": "{count} {count, plural, one {citazione aggiunta} other {citazioni aggiunte}}!",
|
||||
"quoteRemoved": "Citazione rimossa",
|
||||
"removeError": "Errore durante la rimozione"
|
||||
}
|
||||
}
|
||||
},
|
||||
"search": {
|
||||
"title": "Cerca",
|
||||
"placeholder": "Cerca citazioni o autori...",
|
||||
"noResults": "Nessun risultato",
|
||||
"results": "{count} risultati",
|
||||
"searching": "Ricerca...",
|
||||
"create": "Crea",
|
||||
"createList": "crea come lista",
|
||||
"createListDescription": "Crea una nuova lista con questo nome",
|
||||
"minChars": "Inserisci almeno 2 caratteri",
|
||||
"hint": "Cerca citazioni, autori o argomenti",
|
||||
"allCategories": "Tutte",
|
||||
"filterByCategory": "Filtra per categoria"
|
||||
},
|
||||
"settings": {
|
||||
"quoteLanguage": "Lingua delle citazioni",
|
||||
"quoteLanguageDescription": "Scegli la lingua in cui vengono mostrate le citazioni.",
|
||||
"display": "Visualizzazione",
|
||||
"showCategory": "Mostra categoria",
|
||||
"showCategoryDescription": "Mostra il badge categoria sulle schede",
|
||||
"showSource": "Mostra fonte",
|
||||
"showSourceDescription": "Mostra fonte e anno sotto la citazione",
|
||||
"fontSize": "Dimensione carattere",
|
||||
"fontSizeSmall": "Piccolo",
|
||||
"fontSizeNormal": "Normale",
|
||||
"fontSizeLarge": "Grande",
|
||||
"fontSizeXLarge": "Molto grande",
|
||||
"about": "Informazioni su Zitare",
|
||||
"aboutDescription": "Zitare ti offre ogni giorno citazioni ispiratrici dei più grandi pensatori della storia. Salva i tuoi preferiti e crea le tue liste.",
|
||||
"stats": "{quotes} citazioni · {categories} categorie · {languages} lingue"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
"logout": "Esci",
|
||||
"register": "Registrati"
|
||||
},
|
||||
"feedback": {
|
||||
"title": "Feedback e suggerimenti",
|
||||
"subtitle": "Condividi le tue idee e vota per nuove funzionalità"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Caricamento...",
|
||||
"error": "Si è verificato un errore",
|
||||
"retry": "Riprova",
|
||||
"save": "Salva",
|
||||
"cancel": "Annulla",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"close": "Chiudi",
|
||||
"search": "Cerca",
|
||||
"list": "Lista"
|
||||
}
|
||||
}
|
||||
|
|
@ -51,17 +51,18 @@
|
|||
const dayNames = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'];
|
||||
|
||||
// Quick event creation
|
||||
let showNewEvent = $state(false);
|
||||
let newTitle = $state('');
|
||||
let newTime = $state('09:00');
|
||||
|
||||
async function createEvent() {
|
||||
const title = newTitle.trim();
|
||||
if (!title) return;
|
||||
const startTime = `${todayStr}T${newTime}:00`;
|
||||
const [h, m] = newTime.split(':').map(Number);
|
||||
|
||||
const nowTime = new Date();
|
||||
const h = nowTime.getHours();
|
||||
const m = nowTime.getMinutes();
|
||||
const startTime = `${todayStr}T${String(h).padStart(2, '0')}:${String(m).padStart(2, '0')}:00`;
|
||||
const endH = h + 1;
|
||||
const endTime = `${todayStr}T${String(endH).padStart(2, '0')}:${String(m).padStart(2, '0')}:00`;
|
||||
const endTime = `${todayStr}T${String(endH > 23 ? 23 : endH).padStart(2, '0')}:${String(m).padStart(2, '0')}:00`;
|
||||
|
||||
// Get default calendar or use a fallback id
|
||||
const calendars = await db.table('calendars').toArray();
|
||||
|
|
@ -75,7 +76,6 @@
|
|||
endTime,
|
||||
});
|
||||
newTitle = '';
|
||||
showNewEvent = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
@ -103,24 +103,18 @@
|
|||
<div class="events-section">
|
||||
<div class="section-header">
|
||||
<h3 class="section-title">Heute</h3>
|
||||
<button class="add-btn" onclick={() => (showNewEvent = !showNewEvent)} title="Neuer Termin">
|
||||
<Plus size={14} />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{#if showNewEvent}
|
||||
<form
|
||||
onsubmit={(e) => {
|
||||
e.preventDefault();
|
||||
createEvent();
|
||||
}}
|
||||
class="new-event-form"
|
||||
>
|
||||
<input bind:value={newTitle} placeholder="Termin-Titel..." class="event-input" autofocus />
|
||||
<input bind:value={newTime} type="time" class="event-time" />
|
||||
<button type="submit" class="event-submit">OK</button>
|
||||
</form>
|
||||
{/if}
|
||||
<form
|
||||
onsubmit={(e) => {
|
||||
e.preventDefault();
|
||||
createEvent();
|
||||
}}
|
||||
class="quick-add"
|
||||
>
|
||||
<span class="add-icon"><Plus size={16} /></span>
|
||||
<input bind:value={newTitle} placeholder="Neuer Termin..." class="add-input" />
|
||||
</form>
|
||||
|
||||
{#each todayEvents as event (event.id)}
|
||||
<div class="event-card">
|
||||
|
|
@ -214,89 +208,42 @@
|
|||
color: #9ca3af;
|
||||
margin: 0;
|
||||
}
|
||||
.add-btn {
|
||||
.quick-add {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border-radius: 0.25rem;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: #9ca3af;
|
||||
cursor: pointer;
|
||||
transition: all 0.15s;
|
||||
}
|
||||
.add-btn:hover {
|
||||
background: rgba(0, 0, 0, 0.06);
|
||||
color: #3b82f6;
|
||||
}
|
||||
:global(.dark) .add-btn:hover {
|
||||
background: rgba(255, 255, 255, 0.08);
|
||||
color: #60a5fa;
|
||||
}
|
||||
.new-event-form {
|
||||
display: flex;
|
||||
gap: 0.375rem;
|
||||
padding: 0.375rem;
|
||||
border: 1px solid rgba(0, 0, 0, 0.08);
|
||||
gap: 0.5rem;
|
||||
padding: 0.375rem 0.5rem;
|
||||
border-radius: 0.375rem;
|
||||
animation: slideDown 0.15s ease-out;
|
||||
border: 1px solid rgba(0, 0, 0, 0.08);
|
||||
background: transparent;
|
||||
}
|
||||
:global(.dark) .new-event-form {
|
||||
:global(.dark) .quick-add {
|
||||
border-color: rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
@keyframes slideDown {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
.add-icon {
|
||||
color: #d1d5db;
|
||||
display: flex;
|
||||
}
|
||||
.event-input {
|
||||
:global(.dark) .add-icon {
|
||||
color: #4b5563;
|
||||
}
|
||||
.add-input {
|
||||
flex: 1;
|
||||
border: none;
|
||||
background: transparent;
|
||||
outline: none;
|
||||
font-size: 0.8125rem;
|
||||
color: #374151;
|
||||
min-width: 0;
|
||||
}
|
||||
.event-input::placeholder {
|
||||
.add-input::placeholder {
|
||||
color: #c0bfba;
|
||||
}
|
||||
:global(.dark) .event-input {
|
||||
:global(.dark) .add-input {
|
||||
color: #f3f4f6;
|
||||
}
|
||||
:global(.dark) .event-input::placeholder {
|
||||
:global(.dark) .add-input::placeholder {
|
||||
color: #4b5563;
|
||||
}
|
||||
.event-time {
|
||||
width: 5rem;
|
||||
border: none;
|
||||
background: transparent;
|
||||
outline: none;
|
||||
font-size: 0.75rem;
|
||||
color: #6b7280;
|
||||
text-align: center;
|
||||
}
|
||||
:global(.dark) .event-time {
|
||||
color: #9ca3af;
|
||||
color-scheme: dark;
|
||||
}
|
||||
.event-submit {
|
||||
padding: 0.25rem 0.5rem;
|
||||
border: none;
|
||||
border-radius: 0.25rem;
|
||||
background: #3b82f6;
|
||||
color: white;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
}
|
||||
.event-card {
|
||||
padding: 0.5rem 0.625rem;
|
||||
border-radius: 0.375rem;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
import type { Calendar, CalendarEvent } from '../types';
|
||||
import { toDate } from '../utils/event-date-helpers';
|
||||
import { format, addMinutes } from 'date-fns';
|
||||
import { TagField } from '@manacore/shared-ui';
|
||||
import { useAllTags } from '@manacore/shared-stores';
|
||||
|
||||
interface Props {
|
||||
mode: 'create' | 'edit';
|
||||
|
|
@ -24,6 +26,11 @@
|
|||
let isAllDay = $state(event?.isAllDay || false);
|
||||
let calendarId = $state(event?.calendarId || '');
|
||||
let recurrenceRule = $state(event?.recurrenceRule || '');
|
||||
let selectedTagIds = $state<string[]>(
|
||||
((event as Record<string, unknown>)?.tagIds as string[]) ?? []
|
||||
);
|
||||
|
||||
const allTags = useAllTags();
|
||||
|
||||
// Date/time fields
|
||||
let startDate = $state('');
|
||||
|
|
@ -82,6 +89,8 @@
|
|||
recurrenceRule: recurrenceRule || null,
|
||||
};
|
||||
|
||||
data.tagIds = selectedTagIds;
|
||||
|
||||
if (mode === 'create') {
|
||||
data.calendarId = calendarId;
|
||||
}
|
||||
|
|
@ -195,6 +204,11 @@
|
|||
></textarea>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<span class="label">Tags</span>
|
||||
<TagField tags={allTags.value} {selectedTagIds} onChange={(ids) => (selectedTagIds = ids)} />
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="button" class="btn btn-secondary" onclick={onCancel}> Abbrechen </button>
|
||||
<button type="submit" class="btn btn-primary" disabled={submitting || !title.trim()}>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
<script lang="ts">
|
||||
import { deckStore } from '../stores/decks.svelte';
|
||||
import { TagField, ColorPicker, COLORS_12, DEFAULT_COLOR } from '@manacore/shared-ui';
|
||||
import { useAllTags } from '@manacore/shared-stores';
|
||||
|
||||
interface Props {
|
||||
open?: boolean;
|
||||
|
|
@ -11,7 +13,10 @@
|
|||
let title = $state('');
|
||||
let description = $state('');
|
||||
let isPublic = $state(false);
|
||||
let color = $state(DEFAULT_COLOR);
|
||||
let submitting = $state(false);
|
||||
let selectedTagIds = $state<string[]>([]);
|
||||
const allTags = useAllTags();
|
||||
|
||||
async function handleSubmit() {
|
||||
if (!title.trim()) return;
|
||||
|
|
@ -99,6 +104,25 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span class="mb-1 block text-sm font-medium text-foreground">Tags</span>
|
||||
<TagField
|
||||
tags={allTags.value}
|
||||
{selectedTagIds}
|
||||
onChange={(ids) => (selectedTagIds = ids)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span class="mb-1 block text-sm font-medium text-foreground">Farbe</span>
|
||||
<ColorPicker
|
||||
colors={[...COLORS_12]}
|
||||
selectedColor={color}
|
||||
onColorChange={(c) => (color = c)}
|
||||
size="sm"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{#if deckStore.error}
|
||||
<div class="rounded-lg bg-destructive/10 p-3 text-sm text-destructive">
|
||||
{deckStore.error}
|
||||
|
|
|
|||
|
|
@ -48,58 +48,35 @@
|
|||
}
|
||||
|
||||
// Quick create
|
||||
let showCreate = $state(false);
|
||||
let newFirstName = $state('');
|
||||
let newLastName = $state('');
|
||||
let newEmail = $state('');
|
||||
let newName = $state('');
|
||||
|
||||
async function createContact() {
|
||||
const firstName = newFirstName.trim();
|
||||
const lastName = newLastName.trim();
|
||||
if (!firstName && !lastName) return;
|
||||
const name = newName.trim();
|
||||
if (!name) return;
|
||||
const parts = name.split(/\s+/);
|
||||
const firstName = parts[0];
|
||||
const lastName = parts.length > 1 ? parts.slice(1).join(' ') : undefined;
|
||||
await contactsStore.createContact({
|
||||
firstName: firstName || undefined,
|
||||
lastName: lastName || undefined,
|
||||
email: newEmail.trim() || undefined,
|
||||
firstName,
|
||||
lastName,
|
||||
});
|
||||
newFirstName = '';
|
||||
newLastName = '';
|
||||
newEmail = '';
|
||||
showCreate = false;
|
||||
newName = '';
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="app-view">
|
||||
<div class="search-row">
|
||||
<input bind:value={search} placeholder="Kontakt suchen..." class="search-input" />
|
||||
<button class="add-btn" onclick={() => (showCreate = !showCreate)} title="Neuer Kontakt">
|
||||
<Plus size={14} />
|
||||
</button>
|
||||
</div>
|
||||
<input bind:value={search} placeholder="Kontakt suchen..." class="search-input" />
|
||||
|
||||
{#if showCreate}
|
||||
<form
|
||||
onsubmit={(e) => {
|
||||
e.preventDefault();
|
||||
createContact();
|
||||
}}
|
||||
class="create-form"
|
||||
>
|
||||
<div class="form-row">
|
||||
<input bind:value={newFirstName} placeholder="Vorname" class="form-input" autofocus />
|
||||
<input bind:value={newLastName} placeholder="Nachname" class="form-input" />
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<input
|
||||
bind:value={newEmail}
|
||||
placeholder="E-Mail (optional)"
|
||||
class="form-input full"
|
||||
type="email"
|
||||
/>
|
||||
<button type="submit" class="form-submit">Anlegen</button>
|
||||
</div>
|
||||
</form>
|
||||
{/if}
|
||||
<form
|
||||
onsubmit={(e) => {
|
||||
e.preventDefault();
|
||||
createContact();
|
||||
}}
|
||||
class="quick-add"
|
||||
>
|
||||
<span class="add-icon"><Plus size={16} /></span>
|
||||
<input bind:value={newName} placeholder="Neuer Kontakt..." class="add-input" />
|
||||
</form>
|
||||
|
||||
<p class="count">{filtered().length} Kontakte</p>
|
||||
|
||||
|
|
@ -133,12 +110,7 @@
|
|||
padding: 1rem;
|
||||
height: 100%;
|
||||
}
|
||||
.search-row {
|
||||
display: flex;
|
||||
gap: 0.375rem;
|
||||
}
|
||||
.search-input {
|
||||
flex: 1;
|
||||
padding: 0.375rem 0.625rem;
|
||||
border-radius: 0.375rem;
|
||||
border: 1px solid rgba(0, 0, 0, 0.08);
|
||||
|
|
@ -146,6 +118,7 @@
|
|||
font-size: 0.8125rem;
|
||||
color: #374151;
|
||||
outline: none;
|
||||
width: 100%;
|
||||
}
|
||||
.search-input::placeholder {
|
||||
color: #c0bfba;
|
||||
|
|
@ -163,87 +136,41 @@
|
|||
:global(.dark) .search-input:focus {
|
||||
border-color: rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
.add-btn {
|
||||
.quick-add {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
gap: 0.5rem;
|
||||
padding: 0.375rem 0.5rem;
|
||||
border-radius: 0.375rem;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: #9ca3af;
|
||||
cursor: pointer;
|
||||
transition: all 0.15s;
|
||||
}
|
||||
.add-btn:hover {
|
||||
background: rgba(0, 0, 0, 0.06);
|
||||
color: #22c55e;
|
||||
}
|
||||
:global(.dark) .add-btn:hover {
|
||||
background: rgba(255, 255, 255, 0.08);
|
||||
color: #4ade80;
|
||||
}
|
||||
.create-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.375rem;
|
||||
padding: 0.5rem;
|
||||
border: 1px solid rgba(0, 0, 0, 0.08);
|
||||
border-radius: 0.375rem;
|
||||
animation: slideDown 0.15s ease-out;
|
||||
background: transparent;
|
||||
}
|
||||
:global(.dark) .create-form {
|
||||
:global(.dark) .quick-add {
|
||||
border-color: rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
@keyframes slideDown {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
.form-row {
|
||||
.add-icon {
|
||||
color: #d1d5db;
|
||||
display: flex;
|
||||
gap: 0.375rem;
|
||||
}
|
||||
.form-input {
|
||||
flex: 1;
|
||||
padding: 0.3125rem 0.5rem;
|
||||
border-radius: 0.25rem;
|
||||
border: 1px solid rgba(0, 0, 0, 0.06);
|
||||
background: transparent;
|
||||
font-size: 0.75rem;
|
||||
color: #374151;
|
||||
outline: none;
|
||||
min-width: 0;
|
||||
}
|
||||
.form-input::placeholder {
|
||||
color: #c0bfba;
|
||||
}
|
||||
:global(.dark) .form-input {
|
||||
border-color: rgba(255, 255, 255, 0.06);
|
||||
color: #f3f4f6;
|
||||
}
|
||||
:global(.dark) .form-input::placeholder {
|
||||
:global(.dark) .add-icon {
|
||||
color: #4b5563;
|
||||
}
|
||||
.form-input.full {
|
||||
flex: 2;
|
||||
}
|
||||
.form-submit {
|
||||
padding: 0.3125rem 0.625rem;
|
||||
.add-input {
|
||||
flex: 1;
|
||||
border: none;
|
||||
border-radius: 0.25rem;
|
||||
background: #22c55e;
|
||||
color: white;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
background: transparent;
|
||||
outline: none;
|
||||
font-size: 0.8125rem;
|
||||
color: #374151;
|
||||
}
|
||||
.add-input::placeholder {
|
||||
color: #c0bfba;
|
||||
}
|
||||
:global(.dark) .add-input {
|
||||
color: #f3f4f6;
|
||||
}
|
||||
:global(.dark) .add-input::placeholder {
|
||||
color: #4b5563;
|
||||
}
|
||||
.count {
|
||||
font-size: 0.6875rem;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
import { _ } from 'svelte-i18n';
|
||||
import { timeEntryTable } from '$lib/modules/times/collections';
|
||||
import { X, CurrencyDollar } from '@manacore/shared-icons';
|
||||
import { TagField } from '@manacore/shared-ui';
|
||||
import type { Project, Client } from '$lib/modules/times/types';
|
||||
import {
|
||||
parseMultiEntryInput,
|
||||
|
|
@ -28,6 +29,7 @@
|
|||
let durationHours = $state(1);
|
||||
let durationMinutes = $state(0);
|
||||
let isBillable = $state(false);
|
||||
let selectedTagIds = $state<string[]>([]);
|
||||
|
||||
// Quick-input state
|
||||
let quickInput = $state('');
|
||||
|
|
@ -113,6 +115,7 @@
|
|||
durationHours = 1;
|
||||
durationMinutes = 0;
|
||||
isBillable = false;
|
||||
selectedTagIds = [];
|
||||
}
|
||||
|
||||
async function handleSubmit() {
|
||||
|
|
@ -132,7 +135,7 @@
|
|||
duration: totalSeconds,
|
||||
isBillable,
|
||||
isRunning: false,
|
||||
tags: [],
|
||||
tags: selectedTagIds,
|
||||
billingRate: null,
|
||||
visibility: 'private',
|
||||
guildId: null,
|
||||
|
|
@ -307,6 +310,18 @@
|
|||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Tags -->
|
||||
<div>
|
||||
<label class="mb-1.5 block text-xs font-medium text-[hsl(var(--muted-foreground))]"
|
||||
>Tags</label
|
||||
>
|
||||
<TagField
|
||||
tags={allTags.value}
|
||||
{selectedTagIds}
|
||||
onChange={(ids) => (selectedTagIds = ids)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Submit -->
|
||||
<div class="flex gap-2">
|
||||
<button
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import { getContext, onMount } from 'svelte';
|
||||
import type { Observable } from 'dexie';
|
||||
import { dropTarget } from '@manacore/shared-ui/dnd';
|
||||
import { FavoriteButton } from '@manacore/shared-ui';
|
||||
import type { DragPayload, TagDragData } from '@manacore/shared-ui/dnd';
|
||||
import { useAllTags } from '$lib/stores/tags.svelte';
|
||||
import {
|
||||
|
|
@ -288,17 +289,13 @@
|
|||
|
||||
<!-- Actions (visible on hover) -->
|
||||
<div class="flex gap-1 opacity-0 transition-opacity group-hover:opacity-100">
|
||||
<button
|
||||
onclick={(e) => handleToggleFavorite(e, contact.id)}
|
||||
class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-amber-500"
|
||||
title={contact.isFavorite ? 'Favorit entfernen' : 'Zu Favoriten'}
|
||||
>
|
||||
{#if contact.isFavorite}
|
||||
<Star weight="fill" size={14} />
|
||||
{:else}
|
||||
<Star size={14} />
|
||||
{/if}
|
||||
</button>
|
||||
<FavoriteButton
|
||||
active={contact.isFavorite}
|
||||
onclick={() => contactsStore.toggleFavorite(contact.id)}
|
||||
variant="star"
|
||||
size={14}
|
||||
activeColor="#f59e0b"
|
||||
/>
|
||||
<button
|
||||
onclick={(e) => handleArchive(e, contact.id)}
|
||||
class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-muted"
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@
|
|||
ShareNetwork,
|
||||
} from '@manacore/shared-icons';
|
||||
import { ShareModal } from '@manacore/shared-uload';
|
||||
import { TagField } from '@manacore/shared-ui';
|
||||
import { useAllTags } from '@manacore/shared-stores';
|
||||
|
||||
const allTags = useAllTags();
|
||||
|
||||
const allContacts$: Observable<Contact[]> = getContext('contacts');
|
||||
|
||||
|
|
@ -65,6 +69,7 @@
|
|||
twitter: contact.twitter,
|
||||
instagram: contact.instagram,
|
||||
github: contact.github,
|
||||
tagIds: ((contact as Record<string, unknown>).tagIds as string[]) ?? [],
|
||||
};
|
||||
isEditing = true;
|
||||
}
|
||||
|
|
@ -372,6 +377,18 @@
|
|||
></textarea>
|
||||
</div>
|
||||
|
||||
<!-- Tags -->
|
||||
<div class="rounded-xl border border-border bg-card p-5">
|
||||
<h2 class="mb-3 text-sm font-semibold uppercase tracking-wider text-muted-foreground">
|
||||
Tags
|
||||
</h2>
|
||||
<TagField
|
||||
tags={allTags.value}
|
||||
selectedIds={(editData.tagIds as string[]) ?? []}
|
||||
onChange={(ids) => (editData = { ...editData, tagIds: ids })}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Social Media -->
|
||||
<div class="rounded-xl border border-border bg-card p-5">
|
||||
<h2 class="mb-3 text-sm font-semibold uppercase tracking-wider text-muted-foreground">
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
"dev:manacore:mobile": "pnpm --filter @manacore/mobile dev",
|
||||
"dev:manacore:app": "pnpm --filter @manacore/web dev",
|
||||
"dev:manacore:full": "concurrently -n web,servers -c cyan,yellow \"pnpm dev:manacore:web\" \"pnpm dev:manacore:servers\"",
|
||||
"dev:manacore:all": "pnpm docker:up && pnpm setup:db && pnpm dev:manacore:full",
|
||||
"dev:cards:web": "pnpm --filter @cards/web dev",
|
||||
"dev:cards:landing": "pnpm --filter @cards/landing dev",
|
||||
"dev:cards:mobile": "pnpm --filter @cards/mobile dev",
|
||||
|
|
|
|||
|
|
@ -14,12 +14,14 @@
|
|||
"./admin": "./src/admin.ts",
|
||||
"./error": "./src/error.ts",
|
||||
"./credits": "./src/credits.ts",
|
||||
"./rate-limit": "./src/rate-limit.ts"
|
||||
"./rate-limit": "./src/rate-limit.ts",
|
||||
"./logger": "./src/logger.ts"
|
||||
},
|
||||
"scripts": {
|
||||
"type-check": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@manacore/shared-logger": "workspace:*",
|
||||
"hono": "^4.7.0",
|
||||
"jose": "^6.0.11",
|
||||
"drizzle-orm": "^0.45.1",
|
||||
|
|
|
|||
|
|
@ -41,4 +41,5 @@ export { errorHandler, notFoundHandler } from './error';
|
|||
export { getBalance, validateCredits, consumeCredits, refundCredits } from './credits';
|
||||
export type { CreditBalance, CreditValidationResult } from './credits';
|
||||
export { rateLimitMiddleware } from './rate-limit';
|
||||
export { requestLogger, initLogger } from './logger';
|
||||
export type { CurrentUserData, AuthVariables } from './types';
|
||||
|
|
|
|||
61
packages/shared-hono/src/logger.ts
Normal file
61
packages/shared-hono/src/logger.ts
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/**
|
||||
* Structured request logging middleware for Hono servers.
|
||||
*
|
||||
* - Generates a unique request ID per request (X-Request-Id header)
|
||||
* - Logs request/response as JSON lines (in production) or console (in dev)
|
||||
* - Integrates with @manacore/shared-logger for consistent format
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* import { requestLogger } from '@manacore/shared-hono/logger';
|
||||
* app.use('*', requestLogger());
|
||||
* ```
|
||||
*/
|
||||
|
||||
import type { MiddlewareHandler } from 'hono';
|
||||
import { logger as log, configureLogger } from '@manacore/shared-logger';
|
||||
|
||||
let _requestIdStore: Map<object, string> | null = null;
|
||||
|
||||
function getStore(): Map<object, string> {
|
||||
if (!_requestIdStore) _requestIdStore = new Map();
|
||||
return _requestIdStore;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the Hono logger with a service name.
|
||||
* Call once at server startup before registering the middleware.
|
||||
*/
|
||||
export function initLogger(serviceName: string): void {
|
||||
configureLogger({ serviceName });
|
||||
}
|
||||
|
||||
/**
|
||||
* Hono middleware that adds a request ID and logs request + response.
|
||||
*/
|
||||
export function requestLogger(): MiddlewareHandler {
|
||||
return async (c, next) => {
|
||||
const requestId =
|
||||
c.req.header('x-request-id') || crypto.randomUUID().slice(0, 8);
|
||||
c.header('X-Request-Id', requestId);
|
||||
|
||||
const method = c.req.method;
|
||||
const path = c.req.path;
|
||||
const start = performance.now();
|
||||
|
||||
log.info('request', { requestId, method, path });
|
||||
|
||||
await next();
|
||||
|
||||
const durationMs = Math.round(performance.now() - start);
|
||||
const status = c.res.status;
|
||||
|
||||
if (status >= 500) {
|
||||
log.error('response', { requestId, method, path, status, durationMs });
|
||||
} else if (status >= 400) {
|
||||
log.warn('response', { requestId, method, path, status, durationMs });
|
||||
} else {
|
||||
log.info('response', { requestId, method, path, status, durationMs });
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -1,106 +1,214 @@
|
|||
/**
|
||||
* Shared Logger Utilities for ManaCore Apps
|
||||
* Provides consistent logging across mobile and web applications.
|
||||
*
|
||||
* Dual-mode logger:
|
||||
* - **Development / Browser**: Console output with colored prefixes (human-readable)
|
||||
* - **Production / Server**: JSON lines with timestamp, level, service, requestId (machine-readable)
|
||||
*
|
||||
* JSON mode is auto-detected in production Node.js/Bun environments.
|
||||
* Override with `LOGGER_FORMAT=json` or `LOGGER_FORMAT=console`.
|
||||
*/
|
||||
|
||||
// Check if we're in development mode
|
||||
// Works in both React Native (__DEV__) and Node.js environments
|
||||
// ─── Environment detection ─────────────────────────────────
|
||||
|
||||
declare const __DEV__: boolean | undefined;
|
||||
const isDevelopment =
|
||||
typeof __DEV__ !== 'undefined' ? __DEV__ : process.env.NODE_ENV === 'development';
|
||||
|
||||
const isBrowser = typeof window !== 'undefined';
|
||||
|
||||
const useJson =
|
||||
process.env.LOGGER_FORMAT === 'json' ||
|
||||
(process.env.LOGGER_FORMAT !== 'console' && !isDevelopment && !isBrowser);
|
||||
|
||||
// ─── Request context (AsyncLocalStorage for correlation IDs) ─
|
||||
|
||||
type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
||||
|
||||
let _serviceName = 'unknown';
|
||||
let _getRequestId: (() => string | undefined) | null = null;
|
||||
|
||||
/**
|
||||
* Configure the logger for a service. Call once at startup.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { configureLogger } from '@manacore/shared-logger';
|
||||
* configureLogger({ serviceName: 'todo-server' });
|
||||
* ```
|
||||
*/
|
||||
export function configureLogger(opts: {
|
||||
serviceName: string;
|
||||
getRequestId?: () => string | undefined;
|
||||
}): void {
|
||||
_serviceName = opts.serviceName;
|
||||
if (opts.getRequestId) _getRequestId = opts.getRequestId;
|
||||
}
|
||||
|
||||
// ─── JSON formatter ─────────────────────────────────────────
|
||||
|
||||
function jsonLog(level: LogLevel, args: unknown[]): void {
|
||||
const entry: Record<string, unknown> = {
|
||||
ts: new Date().toISOString(),
|
||||
level,
|
||||
service: _serviceName,
|
||||
};
|
||||
|
||||
const requestId = _getRequestId?.();
|
||||
if (requestId) entry.requestId = requestId;
|
||||
|
||||
// First string arg becomes `msg`, rest goes into `data`
|
||||
if (typeof args[0] === 'string') {
|
||||
entry.msg = args[0];
|
||||
if (args.length > 1) {
|
||||
entry.data = args.length === 2 ? args[1] : args.slice(1);
|
||||
}
|
||||
} else {
|
||||
entry.data = args.length === 1 ? args[0] : args;
|
||||
}
|
||||
|
||||
// Serialize errors
|
||||
if (entry.data instanceof Error) {
|
||||
entry.data = { message: entry.data.message, stack: entry.data.stack };
|
||||
}
|
||||
|
||||
const line = JSON.stringify(entry);
|
||||
if (level === 'error') process.stderr.write(line + '\n');
|
||||
else process.stdout.write(line + '\n');
|
||||
}
|
||||
|
||||
// ─── Console formatter (original behavior) ──────────────────
|
||||
|
||||
function consoleLog(level: LogLevel, args: unknown[]): void {
|
||||
const prefix = `[${level.toUpperCase()}]`;
|
||||
switch (level) {
|
||||
case 'debug':
|
||||
console.debug(prefix, ...args);
|
||||
break;
|
||||
case 'info':
|
||||
console.info(prefix, ...args);
|
||||
break;
|
||||
case 'warn':
|
||||
console.warn(prefix, ...args);
|
||||
break;
|
||||
case 'error':
|
||||
console.error(prefix, ...args);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function emit(level: LogLevel, args: unknown[]): void {
|
||||
if (useJson) jsonLog(level, args);
|
||||
else consoleLog(level, args);
|
||||
}
|
||||
|
||||
// ─── Main logger ────────────────────────────────────────────
|
||||
|
||||
/**
|
||||
* Main logger object with standard log levels.
|
||||
* Debug and info only log in development mode.
|
||||
* Debug and info only log in development mode (console) or always in JSON mode.
|
||||
* Warn and error always log.
|
||||
*/
|
||||
export const logger = {
|
||||
/** Log debug information (only in development) */
|
||||
/** Log debug information (only in development, or always in JSON mode) */
|
||||
debug: (...args: unknown[]): void => {
|
||||
if (isDevelopment) {
|
||||
console.debug('[DEBUG]', ...args);
|
||||
}
|
||||
if (isDevelopment || useJson) emit('debug', args);
|
||||
},
|
||||
|
||||
/** Log general information (only in development) */
|
||||
/** Log general information (only in development, or always in JSON mode) */
|
||||
info: (...args: unknown[]): void => {
|
||||
if (isDevelopment) {
|
||||
console.info('[INFO]', ...args);
|
||||
}
|
||||
if (isDevelopment || useJson) emit('info', args);
|
||||
},
|
||||
|
||||
/** Log warnings (always logged) */
|
||||
warn: (...args: unknown[]): void => {
|
||||
console.warn('[WARN]', ...args);
|
||||
emit('warn', args);
|
||||
},
|
||||
|
||||
/** Log errors (always logged) */
|
||||
error: (...args: unknown[]): void => {
|
||||
console.error('[ERROR]', ...args);
|
||||
emit('error', args);
|
||||
},
|
||||
|
||||
/** Log success messages (only in development) */
|
||||
success: (...args: unknown[]): void => {
|
||||
if (isDevelopment) {
|
||||
console.log('[SUCCESS]', ...args);
|
||||
if (useJson) jsonLog('info', [{ success: true }, ...args]);
|
||||
else console.log('[SUCCESS]', ...args);
|
||||
}
|
||||
},
|
||||
|
||||
/** General log (only in development) */
|
||||
/** General log (only in development, or always in JSON mode) */
|
||||
log: (...args: unknown[]): void => {
|
||||
if (isDevelopment) {
|
||||
console.log('[LOG]', ...args);
|
||||
}
|
||||
if (isDevelopment || useJson) emit('info', args);
|
||||
},
|
||||
};
|
||||
|
||||
// ─── Performance logger ─────────────────────────────────────
|
||||
|
||||
const perfTimers = new Map<string, number>();
|
||||
|
||||
/**
|
||||
* Performance logger for measuring execution time.
|
||||
* Only logs in development mode.
|
||||
*/
|
||||
export const perfLogger = {
|
||||
/** Start a performance timer with a label */
|
||||
start: (label: string): void => {
|
||||
if (isDevelopment) {
|
||||
if (useJson) {
|
||||
perfTimers.set(label, performance.now());
|
||||
} else if (isDevelopment) {
|
||||
console.time(label);
|
||||
}
|
||||
},
|
||||
|
||||
/** End a performance timer and log the duration */
|
||||
end: (label: string): void => {
|
||||
if (isDevelopment) {
|
||||
if (useJson) {
|
||||
const start = perfTimers.get(label);
|
||||
if (start !== undefined) {
|
||||
const durationMs = Math.round(performance.now() - start);
|
||||
perfTimers.delete(label);
|
||||
jsonLog('info', ['perf', { label, durationMs }]);
|
||||
}
|
||||
} else if (isDevelopment) {
|
||||
console.timeEnd(label);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
// ─── Network logger ─────────────────────────────────────────
|
||||
|
||||
/**
|
||||
* Network request logger for API debugging.
|
||||
* Request and response only log in development.
|
||||
* Request and response only log in development or JSON mode.
|
||||
* Errors always log.
|
||||
*/
|
||||
export const networkLogger = {
|
||||
/** Log an outgoing network request */
|
||||
request: (url: string, method: string, body?: unknown): void => {
|
||||
if (isDevelopment) {
|
||||
console.log(`[NETWORK] ${method} ${url}`, body ? { body } : '');
|
||||
if (isDevelopment || useJson) {
|
||||
emit('info', ['network_request', { method, url, ...(body !== undefined && { body }) }]);
|
||||
}
|
||||
},
|
||||
|
||||
/** Log a network response */
|
||||
response: (url: string, status: number, data?: unknown): void => {
|
||||
if (isDevelopment) {
|
||||
console.log(`[NETWORK] Response ${status} from ${url}`, data ? { data } : '');
|
||||
if (isDevelopment || useJson) {
|
||||
emit('info', ['network_response', { url, status, ...(data !== undefined && { data }) }]);
|
||||
}
|
||||
},
|
||||
|
||||
/** Log a network error (always logged) */
|
||||
error: (url: string, error: unknown): void => {
|
||||
console.error(`[NETWORK] Error from ${url}`, error);
|
||||
emit('error', [
|
||||
'network_error',
|
||||
{ url, error: error instanceof Error ? error.message : String(error) },
|
||||
]);
|
||||
},
|
||||
};
|
||||
|
||||
// Individual function exports for backwards compatibility with cards pattern
|
||||
// ─── Backwards-compatible individual exports ────────────────
|
||||
|
||||
export const debug = logger.debug;
|
||||
export const info = logger.info;
|
||||
export const warn = logger.warn;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ export {
|
|||
TagColorPicker,
|
||||
TagEditModal,
|
||||
TagSelector,
|
||||
TagField,
|
||||
TagList,
|
||||
TAG_COLORS,
|
||||
DEFAULT_TAG_COLOR,
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ export {
|
|||
TagColorPicker,
|
||||
TagEditModal,
|
||||
TagSelector,
|
||||
TagField,
|
||||
TagList,
|
||||
TAG_COLORS,
|
||||
DEFAULT_TAG_COLOR,
|
||||
|
|
|
|||
55
packages/shared-ui/src/molecules/tags/TagField.svelte
Normal file
55
packages/shared-ui/src/molecules/tags/TagField.svelte
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<script lang="ts">
|
||||
import TagSelector from './TagSelector.svelte';
|
||||
import type { Tag } from './constants';
|
||||
|
||||
/**
|
||||
* Form field wrapper for TagSelector.
|
||||
* Works with tag IDs (string[]) — the common pattern across all modules.
|
||||
* Pass all available tags and the currently selected IDs.
|
||||
*/
|
||||
|
||||
interface Props {
|
||||
/** All available tags */
|
||||
tags: Array<{ id: string; name: string; color?: string | null }>;
|
||||
/** Currently selected tag IDs */
|
||||
selectedIds: string[];
|
||||
/** Called when selection changes */
|
||||
onChange: (ids: string[]) => void;
|
||||
/** Max number of tags (optional) */
|
||||
maxTags?: number;
|
||||
/** Label for the add button */
|
||||
addLabel?: string;
|
||||
/** Placeholder text */
|
||||
placeholder?: string;
|
||||
}
|
||||
|
||||
let {
|
||||
tags,
|
||||
selectedIds,
|
||||
onChange,
|
||||
maxTags,
|
||||
addLabel = 'Tag hinzufügen',
|
||||
placeholder = 'Tag suchen...',
|
||||
}: Props = $props();
|
||||
|
||||
const tagObjects: Tag[] = $derived(
|
||||
tags.map((t) => ({ id: t.id, name: t.name, color: t.color ?? undefined }))
|
||||
);
|
||||
|
||||
const selectedTags: Tag[] = $derived(
|
||||
selectedIds.map((id) => tagObjects.find((t) => t.id === id)).filter((t): t is Tag => t != null)
|
||||
);
|
||||
|
||||
function handleChange(newTags: Tag[]) {
|
||||
onChange(newTags.map((t) => t.id));
|
||||
}
|
||||
</script>
|
||||
|
||||
<TagSelector
|
||||
tags={tagObjects}
|
||||
{selectedTags}
|
||||
onTagsChange={handleChange}
|
||||
addTagLabel={addLabel}
|
||||
searchPlaceholder={placeholder}
|
||||
{maxTags}
|
||||
/>
|
||||
|
|
@ -4,6 +4,7 @@ export { default as TagChip } from './TagChip.svelte';
|
|||
export { default as TagColorPicker } from './TagColorPicker.svelte';
|
||||
export { default as TagEditModal } from './TagEditModal.svelte';
|
||||
export { default as TagSelector } from './TagSelector.svelte';
|
||||
export { default as TagField } from './TagField.svelte';
|
||||
export { default as TagList } from './TagList.svelte';
|
||||
|
||||
// Constants and Types
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue