diff --git a/CHANGELOG.md b/CHANGELOG.md
index c184cea94..c9af8be6b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## [16.7.3](https://github.com/johannesjo/super-productivity/compare/v16.7.2...v16.7.3) (2025-12-20)
+
+### Bug Fixes
+
+- es.json ([75e0e7e](https://github.com/johannesjo/super-productivity/commit/75e0e7e86c4bca3adb886e1d4bccc02c9f48568a))
+
## [16.7.2](https://github.com/johannesjo/super-productivity/compare/v16.6.1...v16.7.2) (2025-12-19)
### Bug Fixes
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 2d921f01e..55f9f3078 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -20,8 +20,8 @@ android {
minSdkVersion 24
targetSdkVersion 35
compileSdk 35
- versionCode 16_07_02_0000
- versionName "16.7.2"
+ versionCode 16_07_03_0000
+ versionName "16.7.3"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
manifestPlaceholders = [
hostName : "app.super-productivity.com",
diff --git a/android/app/src/main/java/com/superproductivity/superproductivity/service/FocusModeForegroundService.kt b/android/app/src/main/java/com/superproductivity/superproductivity/service/FocusModeForegroundService.kt
index a5d490ad7..c49a393e7 100644
--- a/android/app/src/main/java/com/superproductivity/superproductivity/service/FocusModeForegroundService.kt
+++ b/android/app/src/main/java/com/superproductivity/superproductivity/service/FocusModeForegroundService.kt
@@ -86,10 +86,22 @@ class FocusModeForegroundService : Service() {
}
ACTION_UPDATE -> {
+ val wasPaused = isPaused
+ title = intent.getStringExtra(EXTRA_TITLE) ?: title
remainingMs = intent.getLongExtra(EXTRA_REMAINING_MS, remainingMs)
isPaused = intent.getBooleanExtra(EXTRA_IS_PAUSED, isPaused)
+ isBreak = intent.getBooleanExtra(EXTRA_IS_BREAK, isBreak)
taskTitle = intent.getStringExtra(EXTRA_TASK_TITLE) ?: taskTitle
lastUpdateTimestamp = System.currentTimeMillis()
+
+ // Restart update runnable if resuming from paused state
+ if (wasPaused && !isPaused) {
+ handler.removeCallbacks(updateRunnable)
+ handler.post(updateRunnable)
+ } else if (!wasPaused && isPaused) {
+ handler.removeCallbacks(updateRunnable)
+ }
+
updateNotification()
}
diff --git a/android/app/src/main/java/com/superproductivity/superproductivity/service/TrackingForegroundService.kt b/android/app/src/main/java/com/superproductivity/superproductivity/service/TrackingForegroundService.kt
index 22e52eb0b..b7775501e 100644
--- a/android/app/src/main/java/com/superproductivity/superproductivity/service/TrackingForegroundService.kt
+++ b/android/app/src/main/java/com/superproductivity/superproductivity/service/TrackingForegroundService.kt
@@ -15,6 +15,7 @@ class TrackingForegroundService : Service() {
const val ACTION_START = "com.superproductivity.ACTION_START_TRACKING"
const val ACTION_STOP = "com.superproductivity.ACTION_STOP_TRACKING"
+ const val ACTION_UPDATE = "com.superproductivity.ACTION_UPDATE_TRACKING"
const val ACTION_PAUSE = "com.superproductivity.ACTION_PAUSE_TRACKING"
const val ACTION_DONE = "com.superproductivity.ACTION_MARK_DONE"
const val ACTION_GET_ELAPSED = "com.superproductivity.ACTION_GET_ELAPSED"
@@ -79,6 +80,11 @@ class TrackingForegroundService : Service() {
startTracking(taskId, title, timeSpentMs)
}
+ ACTION_UPDATE -> {
+ val timeSpentMs = intent.getLongExtra(EXTRA_TIME_SPENT, accumulatedMs)
+ updateTimeSpent(timeSpentMs)
+ }
+
ACTION_STOP -> {
stopTracking()
}
@@ -115,6 +121,21 @@ class TrackingForegroundService : Service() {
handler.post(updateRunnable)
}
+ private fun updateTimeSpent(timeSpentMs: Long) {
+ if (!isTracking) {
+ Log.d(TAG, "Ignoring updateTimeSpent: not tracking")
+ return
+ }
+ Log.d(TAG, "Updating time spent: timeSpentMs=$timeSpentMs (was accumulated=$accumulatedMs)")
+
+ // Reset the timer with the new accumulated value
+ accumulatedMs = timeSpentMs
+ startTimestamp = System.currentTimeMillis()
+
+ // Update notification immediately
+ updateNotification()
+ }
+
private fun stopTracking() {
Log.d(TAG, "Stopping tracking, elapsed=${getElapsedMs()}ms")
diff --git a/android/app/src/main/java/com/superproductivity/superproductivity/webview/JavaScriptInterface.kt b/android/app/src/main/java/com/superproductivity/superproductivity/webview/JavaScriptInterface.kt
index 537e47a24..c8b1e4800 100644
--- a/android/app/src/main/java/com/superproductivity/superproductivity/webview/JavaScriptInterface.kt
+++ b/android/app/src/main/java/com/superproductivity/superproductivity/webview/JavaScriptInterface.kt
@@ -97,6 +97,16 @@ class JavaScriptInterface(
activity.startService(intent)
}
+ @Suppress("unused")
+ @JavascriptInterface
+ fun updateTrackingService(timeSpentMs: Long) {
+ val intent = Intent(activity, TrackingForegroundService::class.java).apply {
+ action = TrackingForegroundService.ACTION_UPDATE
+ putExtra(TrackingForegroundService.EXTRA_TIME_SPENT, timeSpentMs)
+ }
+ activity.startService(intent)
+ }
+
@Suppress("unused")
@JavascriptInterface
fun getTrackingElapsed(): String {
@@ -143,11 +153,13 @@ class JavaScriptInterface(
@Suppress("unused")
@JavascriptInterface
- fun updateFocusModeService(remainingMs: Long, isPaused: Boolean, taskTitle: String?) {
+ fun updateFocusModeService(title: String, remainingMs: Long, isPaused: Boolean, isBreak: Boolean, taskTitle: String?) {
val intent = Intent(activity, FocusModeForegroundService::class.java).apply {
action = FocusModeForegroundService.ACTION_UPDATE
+ putExtra(FocusModeForegroundService.EXTRA_TITLE, title)
putExtra(FocusModeForegroundService.EXTRA_REMAINING_MS, remainingMs)
putExtra(FocusModeForegroundService.EXTRA_IS_PAUSED, isPaused)
+ putExtra(FocusModeForegroundService.EXTRA_IS_BREAK, isBreak)
putExtra(FocusModeForegroundService.EXTRA_TASK_TITLE, taskTitle)
}
activity.startService(intent)
diff --git a/android/fastlane/metadata/android/en-US/changelogs/1607030000.txt b/android/fastlane/metadata/android/en-US/changelogs/1607030000.txt
new file mode 100644
index 000000000..57fdb9c75
--- /dev/null
+++ b/android/fastlane/metadata/android/en-US/changelogs/1607030000.txt
@@ -0,0 +1,4 @@
+
+### Bug Fixes
+
+* es.json
\ No newline at end of file
diff --git a/electron/electronAPI.d.ts b/electron/electronAPI.d.ts
index 45767b94d..84877d1c3 100644
--- a/electron/electronAPI.d.ts
+++ b/electron/electronAPI.d.ts
@@ -85,6 +85,8 @@ export interface ElectronAPI {
isSnap(): boolean;
+ isFlatpak(): boolean;
+
// SEND
// ----
reloadMainWin(): void;
diff --git a/electron/preload.ts b/electron/preload.ts
index 45404b629..0f8faeae2 100644
--- a/electron/preload.ts
+++ b/electron/preload.ts
@@ -61,6 +61,7 @@ const ea: ElectronAPI = {
isLinux: () => process.platform === 'linux',
isMacOS: () => process.platform === 'darwin',
isSnap: () => process && process.env && !!process.env.SNAP,
+ isFlatpak: () => process && process.env && !!process.env.FLATPAK_ID,
// SEND
// ----
diff --git a/package-lock.json b/package-lock.json
index bb913317c..0aa332dac 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "superProductivity",
- "version": "16.7.2",
+ "version": "16.7.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "superProductivity",
- "version": "16.7.2",
+ "version": "16.7.3",
"license": "MIT",
"workspaces": [
"packages/*"
diff --git a/package.json b/package.json
index 5d59535f1..7228f5b5b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "superProductivity",
- "version": "16.7.2",
+ "version": "16.7.3",
"description": "ToDo list and Time Tracking",
"keywords": [
"ToDo",
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 3864123ff..116c760cc 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -160,10 +160,17 @@ export class AppComponent implements OnDestroy, AfterViewInit {
),
);
- isShowFocusOverlay = toSignal(this._store.select(selectIsOverlayShown), {
+ private _isOverlayShownFromStore = toSignal(this._store.select(selectIsOverlayShown), {
initialValue: false,
});
+ // Only show focus overlay if both the store says to show it AND the feature is enabled
+ isShowFocusOverlay = computed(
+ () =>
+ this._isOverlayShownFromStore() &&
+ this._globalConfigService.cfg()?.appFeatures.isFocusModeEnabled,
+ );
+
private readonly _activeWorkContextId = toSignal(
this.workContextService.activeWorkContextId$,
{ initialValue: null },
diff --git a/src/app/features/android/android-interface.ts b/src/app/features/android/android-interface.ts
index bd71bd41b..2d8fbe15e 100644
--- a/src/app/features/android/android-interface.ts
+++ b/src/app/features/android/android-interface.ts
@@ -41,6 +41,7 @@ export interface AndroidInterface {
// Foreground service methods for background time tracking
startTrackingService?(taskId: string, taskTitle: string, timeSpentMs: number): void;
stopTrackingService?(): void;
+ updateTrackingService?(timeSpentMs: number): void;
getTrackingElapsed?(): string;
// Foreground service methods for focus mode timer
@@ -54,8 +55,10 @@ export interface AndroidInterface {
): void;
stopFocusModeService?(): void;
updateFocusModeService?(
+ title: string,
remainingMs: number,
isPaused: boolean,
+ isBreak: boolean,
taskTitle: string | null,
): void;
diff --git a/src/app/features/android/store/android-focus-mode.effects.ts b/src/app/features/android/store/android-focus-mode.effects.ts
index 23b151ae1..43c96c6d2 100644
--- a/src/app/features/android/store/android-focus-mode.effects.ts
+++ b/src/app/features/android/store/android-focus-mode.effects.ts
@@ -8,6 +8,7 @@ import {
selectIsBreakActive,
selectIsLongBreak,
selectMode,
+ selectPausedTaskId,
selectTimeRemaining,
selectTimer,
} from '../../focus-mode/store/focus-mode.selectors';
@@ -87,12 +88,16 @@ export class AndroidFocusModeEffects {
} else if (this._hasStateChanged(prev?.timer, timer, taskTitle, curr)) {
// Only update if something significant changed
DroidLog.log('AndroidFocusModeEffects: Updating focus mode service', {
+ title,
remaining: remainingMs,
isPaused: !timer.isRunning,
+ isBreak: isBreakActive,
});
androidInterface.updateFocusModeService?.(
+ title,
remainingMs,
!timer.isRunning,
+ isBreakActive,
taskTitle,
);
}
@@ -133,7 +138,8 @@ export class AndroidFocusModeEffects {
createEffect(() =>
androidInterface.onFocusSkip$.pipe(
tap(() => DroidLog.log('AndroidFocusModeEffects: Skip action received')),
- map(() => focusModeActions.skipBreak()),
+ withLatestFrom(this._store.select(selectPausedTaskId)),
+ map(([_, pausedTaskId]) => focusModeActions.skipBreak({ pausedTaskId })),
),
);
diff --git a/src/app/features/android/store/android-foreground-tracking.effects.spec.ts b/src/app/features/android/store/android-foreground-tracking.effects.spec.ts
new file mode 100644
index 000000000..314cad3b4
--- /dev/null
+++ b/src/app/features/android/store/android-foreground-tracking.effects.spec.ts
@@ -0,0 +1,159 @@
+import { TestBed, fakeAsync } from '@angular/core/testing';
+import { provideMockStore, MockStore } from '@ngrx/store/testing';
+import { BehaviorSubject } from 'rxjs';
+import { TaskService } from '../../tasks/task.service';
+import { DateService } from '../../../core/date/date.service';
+import { Task } from '../../tasks/task.model';
+
+// We need to test the effect logic by reimplementing it in tests since
+// the actual effects are conditionally created based on IS_ANDROID_WEB_VIEW
+
+describe('AndroidForegroundTrackingEffects - syncTimeSpentChanges logic', () => {
+ let store: MockStore;
+ let currentTask$: BehaviorSubject
Aquí puede configurar SuperProductivity para listar las incidencias de Gitea abiertas para un repositorio específico en el panel de creación de tareas en la vista de planificación diaria. Se listarán como sugerencias y proporcionarán un enlace a la incidencia así como más información sobre ella.
Además, puede añadir e importar automáticamente todas las incidencias abiertas.
Para superar los límites de uso y acceder puede proporcionar un token de acceso.", - "TITLE": "Gitea" - }, - "ISSUE_CONTENT": { - "ASSIGNEE": "Responsable", - "AT": "EN", - "DESCRIPTION": "Descripción", - "LABELS": "Etiquetas", - "MARK_AS_CHECKED": "Marcar actualizaciones como verificadas", - "PROJECT": "Poyecto", - "STATUS": "Estado", - "SUMMARY": "Resumen", - "WRITE_A_COMMENT": "Escribir un comentario" - }, - "S": { - "ERR_UNKNOWN": "Gitea: Error desconocido {statusCode} {errorMsg}. ¿Límite de tasa de la API excedido?" - } - }, - "REDMINE": { - "DIALOG_INITIAL": { - "TITLE": "Configurar Redmine para el proyecto" - }, - "FORM": { - "API_KEY": "Clave de acceso a la API", - "HOST": "Host (por ejemplo: https://redmine.org)", - "PROJECT_ID": "Identificador del proyecto", - "PROJECT_ID_DESCRIPTION": "Se puede encontrar como parte de la URL al ver el proyecto en el navegador.", - "SCOPE": "Alcance", - "SCOPE_ALL": "Todo", - "SCOPE_ASSIGNED": "Asignado a mí", - "SCOPE_CREATED": "Creado por mí" - }, - "FORM_SECTION": { - "HELP": "
Aquí puedes configurar SuperProductivity para listar los problemas abiertos de Redmine (ya sea la versión en línea o una instancia autohospedada) para un proyecto específico en el panel de creación de tareas en la vista de planificación diaria. Se mostrarán como sugerencias y proporcionarán un enlace al problema así como más información sobre el mismo.
Además, puedes importar automáticamente todos los problemas abiertos.
", - "TITLE": "Redmine" - }, - "ISSUE_CONTENT": { - "AUTHOR": "Autor", - "DESCRIPTION": "Descripción", - "MARK_AS_CHECKED": "Marcar actualizaciones como revisadas", - "PRIORITY": "Prioridad", - "STATUS": "Estado" - }, - "S": { - "ERR_UNKNOWN": "Redmine: Error desconocido {statusCode} {errorMsg}." - } - }, "FOCUS_MODE": { - "ADD_TIME_MINUTE": "Agregar 1 minuto", + "ADD_TIME_MINUTE": "Añadir 1 minuto", "B": { "BREAK_RUNNING": "El descanso está en curso", "POMODORO_BREAK_RUNNING": "El descanso #{{cycleNr}} está en curso", "POMODORO_SESSION_RUNNING": "La sesión Pomodoro #{{cycleNr}} está en curso", "SESSION_RUNNING": "La sesión de enfoque está en curso", - "TO_FOCUS_OVERLAY": "Para superposición de enfoque" + "TO_FOCUS_OVERLAY": "A superposición de enfoque" }, "BACK_TO_PLANNING": "Volver a la planificación", "BREAK_RELAX_MSG": "Tómate un momento para relajarte", @@ -268,7 +228,6 @@ "COMPLETE_FOCUS_SESSION": "Completar sesión de enfoque", "COMPLETE_SESSION": "Completar sesión", "CONGRATS": "¡Felicidades por completar esta sesión!", - "CONTINUE_FOCUS_SESSION": "Continuar sesión de enfoque", "CONTINUE_SESSION": "Continuar sesión", "CONTINUE_TO_NEXT_SESSION": "Continuar a la siguiente sesión", "COUNTDOWN": "Cuenta atrás", @@ -285,16 +244,17 @@ "LONG_BREAK": "Descanso largo", "LONG_BREAK_TITLE": "Descanso largo - Ciclo {{cycle}}", "NEXT": "Siguiente", - "ON": "Activado", - "OPEN_ISSUE_IN_BROWSER": "Abrir tarea en el navegador", + "ON": "activado", + "OPEN_ISSUE_IN_BROWSER": "Abrir incidencia en el navegador", "PAUSE_SESSION": "Pausar sesión", "PAUSE_TRACKING": "Pausar seguimiento", "PAUSE_TRACKING_FOR_CURRENT_TASK": "Pausar seguimiento de la tarea actual", "POMODORO": "Pomodoro", "POMODORO_HINT": "Sprints estructurados con descansos planificados", "POMODORO_SESSION_COMPLETED": "¡Sesión Pomodoro completada!", + "POMODORO_SETTINGS": "Ajustes de Pomodoro", "PREP_GET_MENTALLY_READY": "Prepárate mentalmente para estar enfocado y ser productivo", - "PREP_SIT_UPRIGHT": "\"Sé (o mantente) erguido\"", + "PREP_SIT_UPRIGHT": "Siéntate (o mantente) erguido", "PREP_STRETCH": "Haz algunos estiramientos suaves", "REMOVE_TIME_MINUTE": "Quitar 1 minuto", "RESUME_SESSION": "Reanudar sesión", @@ -303,7 +263,7 @@ "SELECT_TASK": "Selecciona la tarea en la que concentrarte", "SELECT_TASK_TO_FOCUS": "Seleccionar tarea para enfocar", "SESSION_COMPLETED": "¡Sesión de enfoque completada!", - "SET_FOCUS_SESSION_DURATION": "Establecer la duración de la sesión de enfoque", + "SET_FOCUS_SESSION_DURATION": "Establecer duración de la sesión de enfoque", "SHORT_BREAK": "Descanso corto", "SHORT_BREAK_TITLE": "Descanso corto - Ciclo {{cycle}}", "SHOW_HIDE_NOTES_AND_ATTACHMENTS": "Mostrar/ocultar notas y adjuntos de la tarea", @@ -313,19 +273,50 @@ "SWITCH_TASK": "Cambiar tarea", "WORKED_FOR": "Trabajaste durante" }, + "GITEA": { + "DIALOG_INITIAL": { + "TITLE": "Configurar Gitea para el proyecto" + }, + "FORM": { + "FILTER_USER": "Nombre de usuario (p. ej., para filtrar cambios hechos por ti mismo)", + "HOST": "Host (p. ej.: https://try.gitea.io)", + "REPO_FULL_NAME": "Nombre de usuario o nombre de la organización/proyecto", + "REPO_FULL_NAME_DESCRIPTION": "Puede encontrarse como parte de la url, al visualizar el proyecto en el Navegador.", + "SCOPE": "Alcance", + "SCOPE_ALL": "Todos", + "SCOPE_ASSIGNED": "Asignado a mí", + "SCOPE_CREATED": "Creado por mí", + "TOKEN": "Token de acceso" + }, + "FORM_SECTION": { + "HELP": "Aquí puedes configurar SuperProductivity para listar las incidencias de Gitea abiertas para un repositorio específico en el panel de creación de tareas en la vista de planificación diaria. Se listarán como sugerencias y proporcionarán un enlace a la incidencia así como más información sobre ella.
Además, puedes añadir e importar automáticamente todas las incidencias abiertas.
Para superar los límites de uso y acceder puedes proporcionar un token de acceso.", + "TITLE": "Gitea" + }, + "ISSUE_CONTENT": { + "ASSIGNEE": "Responsable", + "AT": "en", + "DESCRIPTION": "Descripción", + "LABELS": "Etiquetas", + "MARK_AS_CHECKED": "Marcar actualizaciones como verificadas", + "PROJECT": "Proyecto", + "STATUS": "Estado", + "SUMMARY": "Resumen", + "WRITE_A_COMMENT": "Escribir un comentario" + }, + "S": { + "ERR_UNKNOWN": "Gitea: Error desconocido {{statusCode}} {{errorMsg}}. ¿Límite de tasa de la API excedido?" + } + }, "GITHUB": { "DIALOG_INITIAL": { "TITLE": "Configurar GitHub para el Proyecto" }, "FORM": { "FILTER_USER": "Nombre de usuario (p. ej., para filtrar cambios hechos por ti mismo)", - "IS_AUTO_IMPORT_ISSUES": "Importar automáticamente incidencias no resueltas de GitHub", - "IS_AUTO_POLL": "Sondear automáticamente las incidencias git importadas en busca de cambios", - "IS_SEARCH_ISSUES_FROM_GITHUB": "Mostrar incidencias de git como sugerencias al añadir nuevas tareas", - "REPO": "\"nombreUsuario/nombreRepositorio\" para el repositorio git que deseas rastrear", - "TOKEN": "Token de Acceso", - "TOKEN_DESCRIPTION": "Necesario para el acceso a repositorios privados", - "IS_ASSIGNEE_FILTER": "Filtrar Incidencias Asignadas a Mí" + "INVALID_TOKEN_MESSAGE": "Token de GitHub no válido. Debe comenzar con \"ghp_\".", + "IS_ASSIGNEE_FILTER": "Importar solo incidencias asignadas a mí al backlog", + "REPO": "nombreUsuario/nombreRepositorio", + "TOKEN": "Token de Acceso" }, "FORM_SECTION": { "HELP": "
Aquí puedes configurar SuperProductivity para listar incidencias abiertas de GitHub para un repositorio específico en el panel de creación de tareas en la vista de planificación diaria. Se listarán como sugerencias y proporcionarán un enlace a la incidencia así como más información sobre ella.
Además puedes importar automáticamente todas las incidencias abiertas.
Para superar los límites de uso y para acceder puedes proporcionar un token de acceso. Más info sobre sus ámbitos se puede encontrar aquí.", @@ -345,8 +336,8 @@ "WRITE_A_COMMENT": "Escribir un comentario" }, "S": { - "ERR_UNKNOWN": "GitHub: Error desconocido {{statusCode}} {{errorMsg}}. ¿Se ha excedido el límite de tasa de la API?", - "CONFIG_ERROR": "GitHub: Error al mapear los datos. ¿Es correcto el nombre de tu repositorio?" + "CONFIG_ERROR": "GitHub: Error al mapear los datos. ¿Es correcto el nombre de tu repositorio?", + "ERR_UNKNOWN": "GitHub: Error desconocido {{statusCode}} {{errorMsg}}. ¿Se ha excedido el límite de tasa de la API?" } }, "GITLAB": { @@ -358,16 +349,16 @@ "T_ALREADY_TRACKED": "Ya rastreado", "T_TITLE": "Título", "T_TO_BE_SUBMITTED": "Por enviar", - "TITLE": "Enviar tiempo dedicado a los problemas a GitLab", + "TITLE": "Enviar tiempo dedicado a las incidencias a GitLab", "TOTAL_MSG": "Vas a enviar {totalTimeToSubmit} de tiempo trabajado en total para hoy a {nrOfTasksToSubmit} problemas diferentes." }, "FORM": { - "FILTER_USER": "Nombre de usuario (p. ej., para filtrar cambios hechos por ti mismo)", + "FILTER": "Filtro personalizado", + "FILTER_DESCRIPTION": "Ver https://docs.gitlab.com/ee/api/issues.html#list-issues. Se pueden combinar varios con &", + "FILTER_USER": "Filtrar usuario", "GITLAB_BASE_URL": "URL base de GitLab personalizada (opcional)", - "IS_AUTO_IMPORT_ISSUES": "Importar automáticamente incidencias de GitLab", - "IS_AUTO_POLL": "Sondear automáticamente las incidencias git importadas en busca de cambios", - "IS_SEARCH_ISSUES_FROM_GITLAB": "Mostrar incidencias de git como sugerencias al añadir nuevas tareas", - "PROJECT": "(predeterminado) ID del proyecto o nombre de usuario/proyecto", + "PROJECT": "nombre de usuario/proyecto", + "PROJECT_HINT": "p. ej. johannesjo/super-productivity", "SCOPE": "Ámbito", "SCOPE_ALL": "Todo", "SCOPE_ASSIGNED": "Asignado a mí", @@ -376,6 +367,8 @@ "SOURCE_GLOBAL": "Todo", "SOURCE_GROUP": "Grupo", "SOURCE_PROJECT": "Proyecto", + "SUBMIT_TIMELOGS": "Enviar registros de tiempo a Gitlab", + "SUBMIT_TIMELOGS_DESCRIPTION": "Mostrar diálogo de seguimiento de tiempo después de hacer clic en finalizar día", "TOKEN": "Token de Acceso" }, "FORM_SECTION": { @@ -398,12 +391,49 @@ } }, "ISSUE": { - "CROSS_ORIGIN_BROWSER_WARNING": "Es probable que esta integración no funcione en tu navegador. Descárgate la versión de Superproductividad para escritorio o Android.", + "CROSS_ORIGIN_BROWSER_WARNING": "Es probable que esta integración no funcione en tu navegador. ¡Por favor, descarga la versión de escritorio o Android de Super Productivity!", "DEFAULT": { - "ISSUES_STR": "incidencias", - "ISSUE_STR": "incidencia" + "ISSUE_STR": "incidencia", + "ISSUES_STR": "incidencias" + }, + "DEFAULT_PROJECT_DESCRIPTION": "Proyecto asignado a tareas creadas desde incidencias.", + "DEFAULT_PROJECT_LABEL": "Proyecto predeterminado de Super Productivity", + "HOW_TO_GET_A_TOKEN": "¿Cómo obtener un token?", + "ISSUE_CONTENT": { + "ASSIGNEE": "Asignado", + "AT": "a las", + "ATTACHMENTS": "Adjuntos", + "AUTHOR": "Autor", + "CATEGORY": "Categoría", + "CHANGED": "cambiado", + "COMMENTS": "Comentarios", + "COMPONENTS": "Componentes", + "DESCRIPTION": "Descripción", + "DONE_RATIO": "Ratio de finalización", + "DUE_DATE": "Fecha de vencimiento", + "LABELS": "Etiquetas", + "LAST_COMMENT": "Último comentario", + "LIST_OF_CHANGES": "Lista de cambios", + "LOAD_ALL_COMMENTS": "Cargar todos los {{nr}} comentarios", + "LOAD_DESCRIPTION_AND_ALL_COMMENTS": "Cargar descripción y todos los comentarios", + "LOCATION": "Ubicación", + "MARK_AS_CHECKED": "Marcar actualizaciones como revisadas", + "ON": "el", + "PRIORITY": "Prioridad", + "RELATED": "Relacionado", + "START": "Inicio", + "STATUS": "Estado", + "STORY_POINTS": "Puntos de Historia", + "SUB_TASKS": "Subtareas", + "SUMMARY": "Resumen", + "TIME_SPENT": "Tiempo Dedicado", + "TYPE": "Tipo", + "VERSION": "Versión", + "WORKLOG": "Registro de trabajo", + "WRITE_A_COMMENT": "Escribir un comentario" }, "S": { + "ERR_GENERIC": "Error de {{issueProviderName}}: {{errTxt}}", "ERR_NETWORK": "{{issueProviderName}}: La solicitud falló debido a un error de red del lado del cliente", "ERR_NOT_CONFIGURED": "{{issueProviderName}}: No configurado correctamente", "IMPORTED_MULTIPLE_ISSUES": "{{issueProviderName}}: Importadas {{nr}} nuevas {{issuesStr}}", @@ -431,8 +461,8 @@ }, "CFG_CMP": { "ALWAYS_ASK": "Abrir siempre diálogo", - "DONE": "Estado para completar tarea", "DO_NOT": "No transicionar", + "DONE": "Estado para completar tarea", "ENABLE": "Habilitar integración con Jira", "ENABLE_TRANSITIONS": "Habilitar Gestión de Transiciones", "IN_PROGRESS": "Estado para comenzar tarea", @@ -475,17 +505,9 @@ "TIME_SPENT_TOOLTIP": "Añadir tiempos diferentes", "TITLE": "Jira: Enviar Registro de Trabajo" }, - "FORM": { - "IS_AUTO_IMPORT_ISSUES": "Importar automáticamente incidencias no resueltas de GitHub", - "IS_AUTO_POLL": "Sondear automáticamente las incidencias git importadas en busca de cambios", - "IS_SEARCH_ISSUES_FROM_GITHUB": "Mostrar incidencias de git como sugerencias al añadir nuevas tareas", - "REPO": "\"nombreUsuario/nombreRepositorio\" para el repositorio git que deseas rastrear" - }, "FORM_ADV": { "AUTO_ADD_BACKLOG_JQL_QUERY": "JQL usado para importar incidencias a Super Productivity automáticamente", "IS_ADD_WORKLOG_ON_SUB_TASK_DONE": "Abrir diálogo para enviar registro de trabajo a Jira cuando se complete una subtarea", - "IS_AUTO_IMPORT_ISSUES": "Importar automáticamente incidencias de Jira", - "IS_AUTO_POLL_TICKETS": "Comprobar cambios en incidencias importadas automáticamente y notificar", "IS_CHECK_TO_RE_ASSIGN_TICKET_ON_TASK_START": "Comprobar si la incidencia en la que se trabaja actualmente está asignada al usuario actual", "IS_WORKLOG_ENABLED": "Abrir diálogo para enviar registro de trabajo a Jira cuando se complete la tarea", "SEARCH_JQL_QUERY": "Consulta JQL para limitar la búsqueda de tareas", @@ -499,13 +521,12 @@ "ALLOW_SELF_SIGNED": "Permitir certificado autofirmado", "HOST": "Host (p. ej.: http://mi-host.es:1234)", "PASSWORD": "Token / Contraseña", - "USE_PAT": "Usar Token de Acceso Personal en lugar de contraseña", + "USE_PAT": "Usar Token de Acceso Personal en lugar de contraseña (LEGADO)", "USER_NAME": "Email / Nombre de usuario", "WONKY_COOKIE_MODE": "Autenticación de respaldo mediante Cookies (modo inestable, solo aplicación de escritorio)" }, "FORM_SECTION": { "ADV_CFG": "Configuración Avanzada", - "CREDENTIALS": "Credenciales", "HELP_ARR": { "H1": "Configuración básica", "H2": "Ajustes de registro de trabajo", @@ -551,8 +572,8 @@ "NO_VALID_TRANSITION": "Jira: No hay transición válida configurada", "TIMED_OUT": "Jira: La solicitud agotó el tiempo de espera", "TRANSITION": "Jira: Establecer incidencia \"{{issueKey}}\" a \"{{name}}\"", - "TRANSITIONS_LOADED": "Jira: Transiciones cargadas. Usa los selectores de abajo para asignarlas", "TRANSITION_SUCCESS": "Jira: Establecida incidencia {{issueKey}} a {{chosenTransition}}", + "TRANSITIONS_LOADED": "Jira: Transiciones cargadas. Usa los selectores de abajo para asignarlas", "UNABLE_TO_REASSIGN": "Jira: No se puede reasignar el ticket a ti mismo, porque no especificaste un nombre de usuario. Por favor visita los ajustes." }, "STEPPER": { @@ -576,6 +597,7 @@ "CHECK": "¡Lo hice!" }, "CMP": { + "ACTIVITY_HEATMAP": "Mapa de calor de actividad", "AVG_BREAKS_PER_DAY": "Promedio de pausas por día", "AVG_TASKS_PER_DAY_WORKED": "Promedio de tareas por día trabajado", "AVG_TIME_SPENT_ON_BREAKS": "Promedio de tiempo dedicado a pausas", @@ -583,39 +605,77 @@ "AVG_TIME_SPENT_PER_TASK": "Promedio de tiempo dedicado por tarea", "COUNTING_SUBTASKS": "(contando subtareas)", "DAYS_WORKED": "Días trabajados", + "FOCUS_SESSION_TRENDS": "Sesiones de enfoque a lo largo del tiempo", "GLOBAL_METRICS": "Métricas Globales", - "IMPROVEMENT_SELECTION_COUNT": "Número de veces que se seleccionó un factor de mejora", "MOOD_PRODUCTIVITY_OVER_TIME": "Estado de ánimo y productividad a lo largo del tiempo", "NO_ADDITIONAL_DATA_YET": "Aún no se han recopilado datos adicionales. Usa el formulario en el panel de \"Evaluación\" del resumen diario para hacerlo.", - "OBSTRUCTION_SELECTION_COUNT": "Número de veces que se seleccionó un factor de obstrucción", + "PRODUCTIVITY_BREAKDOWN_OVER_TIME": "Productividad y Sostenibilidad a lo largo del tiempo", "SIMPLE_CLICK_COUNTERS_OVER_TIME": "Contadores de Clics a lo largo del tiempo", - "SIMPLE_COUNTERS": "Contadores Simples", + "SIMPLE_COUNTERS": "Contadores Simples y Rastreo de Hábitos", "SIMPLE_STOPWATCH_COUNTERS_OVER_TIME": "Contadores de Cronómetro a lo largo del tiempo", "TASKS_DONE_CREATED": "Tareas (hechas/creadas)", "TIME_ESTIMATED": "Tiempo Estimado", + "TIME_FRAME_1_MONTH": "1 mes", + "TIME_FRAME_2_WEEKS": "2 semanas", + "TIME_FRAME_LABEL": "Marco de tiempo", + "TIME_FRAME_MAX": "Máx", "TIME_SPENT": "Tiempo Dedicado" }, "EVAL_FORM": { "ADD_NOTE_FOR_TOMORROW": "Añadir Nota para mañana", - "DISABLE_REPEAT_EVERY_DAY": "Deshabilitar repetir todos los días", - "ENABLE_REPEAT_EVERY_DAY": "Repetir todos los días", - "HELP_H1": "¿Por qué debería importarme?", - "HELP_LINK_TXT": "Ir a la sección de métricas", - "HELP_P1": "¡Hora de una pequeña autoevaluación! Tus respuestas aquí se guardan y te proporcionan un poco de estadísticas sobre cómo trabajas en la sección de métricas. Además, las sugerencias para mañana aparecerán encima de tu lista de tareas al día siguiente.", - "HELP_P2": "Esto pretende ser menos sobre calcular métricas exactas o volverse eficiente como una máquina en todo lo que haces que sobre mejorar cómo te sientes respecto a tu trabajo. Puede ser útil evaluar los puntos de dolor en tu rutina diaria, así como encontrar factores que te ayudan. Ser solo un poco sistemático al respecto ayuda con suerte a tener un mejor control sobre estos y mejorar lo que puedas.", - "IMPROVEMENTS": "¿Qué mejoró tu productividad?", - "IMPROVEMENTS_TOMORROW": "¿Qué podrías hacer para mejorar mañana?", - "MOOD": "¿Cómo te sientes?", - "MOOD_HINT": "1: Fatal – 10: Espléndido", - "NOTES": "Notas para mañana", - "OBSTRUCTIONS": "¿Qué obstaculizó tu productividad?", - "PRODUCTIVITY": "¿Cuán eficientemente trabajaste?", - "PRODUCTIVITY_HINT": "1: Ni siquiera he empezado – 10: Enormemente eficiente" + "DAILY_STATE": "Estado Diario", + "DAILY_STATE_TOOLTIP": "Sistema de cuadrantes basado en ambas puntuaciones (≥50 es alto): Flujo Profundo (alto/alto), Sobrecarga (alto/bajo), Recuperación (bajo/alto), Deriva (bajo/bajo)", + "ENERGY_LEVEL": "¿Cómo está tu energía?", + "ENERGY_LEVEL_HINT": "😫 Agotado – 😐 Bien – 😊 Bien", + "FOCUS_WORK_TIME": "Tiempo de trabajo enfocado", + "IMPACT_OF_WORK": "¿Cómo calificas el impacto de tu trabajo hoy?", + "IMPACT_OF_WORK_HINT": "1: Sin progreso significativo – 4: Impacto significativo", + "PRODUCTIVITY_SCORE": "Puntuación de Productividad", + "PRODUCTIVITY_SCORE_TOOLTIP": "65% Impacto (escala 1-4) • 30% Enfoque hacia meta de 4h • 5% trabajo total (límite en 10h)", + "SCORE_BREAKDOWN_TITLE_PRODUCTIVITY": "Desglose de Productividad de 7 Días", + "SCORE_BREAKDOWN_TITLE_SUSTAINABILITY": "Desglose de Sostenibilidad de 7 Días", + "STATE_DEEP_FLOW_HEADLINE": "Flujo Profundo: Excelente enfoque y ritmo sostenible.", + "STATE_DEEP_FLOW_HINT": "Estás en el punto óptimo — reflexiona sobre qué hizo posible esta combinación.", + "STATE_DRIFT_HEADLINE": "Deriva: Bajo enfoque y baja energía.", + "STATE_DRIFT_HINT": "Está bien. Reflexiona sobre qué te distrajo y ajusta suavemente — cada reinicio es una oportunidad para aprender.", + "STATE_IMPACT_MISMATCH_HEADLINE": "Bajo Impacto: Mucho enfoque, poca recompensa.", + "STATE_IMPACT_MISMATCH_HINT": "Invertiste un enfoque sólido — ahora dirígelo hacia trabajo de mayor impacto para sentir la diferencia.", + "STATE_OVERDRIVE_HEADLINE": "Sobrecarga: Productivo, pero con un coste.", + "STATE_OVERDRIVE_HINT": "Hiciste mucho — ahora asegúrate de recargar antes de que el agotamiento se cuele.", + "STATE_RECOVERY_HEADLINE": "Recuperación: Descansando y recargando.", + "STATE_RECOVERY_HINT": "Estás dando espacio a tu mente para recuperarse. Mañana tendrás la energía para profundizar de nuevo.", + "STATE_STEADY_HEADLINE": "Ritmo Constante: Progreso consistente y sostenible.", + "STATE_STEADY_HINT": "Buen equilibrio. Estás manteniendo el impulso sin extralimitarte — sigue nutriendo lo que hace que este ritmo funcione.", + "SUSTAINABILITY_SCORE": "Puntuación de Sostenibilidad", + "SUSTAINABILITY_SCORE_TOOLTIP": "45% Nivel de energía • 40% Horas de trabajo razonables (0 a las 10h) • 15% Equilibrio de enfoque (óptimo a las 4h)", + "TOTAL_WORK_TIME": "Tiempo total de trabajo hoy" }, "FOCUS_SESSION_DIALOG": { "ADD_BTN": "Agregar", + "ADD_SESSION": "Agregar Sesión", + "CHART_LABEL": "Tiempo de Enfoque (min)", "NEW_SESSION_DURATION": "Duración", - "SESSIONS_LIST": "Sesiones" + "NO_SESSIONS": "No hay sesiones de enfoque para este día", + "SESSIONS_LIST": "Sesiones", + "TITLE": "Sesiones de Enfoque", + "TOTAL_SESSIONS": "Total Sesiones", + "TOTAL_TIME": "Tiempo Total" + }, + "REFLECTION": { + "HISTORY_BTN": "Ver reflexiones pasadas", + "HISTORY_EMPTY": "No hay reflexiones guardadas todavía. Captura la nota de hoy para iniciar una racha.", + "HISTORY_TITLE": "Historial de reflexión", + "PLACEHOLDER_1": "¿Qué funcionó bien hoy? ¿Qué debería cambiar mañana?", + "PLACEHOLDER_2": "¿Pequeña mejora para mañana?", + "PLACEHOLDER_3": "¿Dónde se perdió el enfoque - y cómo puedes protegerlo?", + "PLACEHOLDER_4": "¿Qué tarea te dio energía? ¿Cuál te la drenó?", + "PLACEHOLDER_5": "Una cosa para repetir. Una cosa para cambiar.", + "REMIND_LABEL": "Recuérdame mañana sobre esto", + "REMINDER_CREATED": "Recordatorio de reflexión programado para mañana", + "REMINDER_ERROR": "No se pudo programar el recordatorio", + "REMINDER_NEEDS_TEXT": "Escribe una reflexión antes de pedir un recordatorio", + "REMINDER_TASK_TITLE": "Revisitar nota de reflexión", + "TITLE": "Nota de Reflexión" }, "S": { "SAVE_METRIC": "Métrica guardada exitosamente" @@ -626,32 +686,35 @@ "NOTE_LABEL": "Introduce algún texto para guardar como nota (puedes usar markdown)..." }, "D_FULLSCREEN": { - "VIEW_TEXT_ONLY": "Ver como texto sin analizar", + "VIEW_PARSED": "Ver como markdown analizado (no editable)", "VIEW_SPLIT": "Ver markdown analizado y sin analizar en vista dividida", - "VIEW_PARSED": "Ver como markdown analizado (no editable)" + "VIEW_TEXT_ONLY": "Ver como texto sin analizar" + }, + "NOTE_CMP": { + "DISABLE_PARSE": "Deshabilitar análisis de markdown para vista previa", + "ENABLE_PARSE": "Habilitar análisis de markdown" }, "NOTES_CMP": { "ADD_BTN": "Añadir nueva Nota", "DROP_TO_ADD": "Suelta aquí para añadir nueva nota", "NO_NOTES": "Actualmente no hay notas" }, - "NOTE_CMP": { - "DISABLE_PARSE": "Deshabilitar análisis de markdown para vista previa", - "ENABLE_PARSE": "Habilitar análisis de markdown" + "S": { + "NOTE_ADDED": "Nota guardada" } }, "OPEN_PROJECT": { "CFG_CMP": { "ALWAYS_ASK": "Abrir siempre diálogo", - "DONE": "Estado para completar tarea", "DO_NOT": "No transicionar", + "DONE": "Estado para completar tarea", "ENABLE": "Habilitar integración con Openproject", "ENABLE_TRANSITIONS": "Habilitar Gestión de Transiciones", "IN_PROGRESS": "Estado para comenzar tarea", "OPEN": "Estado para pausar tarea", "PROGRESS_ON_SAVE": "Progreso predeterminado al guardar", - "TRANSITION": "Gestión de Transición", - "SELECT_ISSUE_FOR_TRANSITIONS": "Selecciona incidencia para cargar transiciones disponibles" + "SELECT_ISSUE_FOR_TRANSITIONS": "Selecciona incidencia para cargar transiciones disponibles", + "TRANSITION": "Gestión de Transición" }, "DIALOG_INITIAL": { "TITLE": "Configurar OpenProject para el Proyecto" @@ -676,21 +739,18 @@ "UPDATE_STATUS": "Actualizar estado" }, "FORM": { - "FILTER_USER": "Nombre de usuario (p. ej., para filtrar cambios hechos por ti mismo)", + "FILTER_USER": "Filtrar nombre de usuario", "HOST": "Host (p. ej.: https://www.openproject.org/)", - "IS_AUTO_IMPORT_ISSUES": "Importar automáticamente paquetes de trabajo no resueltos de OpenProject", - "IS_AUTO_POLL": "Sondear automáticamente los paquetes de trabajo importados de OpenProject en busca de cambios", - "IS_SEARCH_ISSUES_FROM_OPEN_PROJECT": "Mostrar paquetes de trabajo como sugerencias al añadir nuevas tareas", "IS_SHOW_TIME_TRACKING_DIALOG": "Mostrar diálogo de seguimiento de tiempo para informar a OpenProject", "IS_SHOW_TIME_TRACKING_DIALOG_DESCRIPTION": "Requiere que el módulo de seguimiento de tiempo esté habilitado para el proyecto de OpenProject", "IS_SHOW_TIME_TRACKING_DIALOG_FOR_EACH_SUB_TASK": "Mostrar diálogo de seguimiento de tiempo cuando se completen subtareas", "PROJECT_ID": "ID del Proyecto", "PROJECT_ID_DESCRIPTION": "Se puede encontrar como parte de la url, al ver el proyecto en el Navegador.", - "TOKEN": "Token de acceso", "SCOPE": "Ámbito", "SCOPE_ALL": "Todo", "SCOPE_ASSIGNED": "Asignado a mí", - "SCOPE_CREATED": "Creado por mí" + "SCOPE_CREATED": "Creado por mí", + "TOKEN": "Token de acceso" }, "FORM_SECTION": { "HELP": "
Aquí puedes configurar SuperProductivity para listar paquetes de trabajo abiertos de OpenProject. Ten en cuenta que para que esto funcione en el navegador probablemente necesitas configurar CORS para tu servidor OpenProject, para permitir el acceso desde app.super-productivity.com
", @@ -698,6 +758,7 @@ }, "ISSUE_CONTENT": { "ASSIGNEE": "Asignado", + "ATTACHMENTS": "Adjuntos", "DESCRIPTION": "Descripción", "MARK_AS_CHECKED": "Marcar actualizaciones como revisadas", "STATUS": "Estado", @@ -706,10 +767,11 @@ "UPLOAD_ATTACHMENT": "Subir a la tarea" }, "ISSUE_STRINGS": { - "ISSUES_STR": "paquetes de trabajo", - "ISSUE_STR": "paquete de trabajo" + "ISSUE_STR": "paquete de trabajo", + "ISSUES_STR": "paquetes de trabajo" }, "S": { + "ERR_NO_FILE": "Ningún archivo seleccionado", "ERR_UNKNOWN": "OpenProject: Error desconocido {{statusCode}} {{errorMsg}}. ¿Está CORS configurado correctamente para el servidor?", "POST_TIME_SUCCESS": "OpenProject: Entrada de tiempo creada exitosamente para {{issueTitle}}", "TRANSITION": "OpenProject: Establecer incidencia \"{{issueKey}}\" a \"{{name}}\"", @@ -758,9 +820,9 @@ "L3": "¿A qué te recuerdan?", "L4": "¿Qué pasa con el pensamiento de procrastinar mientras lo observas? ¿Se intensifica? ¿Se disipa? ¿Hace surgir otras emociones?", "L5": "¿Cómo cambian las sensaciones en tu cuerpo a medida que continúas descansando tu conciencia en ellas?", - "TITLE": "Curiosidad", + "PROCRASTINATION_TRIGGERS_TEXT": "Otro método muy efectivo es registrar qué desencadenó tu necesidad de procrastinar. Por ejemplo, yo personalmente a menudo tengo la necesidad de saltar rápidamente a reddit o a mi sitio de noticias favorito cada vez que la ventana de mi navegador entra en foco. Desde que comencé a escribir mis desencadenantes en un documento de texto simple vacío, me volví consciente de cuán arraigado estaba este patrón y me ayudó a experimentar con diferentes contramedidas.", "PROCRASTINATION_TRIGGERS_TITLE": "Escribir tus desencadenantes de procrastinación", - "PROCRASTINATION_TRIGGERS_TEXT": "Otro método muy efectivo es registrar qué desencadenó tu necesidad de procrastinar. Por ejemplo, yo personalmente a menudo tengo la necesidad de saltar rápidamente a reddit o a mi sitio de noticias favorito cada vez que la ventana de mi navegador entra en foco. Desde que comencé a escribir mis desencadenantes en un documento de texto simple vacío, me volví consciente de cuán arraigado estaba este patrón y me ayudó a experimentar con diferentes contramedidas." + "TITLE": "Curiosidad" }, "H1": "¡No seas tan duro contigo mismo!", "INTRO": { @@ -796,12 +858,15 @@ "EDIT": "Editar Proyecto", "SETUP_CALDAV": "Configurar Integración Caldav", "SETUP_GIT": "Configurar Integración GitHub", + "SETUP_GITEA_PROJECT": "Configurar Integración Gitea", "SETUP_GITLAB": "Configurar Integración GitLab", "SETUP_JIRA": "Configurar Integración Jira", "SETUP_OPEN_PROJECT": "Configurar Integración OpenProject", - "SETUP_GITEA_PROJECT": "Configurar Integración Gitea", "SETUP_REDMINE_PROJECT": "Configurar Integración Redmine" }, + "D_DELETE": { + "MSG": "¿Estás seguro de que quieres eliminar el proyecto \"{{title}}\"?" + }, "FORM_BASIC": { "L_ENABLE_BACKLOG": "Habilitar Backlog del Proyecto", "L_IS_HIDDEN_FROM_MENU": "Ocultar proyecto del menú", @@ -838,48 +903,95 @@ } }, "PROJECT_FOLDER": { + "CONFIRM_DELETE": "¿Estás seguro de que quieres eliminar la carpeta \"{{title}}\"? Todos los proyectos en esta carpeta se moverán al nivel raíz.", "DIALOG": { "CREATE_TITLE": "Crear carpeta", "EDIT_TITLE": "Editar carpeta", - "NAME_LABEL": "Nombre de la carpeta" + "NAME_LABEL": "Nombre de la carpeta", + "NAME_PLACEHOLDER": "Introduce el nombre de la carpeta", + "NAME_REQUIRED": "El nombre de la carpeta es obligatorio", + "NO_PARENT": "Sin padre (nivel raíz)", + "PARENT_LABEL": "Carpeta padre" }, "SELECT": { "LABEL": "Carpeta", + "NO_PARENT": "Sin carpeta (nivel raíz)", "PLACEHOLDER": "Seleccionar carpeta" - } + }, + "TOOLTIP_CREATE": "Crear carpeta de proyectos", + "TOOLTIP_VISIBILITY": "Mostrar/ocultar proyectos" }, "QUICK_HISTORY": { "NO_DATA": "Sin datos para el año actual", "PAGE_TITLE": "Historial Rápido", "WEEK_TITLE": "Semana {{nr}} ({{timeSpent}})" }, + "REDMINE": { + "DIALOG_INITIAL": { + "TITLE": "Configurar Redmine para el proyecto" + }, + "FORM": { + "API_KEY": "Clave de acceso a la API", + "HOST": "Host (por ejemplo: https://redmine.org)", + "PROJECT_ID": "Identificador del proyecto", + "PROJECT_ID_DESCRIPTION": "Se puede encontrar como parte de la URL al ver el proyecto en el navegador.", + "SCOPE": "Alcance", + "SCOPE_ALL": "Todo", + "SCOPE_ASSIGNED": "Asignado a mí", + "SCOPE_CREATED": "Creado por mí" + }, + "FORM_SECTION": { + "HELP": "Aquí puedes configurar SuperProductivity para listar los problemas abiertos de Redmine (ya sea la versión en línea o una instancia autohospedada) para un proyecto específico en el panel de creación de tareas en la vista de planificación diaria. Se mostrarán como sugerencias y proporcionarán un enlace al problema así como más información sobre el mismo.
Además, puedes importar automáticamente todos los problemas abiertos.
", + "TITLE": "Redmine" + }, + "ISSUE_CONTENT": { + "AUTHOR": "Autor", + "DESCRIPTION": "Descripción", + "MARK_AS_CHECKED": "Marcar actualizaciones como revisadas", + "PRIORITY": "Prioridad", + "STATUS": "Estado" + }, + "S": { + "ERR_UNKNOWN": "Redmine: Error desconocido {{statusCode}} {{errorMsg}}." + } + }, "REFLECTION_NOTE": { - "ACTION_DISMISS": "Descartar" + "ACTION_DISMISS": "Descartar", + "MSG": "Nota de Reflexión: ({{date}}): {{content}}" }, "REMINDER": { + "COUNTDOWN_BANNER": { + "HIDE": "Ocultar", + "START_NOW": "Empezar ahora", + "TXT": "¡{{title}} comienza a las {{start}}!", + "TXT_MULTIPLE": "¡{{title}} comienza a las {{start}}!La idea de la línea de tiempo es proporcionar una mejor imagen de cómo se desarrollan las tareas planificadas a lo largo del tiempo. Se genera automáticamente a partir de sus Tareas y distingue dos cosas diferentes: Tareas programadas, que se muestran en el momento planificado y Tareas regulares que deberían fluir alrededor de esos eventos fijos. Todas las tareas tienen en cuenta las estimaciones de tiempo que les ha asignado.
Además de esto, también puede proporcionar una hora de inicio y finalización del trabajo. Si se configuran, las tareas regulares nunca aparecerán fuera de estas. Tenga en cuenta que el cronograma solo incluye los próximos 30 días.
", + "TEXT": "La idea de la Línea de Tiempo es proporcionar una mejor imagen de cómo se desarrollan las tareas planificadas a lo largo del tiempo. Se genera automáticamente a partir de tus Tareas y requiere solo estimaciones de tiempo en ellas para funcionar.
Se distinguen dos cosas diferentes: Tareas Programadas, que se muestran en su hora planificada y Tareas Regulares que deberían fluir alrededor de esos eventos fijos.
Si proporcionas una hora de inicio y fin de trabajo (recomendado), las tareas regulares nunca aparecerán fuera de estos límites.
", "TITLE": "Línea de tiempo" }, - "END": "Fin del trabajo", + "END": "Fin del Trabajo", "INSERT_BEFORE": "Antes", "LUNCH_BREAK": "Pausa comida", "MONTH": "Mes", - "NO_TASKS": "Actualmente no hay tareas. Agregue algunas tareas a través del botón + en la barra superior.", - "NOW": "ahora", - "PLAN_END_DAY": "Plan al final del día", - "PLAN_START_DAY": "Plan al comienzo del día", - "START": "Inicio del trabajo", + "NO_TASKS": "Actualmente no hay tareas. Por favor añade algunas tareas a través del Botón + en la barra superior.", + "NOW": "Ahora", + "PLAN_END_DAY": "Fin de {{date}}", + "PLAN_START_DAY": "Inicio de {{date}}", + "SHIFT_KEY_INFO": "Mantén pulsado Shift para alternar el modo de planificación diaria", + "START": "Inicio del Trabajo", "TASK_PROJECTION_INFO": "Proyección futura de una tarea repetible programada", "WEEK": "Semana" }, "SEARCH_BAR": { - "INFO": "Haz clic en el icono de lista para buscar tareas archivadas", + "INFO": "Empieza a escribir para buscar tareas", "INFO_ARCHIVED": "Haz clic en el icono de archivo para buscar tareas normales", + "NO_RESULTS": "No se encontraron tareas que coincidan con tu búsqueda", "PLACEHOLDER": "Buscar tarea o descripción de tarea", "PLACEHOLDER_ARCHIVED": "Buscar tareas archivadas", "TOO_MANY_RESULTS": "Demasiados resultados, por favor acota tu búsqueda" @@ -890,40 +1002,48 @@ "OK": "¡Hazlo!" }, "D_EDIT": { - "L_COUNTER": "Cuenta", - "TITLE": "Editar Contador Simple" + "CURRENT_STREAK": "Racha Actual", + "DAILY_GOAL": "Objetivo Diario", + "DAYS": "Días", + "L_COUNTER": "Cuenta" }, "FORM": { - "ADD_NEW": "Añadir contador simple", - "HELP": "Aquí puedes configurar botones simples que aparecerán arriba a la derecha. Pueden ser temporizadores o simplemente un contador, que se incrementa al hacer clic en él.", - "L_AUTO_COUNT_UP": "Activar cuenta progresiva automáticamente para", - "L_AUTO_SWITCH_OFF": "Activar apagado automático para", - "L_AUTO_SWITCH_ON": "Activar encendido automático para", + "ADD_NEW": "Añadir contador simple/hábito", + "HELP": "Aquí puedes configurar botones simples que aparecerán arriba a la derecha. Pueden ser temporizadores o simplemente un contador, que se incrementa al hacer clic en él. Al habilitar 'Rastrear Rachas' puedes usarlos para el seguimiento de hábitos.", + "L_COUNTDOWN_DURATION": "Duración de cuenta atrás", + "L_DAILY_GOAL": "Objetivo diario para racha exitosa", "L_ICON": "Icono", "L_ICON_ON": "Icono cuando está activado", "L_IS_ENABLED": "Habilitado", "L_TITLE": "Título", - "L_TRACK_STREAKS": "Rachas de pista", + "L_TRACK_STREAKS": "Rastrear Rachas", "L_TYPE": "Tipo", - "TITLE": "Contadores Simples", + "L_WEEKDAYS": "Días de la semana para comprobar racha", + "TITLE": "Contadores Simples y Rastreo de Hábitos", "TYPE_CLICK_COUNTER": "Contador de Clics", + "TYPE_REPEATED_COUNTDOWN": "Cuenta Atrás Repetida", "TYPE_STOPWATCH": "Cronómetro" + }, + "S": { + "GOAL_REACHED_1": "¡Alcanzaste tu objetivo para hoy!", + "GOAL_REACHED_2": "Duración actual de la racha: " } }, "SYNC": { "A": { - "ARCHIVE_ONLY_UPLOADED": "Tus datos sólo se han cargado parcialmente. Inténtalo de nuevo más tarde. De lo contrario, no podrás sincronizar tus datos con otros dispositivos.", + "ARCHIVE_ONLY_UPLOADED": "Tus datos sólo se han cargado parcialmente. ¡Inténtalo de nuevo más tarde! De lo contrario, no podrás sincronizar tus datos con otros dispositivos.", "POSSIBLE_LEGACY_DATA": "Super Productivity ha mejorado la sincronización utilizando ahora dos archivos separados en lugar de uno solo, lo que permite una transferencia de datos mucho menor. Se recomienda actualizar todas las instancias de Super Productivity y sincronizar primero los datos de la instancia de la aplicación donde los datos son más recientes. Si estos son los datos de su dispositivo local, ignore esta advertencia y proceda a cargarlos confirmando el siguiente cuadro de diálogo.", "REMOTE_MODEL_VERSION_NEWER": "La versión del modelo remoto es más reciente que la local. ¡Actualice su aplicación local a la versión más reciente!" }, + "BTN_SYNC_NOW": "Sincronizar Ahora", "C": { "EMPTY_SYNC": "Estás intentando sincronizar un objeto de datos vacío. Si estás intentando configurar la sincronización desde una nueva instancia de la app, simplemente pulsa OK para cargar los datos desde el servidor. De lo contrario, por favor comprueba tus datos.", - "FORCE_IMPORT": "¿Importar datos remotos de todos modos?", - "FORCE_UPLOAD": "¿Subir datos locales de todos modos?", + "FORCE_UPLOAD": "Forzar una subida de tus datos podría llevar a la pérdida de datos. ¿Continuar?", "FORCE_UPLOAD_AFTER_ERROR": "Ocurrió un error al subir tus datos locales. ¿Intentar forzar la actualización?", "MIGRATE_LEGACY": "Detectados datos heredados al importar, ¿quieres intentar migrarlos?", "NO_REMOTE_DATA": "No se encontraron datos remotos. ¿Subir local a Remoto?", - "TRY_LOAD_REMOTE_AGAIN": "¿Intentar re-cargar datos desde remoto una vez más?" + "TRY_LOAD_REMOTE_AGAIN": "¿Intentar re-cargar datos desde remoto una vez más?", + "UNABLE_TO_LOAD_REMOTE_DATA": "No se pueden cargar datos desde el remoto. ¿Quieres intentar sobrescribir los datos remotos con tus datos locales? Todos los datos remotos se perderán en el proceso." }, "D_AUTH_CODE": { "FOLLOW_LINK": "Por favor abre el siguiente enlace y copia el código de autenticación proporcionado allí en el campo de entrada a continuación.", @@ -932,50 +1052,69 @@ "TITLE": "Inicio de sesión: {{provider}}" }, "D_CONFLICT": { + "ADDITIONAL_INFO": "Información Adicional", + "CHANGES": "Cambios", + "CHANGES_SINCE_LAST_SYNC": "Cambios desde la última sincronización", + "COMPARISON_RESULT": "Resultado de la Comparación", + "DATE": "Fecha", + "LAMPORT_CLOCK": "Revisión", "LAST_CHANGE": "Último Cambio:", "LAST_SYNC": "Última Sincronización:", + "LAST_SYNCED": "Último Sincronizado", + "LAST_WRITE": "Última Escritura", "LOCAL": "Local", "LOCAL_REMOTE": "Local -> Remoto", + "NEVER": "Nunca", + "OVERWRITE_WARNING": "ADVERTENCIA: Los datos de {{targetName}} contienen aproximadamente {{targetChanges}} cambios mientras que los datos de {{sourceName}} solo tienen {{sourceChanges}} cambios. ¿Estás seguro de que quieres sobrescribir los datos de {{targetName}} con la versión de {{sourceName}}? Esta acción no se puede deshacer.", "REMOTE": "Remoto", + "RESULT": "Resultado", "TEXT": "Actualización desde remoto. Tanto los datos locales como los remotos parecen haber sido modificados.
", + "TIME": "Hora", + "TIMESTAMP": "Marca de tiempo", "TITLE": "Sincronización: Datos en Conflicto", "USE_LOCAL": "Mantener local", - "USE_REMOTE": "Mantener remoto" - }, - "D_PERMISSION": { - "DISABLE_SYNC": "Deshabilitar sincronización", - "PERM_FILE": "Dar permiso", - "TEXT": "Su permiso de archivo para sincronización local ha sido revocado.
", - "TITLE": "Sincronización: permiso de archivo local denegado" + "USE_REMOTE": "Mantener remoto", + "VECTOR_CLOCK": "Reloj Vectorial", + "VECTOR_CLOCK_HEADING": "Reloj Vectorial", + "VECTOR_COMPARISON_CONCURRENT": "Concurrente (Conflicto Real)", + "VECTOR_COMPARISON_EQUAL": "Igual", + "VECTOR_COMPARISON_LOCAL_GREATER": "Local > Remoto", + "VECTOR_COMPARISON_LOCAL_LESS": "Local < Remoto" }, "D_DECRYPT_ERROR": { - "BTN_OVER_WRITE_REMOTE": "Cambiar y sobrescribir remoto", - "CHANGE_PW_AND_DECRYPT": "Cambiar e intentar descifrar", - "P1": "Sus datos están encriptados y el descifrado ha fallado. ¡Introduzca la contraseña correcta!", - "P2": "También puede cambiar su contraseña, lo que sobrescribirá todos los datos remotos.", + "BTN_OVER_WRITE_REMOTE": "Cambiar y Sobrescribir Remoto", + "CHANGE_PW_AND_DECRYPT": "Cambiar e Intentar Descifrar", + "P1": "Tus datos remotos están encriptados y el descifrado ha fallado. ¡Por favor introduce la contraseña correcta!", + "P2": "O también puedes cambiar tu contraseña, lo que sobrescribirá todos los datos remotos.", "PASSWORD": "Contraseña" }, "D_INCOMPLETE_SYNC": { - "BTN_CLOSE_APP": "Cerrar aplicación", - "BTN_DOWNLOAD_BACKUP": "Descargar copia de seguridad local", - "BTN_FORCE_UPLOAD": "Forzar carga local", + "BTN_CLOSE_APP": "Cerrar Aplicación", + "BTN_DOWNLOAD_BACKUP": "Descargar Copia de Seguridad Local", + "BTN_FORCE_UPLOAD": "Forzar Subida Local", "P1": "¡Los datos de sincronización remota son incoherentes!", "P2": "Modelo afectado:", "P3": "Tienes 2 opciones:", - "P4": "1. Vaya a su otro dispositivo e intente hacer una sincronización completa allí.", + "P4": "1. Ve a tu otro dispositivo e intenta hacer una sincronización completa allí.", "P5": "2. Sobrescribe los datos remotos con tus datos locales. ¡Todos los cambios remotos se perderán!", - "P6": "Se recomienda crear una copia de seguridad de los datos sobrescritos!!", - "T1": "¡La última sincronización no se completo!", - "T2": "Sus datos de archivo no se cargaron correctamente durante la última sincronización:", + "P6": "¡¡¡Se recomienda crear una copia de seguridad de los datos que sobrescribas!!!", + "T1": "¡La última sincronización no se completó!", + "T2": "Tus datos de archivo no se cargaron correctamente durante la última sincronización:", "T3": "Tienes 2 opciones:", "T4": "1. Ve a tu otro dispositivo y completa la sincronización allí.", "T5": "2. O puedes sobrescribir los datos remotos con los locales. Todos los cambios remotos\n se perderán.", - "T6": "¡¡¡Se recomienda crear una copia de seguridad de los datos que sobrescriba!!!" + "T6": "¡¡¡Se recomienda crear una copia de seguridad de los datos que sobrescribas!!!" }, "D_INITIAL_CFG": { "SAVE_AND_ENABLE": "Guardar y Habilitar Sincronización", "TITLE": "Configurar Sincronización" }, + "D_PERMISSION": { + "DISABLE_SYNC": "Deshabilitar sincronización", + "PERM_FILE": "Dar permiso", + "TEXT": "Tu permiso de archivo para sincronización local ha sido revocado.
", + "TITLE": "Sincronización: permiso de archivo local denegado" + }, "FORM": { "DROPBOX": { "L_ACCESS_TOKEN": "Token de Acceso (generado desde Código de Auth)" @@ -983,32 +1122,42 @@ "GOOGLE": { "L_SYNC_FILE_NAME": "Nombre del Archivo de Sincronización" }, - "LOCAL_FILE": { - "L_SYNC_FILE_PATH": "Ruta del archivo de sincronización", - "L_SYNC_FILE_PATH_DESCRIPTION": "Ruta absoluta al archivo que se debe utilizar para la sincronización (se creará).", - "L_SYNC_FILE_PATH_PERMISSION_VALIDATION": "Necesita permiso de acceso al archivo" - }, - "L_ENABLE_SYNCING": "Habilitar Sincronización", "L_ENABLE_COMPRESSION": "Habilitar Compresión (transferencia de datos más rápida)", + "L_ENABLE_ENCRYPTION": "Habilitar cifrado de extremo a extremo (experimental) – Haz que tus datos sean inaccesibles para tu proveedor de sincronización", + "L_ENABLE_SYNCING": "Habilitar Sincronización", + "L_ENCRYPTION_NOTES": "NOTAS IMPORTANTES: Necesitarás establecer la misma contraseña en tus otros dispositivos ANTES de la próxima sincronización para que todo funcione. Por favor selecciona una contraseña que sea segura. Ten en cuenta también que NO podrás acceder a tus datos si olvidas esta contraseña. NO hay recuperación posible, ya que solo tú tienes la clave. El cifrado probablemente será lo suficientemente bueno para frustrar a la mayoría de los atacantes, pero no hay garantía.", + "L_ENCRYPTION_PASSWORD": "Contraseña de Cifrado (NO OLVIDAR)", "L_SYNC_INTERVAL": "Intervalo de Sincronización", "L_SYNC_PROVIDER": "Proveedor de Sincronización", + "LOCAL_FILE": { + "L_SYNC_FILE_PATH_PERMISSION_VALIDATION": "Necesita permiso de acceso al archivo", + "L_SYNC_FOLDER_PATH": "Ruta de la carpeta de sincronización" + }, "TITLE": "Sincronización", "WEB_DAV": { - "CORS_INFO": "Hacerlo funcionar en el navegador: Para hacer que esto funcione en el navegador necesitas poner en la lista blanca a Super Productivity para solicitudes CORS en tu instancia de Nextcloud. ¡Esto puede tener implicaciones negativas de seguridad! Por favor consulta este hilo para más información. Un enfoque para hacer que esto funcione en el móvil es poner en la lista blanca \"https://app.super-productivity.com\" a través de la app nextcloud webapppassword. ¡Úsalo bajo tu propio riesgo!", + "CORS_INFO": "Hacerlo funcionar en el navegador: Para hacer que esto funcione en el navegador necesitas poner en la lista blanca a Super Productivity para solicitudes CORS en tu servidor webdav. ¡Esto puede tener implicaciones negativas de seguridad! Para nextcloud por favor consulta este hilo para más información. Un enfoque para hacer que esto funcione en el móvil es poner en la lista blanca \"https://app.super-productivity.com\" a través de la app nextcloud webapppassword. ¡Úsalo bajo tu propio riesgo!", + "INFO": "Las implementaciones de WebDAV difieren mucho desafortunadamente. Se sabe que Super Productivity funciona bien con Nextcloud, pero podría no funcionar con tu proveedor.", "L_BASE_URL": "Url Base", "L_PASSWORD": "Contraseña", - "L_SYNC_FILE_PATH": "Ruta del Archivo de Sincronización", + "L_SYNC_FOLDER_PATH": "Ruta de la Carpeta de Sincronización", "L_USER_NAME": "Nombre de usuario" } }, "S": { + "ALREADY_IN_SYNC": "Ya sincronizado", + "ALREADY_IN_SYNC_NO_LOCAL_CHANGES": "Sin cambios locales – Ya sincronizado", + "BTN_CONFIGURE": "Configurar", + "BTN_FORCE_OVERWRITE": "Forzar Sobrescritura", + "ERROR_CORS": "Error de Sincronización WebDAV: Solicitud de red fallida.\n\nEsto podría ser un problema de CORS. Por favor asegúrate de:\n• Tu servidor WebDAV permite solicitudes de Origen Cruzado\n• La URL del servidor es correcta y accesible\n• Tienes una conexión a internet funcional", + "ERROR_DATA_IS_CURRENTLY_WRITTEN": "Los datos remotos se están escribiendo actualmente", "ERROR_FALLBACK_TO_BACKUP": "Algo salió mal al importar los datos. Recurriendo a la copia de seguridad local.", "ERROR_INVALID_DATA": "Error al sincronizar. Datos inválidos", "ERROR_NO_REV": "No hay rev válida para el archivo remoto", - "ERROR_UNABLE_TO_READ_REMOTE_DATA": "Error al sincronizar. No se pueden leer los datos remotos. ¿Quizá has activado la encriptación y tu contraseña local no coincide con la utilizada para encriptar los datos remotos?", + "ERROR_UNABLE_TO_READ_REMOTE_DATA": "Error al sincronizar. No se pueden leer los datos remotos. ¿Quizá has habilitado el cifrado y tu contraseña local no coincide con la utilizada para cifrar los datos remotos?", "IMPORTING": "Importando datos", "INCOMPLETE_CFG": "La autenticación para sincronización falló. ¡Por favor comprueba tu Configuración!", "INITIAL_SYNC_ERROR": "La Sincronización Inicial falló", + "SUCCESS_DOWNLOAD": "Datos sincronizados desde remoto", "SUCCESS_IMPORT": "Datos importados", "SUCCESS_VIA_BUTTON": "Datos sincronizados exitosamente", "UNKNOWN_ERROR": "Error de Sincronización Desconocido: {{err}}", @@ -1016,39 +1165,38 @@ } }, "SAFETY_BACKUP": { - "BACKUP_NOT_FOUND": "No se encontró la copia de seguridad con ID {{backupId}}", - "BTN_CLEAR_ALL": "Borrar todo", - "BTN_CREATE_MANUAL": "Crear copia manual", - "BTN_DELETE": "Eliminar", - "BTN_REFRESH": "Actualizar", - "BTN_RESTORE": "Restaurar", - "CLEAR_FAILED": "Error al borrar las copias de seguridad", - "CLEARED_SUCCESS": "Todas las copias de seguridad borradas con éxito", - "CREATE_FAILED": "Error al crear la copia de seguridad", - "CREATED_SUCCESS": "Copia de seguridad manual creada con éxito", - "DELETE_FAILED": "Error al eliminar la copia de seguridad", - "DELETED_SUCCESS": "Copia de seguridad eliminada con éxito", - "DESCRIPTION": "Las copias de seguridad automáticas se crean antes de descargar datos remotos durante las operaciones de sincronización. Las copias se organizan en 4 espacios inteligentes: 2 más recientes, 1 primera de hoy y 1 primera de un día anterior a hoy.", - "INVALID_ID_ERROR": "ID de copia de seguridad generado inválido", - "LAST_CHANGE_PREFIX": "Último cambio:", - "LOADING": "Cargando...", - "NO_BACKUPS": "Aún no hay copias de seguridad disponibles. Las copias se crean automáticamente antes de las operaciones de sincronización.", - "REASON_BEFORE_UPDATE": "Copia automática antes de sincronizar", - "REASON_MANUAL": "Copia manual", - "RESTORE_CONFIRM_MSG": "¿Estás seguro de que quieres restaurar la copia de seguridad de {{timestamp}}?\n\n¡Esto REEMPLAZARÁ COMPLETAMENTE todos tus datos actuales!\n\nRazón: {{reason}}\n\nHaz clic en Aceptar para proceder o Cancelar para abortar.", - "RESTORE_CONFIRM_TITLE": "Restaurar copia de seguridad", - "RESTORE_FAILED": "Error al restaurar la copia de seguridad: {{error}}", - "RESTORED_SUCCESS": "Copia de seguridad restaurada con éxito", - "SLOT_BEFORE_TODAY": "Primera copia anterior a hoy", - "SLOT_RECENT": "Copia reciente", - "SLOT_TODAY": "Primera copia de hoy", - "TITLE": "Copias de seguridad de sincronización", - "TOOLTIP_CLEAR_ALL": "Eliminar todas las copias de seguridad", - "TOOLTIP_CREATE_MANUAL": "Crear una copia de seguridad manual de todos tus datos", - "TOOLTIP_DELETE": "Eliminar esta copia de seguridad", - "TOOLTIP_REFRESH": "Actualizar la lista de copias de seguridad", - "TOOLTIP_RESTORE": "Restaurar esta copia (reemplazará todos los datos actuales)" - } + "BACKUP_NOT_FOUND": "No se encontró la copia de seguridad con ID {{backupId}}", + "BTN_CLEAR_ALL": "Borrar todo", + "BTN_CREATE_MANUAL": "Crear copia manual", + "BTN_DELETE": "Eliminar", + "BTN_REFRESH": "Actualizar", + "BTN_RESTORE": "Restaurar", + "CLEAR_FAILED": "Error al borrar las copias de seguridad", + "CLEARED_SUCCESS": "Todas las copias de seguridad borradas con éxito", + "CREATE_FAILED": "Error al crear la copia de seguridad", + "CREATED_SUCCESS": "Copia de seguridad manual creada con éxito", + "DELETE_FAILED": "Error al eliminar la copia de seguridad", + "DELETED_SUCCESS": "Copia de seguridad eliminada con éxito", + "DESCRIPTION": "Las copias de seguridad automáticas se crean antes de descargar datos remotos durante las operaciones de sincronización. Las copias se organizan en 4 espacios inteligentes: 2 más recientes, 1 primera de hoy y 1 primera de un día anterior a hoy.", + "INVALID_ID_ERROR": "ID de copia de seguridad generado inválido", + "LAST_CHANGE_PREFIX": "Último cambio:", + "LOADING": "Cargando...", + "NO_BACKUPS": "Aún no hay copias de seguridad disponibles. Las copias se crean automáticamente antes de las operaciones de sincronización.", + "REASON_BEFORE_UPDATE": "Copia automática antes de sincronizar", + "REASON_MANUAL": "Copia manual", + "RESTORE_CONFIRM_MSG": "¿Estás seguro de que quieres restaurar la copia de seguridad de {{timestamp}}?\n\n¡Esto REEMPLAZARÁ COMPLETAMENTE todos tus datos actuales!\n\nRazón: {{reason}}\n\nHaz clic en Aceptar para proceder o Cancelar para abortar.", + "RESTORE_CONFIRM_TITLE": "Restaurar copia de seguridad", + "RESTORE_FAILED": "Error al restaurar la copia de seguridad: {{error}}", + "RESTORED_SUCCESS": "Copia de seguridad restaurada con éxito", + "SLOT_BEFORE_TODAY": "Primera copia anterior a hoy", + "SLOT_RECENT": "Copia reciente", + "SLOT_TODAY": "Primera copia de hoy", + "TITLE": "Copias de seguridad de sincronización", + "TOOLTIP_CLEAR_ALL": "Eliminar todas las copias de seguridad", + "TOOLTIP_CREATE_MANUAL": "Crear una copia de seguridad manual de todos tus datos", + "TOOLTIP_DELETE": "Eliminar esta copia de seguridad", + "TOOLTIP_REFRESH": "Actualizar la lista de copias de seguridad", + "TOOLTIP_RESTORE": "Restaurar esta copia (reemplazará todos los datos actuales)" }, "TAG": { "D_CREATE": { @@ -1071,8 +1219,29 @@ }, "S": { "UPDATED": "Los Ajustes de Etiqueta fueron actualizados" + }, + "TTL": { + "ADD_NEW_TAG": "Añadir nueva Etiqueta" } }, + "TAG_FOLDER": { + "CONFIRM_DELETE": "¿Estás seguro de que quieres eliminar la carpeta \"{{title}}\"? Todas las etiquetas en esta carpeta se moverán al nivel raíz.", + "DIALOG": { + "CREATE_TITLE": "Crear carpeta", + "EDIT_TITLE": "Editar carpeta", + "NAME_LABEL": "Nombre de la carpeta", + "NAME_PLACEHOLDER": "Introduce el nombre de la carpeta", + "NAME_REQUIRED": "El nombre de la carpeta es obligatorio", + "NO_PARENT": "Sin padre (nivel raíz)", + "PARENT_LABEL": "Carpeta padre" + }, + "SELECT": { + "LABEL": "Carpeta", + "NO_PARENT": "Sin carpeta (nivel raíz)", + "PLACEHOLDER": "Seleccionar carpeta" + }, + "TOOLTIP_CREATE": "Crear carpeta de etiquetas" + }, "TASK": { "ADD_TASK_BAR": { "ADD_EXISTING_TASK": "Añadir tarea existente \"{{taskTitle}}\"", @@ -1081,14 +1250,38 @@ "ADD_TASK_TO_BOTTOM_OF_TODAY": "Añadir tarea al final de la lista", "ADD_TASK_TO_TOP_OF_BACKLOG": "Añadir tarea al principio del backlog", "ADD_TASK_TO_TOP_OF_TODAY": "Añadir tarea al principio de la lista", + "CREATE_NEW_TAGS": "Crear nuevas etiquetas", "CREATE_TASK": "Crear nueva tarea", - "EXAMPLE": "Ejemplo: \"Título de tarea @vie 4pm +nombreProyecto #alguna etiqueta #otra etiqueta 10m/3h\"", - "START": "Presiona enter una vez más para comenzar" + "DUE_BUTTON": "Vencimiento", + "ESTIMATE_BUTTON": "Estimación", + "EXAMPLE": "Ejemplo: \"Título de tarea @vie 4pm +nombreProyecto #alguna-etiqueta #otra-etiqueta 10m/3h\"", + "NO_DATE": "Sin Fecha", + "NO_TIME": "Sin Hora", + "PLACEHOLDER_CREATE": "Un título de tarea #etiqueta @16:00", + "PLACEHOLDER_SEARCH": "Añadir tarea existente o incidencias...", + "SEARCH_INFO_TEXT": "Buscar y añadir incidencias y tareas del archivo y otros proyectos", + "START": "Presiona enter una vez más para comenzar", + "TAGS_BUTTON": "Etiquetas", + "TODAY": "Hoy", + "TOGGLE_ADD_TO_BACKLOG_TODAY": "Alternar añadir tarea al backlog / lista de hoy", + "TOGGLE_ADD_TOP_OR_BOTTOM": "Alternar añadir tarea al principio y final de la lista", + "TOMORROW": "Mañana", + "TOOLTIP_ADD_TASK": "Añadir tarea", + "TOOLTIP_ADD_TO_BACKLOG": "Añadir al backlog", + "TOOLTIP_ADD_TO_BOTTOM": "Añadir al final (Ctrl+1)", + "TOOLTIP_ADD_TO_TODAY": "Añadir a hoy", + "TOOLTIP_ADD_TO_TOP": "Añadir al principio (Ctrl+1)", + "TOOLTIP_CLEAR_DATE": "Borrar fecha", + "TOOLTIP_CLEAR_ESTIMATE": "Borrar estimación", + "TOOLTIP_CLEAR_TAGS": "Borrar etiquetas", + "TOOLTIP_DISABLE_SEARCH": "Deshabilitar búsqueda de incidencias (Ctrl+2)", + "TOOLTIP_ENABLE_SEARCH": "Habilitar búsqueda de incidencias (Ctrl+2)" }, "ADDITIONAL_INFO": { "ADD_ATTACHMENT": "Añadir adjunto", "ADD_SUB_TASK": "Añadir Subtarea", "ATTACHMENTS": "Adjuntos ({{nr}})", + "DUE": "Planificada para", "FROM_PARENT": "(del Padre)", "LOCAL_ATTACHMENTS": "Adjuntos Locales", "NOTES": "Descripción", @@ -1097,7 +1290,8 @@ "REPEAT": "Repetir", "SCHEDULE_TASK": "Programar Tarea", "SUB_TASKS": "Subtareas ({{nr}})", - "TIME": "Tiempo" + "TIME": "Tiempo", + "TITLE_PLACEHOLDER": "Introduce un título" }, "B": { "ADD_HALF_HOUR": "Añadir 1/2 hora", @@ -1105,59 +1299,58 @@ }, "CMP": { "ADD_SUB_TASK": "Añadir subtarea", - "ADD_TO_MY_DAY": "Añadir a Mi Día", + "ADD_TO_MY_DAY": "Añadir a Hoy", "ADD_TO_PROJECT": "Añadir a un Proyecto", "CONVERT_TO_PARENT_TASK": "Convertir a Tarea padre", "DELETE": "Eliminar Tarea", "DELETE_REPEAT_INSTANCE": "Eliminar Instancia de Tarea repetida", "DROP_ATTACHMENT": "Suelta aquí para adjuntar a \"{{title}}\"", "DUPLICATE": "Duplicar", - "EDIT_SCHEDULED": "Editar recordatorio", + "EDIT_SCHEDULED": "Reprogramar", "EDIT_TAGS": "Editar etiquetas", + "EDIT_TASK_TITLE": "Editar título", + "FOCUS_SESSION": "Iniciar Sesión de Enfoque", "MARK_DONE": "Marcar como hecha", "MARK_UNDONE": "Marcar como no hecha", "MOVE_TO_BACKLOG": "Mover al backlog", - "MOVE_TO_OTHER_PROJECT": "Mover a otro Proyecto", - "MOVE_TO_TODAY": "Mover a la lista de hoy", + "MOVE_TO_OTHER_PROJECT": "Mover a Proyecto", + "MOVE_TO_REGULAR": "Mover a lista regular", + "MOVE_TO_TOP": "Mover al Principio", "OPEN_ATTACH": "Adjuntar archivo o enlace", "OPEN_ISSUE": "Abrir en navegador", "OPEN_TIME": "Seguimiento de Tiempo", - "REMOVE_FROM_MY_DAY": "Eliminar de Mi Día", + "REMOVE_FROM_MY_DAY": "Eliminar de Hoy", "REPEAT_EDIT": "Editar config de tarea repetida", "SCHEDULE": "Programar tarea", "SHOW_UPDATES": "Mostrar actualizaciones", - "TOGGLE_ADDITIONAL": "Mostrar/Ocultar info adicional", "TOGGLE_ATTACHMENTS": "Mostrar/Ocultar adjuntos", + "TOGGLE_DETAIL_PANEL": "Mostrar/Ocultar info adicional", "TOGGLE_DONE": "Marcar como hecha/no hecha", "TOGGLE_SUB_TASK_VISIBILITY": "Alternar visibilidad de subtareas", + "TOGGLE_TAGS": "Alternar Etiquetas", "TRACK_TIME": "Iniciar seguimiento de tiempo", "TRACK_TIME_STOP": "Pausar seguimiento de tiempo", + "UNSCHEDULE_TASK": "Desprogramar tarea", "UPDATE_ISSUE_DATA": "Actualizar datos de incidencia" }, - "D_REMINDER_ADD": { - "CONFIRM_REPEAT_OK": "Programar", - "CONFIRM_REPEAT_TXT": "Estás intentando programar esta tarea repetida para otro día. Las tareas repetidas generalmente están destinadas a ser recreadas en días específicos y solo programadas en ese día. ¿Quieres proceder de todos modos?", - "DATETIME_FOR": "Fecha y hora para el recordatorio", - "EDIT": "Editar Recordatorio", - "MOVE_TO_BACKLOG": "Mover tarea al backlog hasta que esté programada", - "REMIND_AT": "Recordar a las", - "RO_10M": "10 minutos antes de que empiece", - "RO_15M": "15 minutos antes de que empiece", - "RO_1H": "1 hora antes de que empiece", - "RO_30M": "30 minutos antes de que empiece", - "RO_5M": "5 minutos antes de que empiece", - "RO_START": "cuando empiece", - "SCHEDULE": "Programar", - "UNSCHEDULE": "Desprogramar" + "D_CONFIRM_SHORT_SYNTAX_NEW_TAG": { + "MSG": "¿Quieres crear la nueva etiqueta {{tagsTxt}}?", + "OK": "Crear etiqueta" + }, + "D_CONFIRM_SHORT_SYNTAX_NEW_TAGS": { + "MSG": "¿Quieres crear las nuevas etiquetas {{tagsTxt}}?", + "OK": "Crear etiquetas" }, "D_REMINDER_VIEW": { "ADD_ALL_TO_TODAY": "Añadir todo a hoy", "ADD_TO_TODAY": "Añadir a hoy", - "DISMISS": "Descartar Recordatorio", - "DISMISS_ALL": "Descartar todo", + "COMPLETE": "Completar", + "COMPLETE_ALL": "Completar todo", + "DISMISS_ALL_REMINDERS_KEEP_TODAY": "Descartar Todos los Recordatorios (Mantener en Hoy)", + "DISMISS_REMINDER_KEEP_TODAY": "Descartar Recordatorio (Mantener en Hoy)", "DONE": "Hecho", - "DUE_TASK": "Tarea vencida", - "DUE_TASKS": "Tareas vencidas", + "DUE_TASK": "Recordatorio para tarea planificada", + "DUE_TASKS": "Recordatorio para tareas planificadas", "FOR_CURRENT": "La tarea ha vencido. ¿Quieres empezar a trabajar en ella?", "FOR_OTHER": "La tarea ha vencido. ¿Quieres empezar a trabajar en ella?", "FROM_PROJECT": "Del Proyecto: \"{{title}}\"", @@ -1167,7 +1360,32 @@ "SNOOZE": "Posponer", "SNOOZE_ALL": "Posponer todo", "START": "Empezar", - "SWITCH_CONTEXT_START": "Cambiar Contexto y Empezar" + "SWITCH_CONTEXT_START": "Cambiar Contexto y Empezar", + "UNSCHEDULE": "Desprogramar", + "UNSCHEDULE_ALL": "Desprogramar todo" + }, + "D_SCHEDULE_TASK": { + "MOVE_TO_BACKLOG": "Mover tarea al backlog hasta que esté programada", + "QA_NEXT_MONTH": "Programar Próximo Mes", + "QA_NEXT_WEEK": "Programar Próxima Semana", + "QA_REMOVE_TODAY": "Quitar tarea de hoy", + "QA_TODAY": "Programar Hoy", + "QA_TOMORROW": "Programar Mañana", + "REMIND_AT": "Recordar a las", + "RO_1H": "1 hora antes de que empiece", + "RO_5M": "5 minutos antes de que empiece", + "RO_10M": "10 minutos antes de que empiece", + "RO_15M": "15 minutos antes de que empiece", + "RO_30M": "30 minutos antes de que empiece", + "RO_NEVER": "Nunca", + "RO_START": "cuando empiece", + "SCHEDULE": "Programar", + "UNSCHEDULE": "Quitar" + }, + "D_SELECT_DATE_AND_TIME": { + "DATE": "Fecha", + "TIME": "Hora", + "TITLE": "Seleccionar Fecha y Hora" }, "D_TIME": { "ADD_FOR_OTHER_DAY": "Añadir tiempo dedicado para otro día", @@ -1175,28 +1393,33 @@ "ESTIMATE": "Estimación", "TIME_SPENT": "Tiempo Dedicado", "TIME_SPENT_ON": "Tiempo Dedicado {{date}}", - "TITLE": "Tiempo dedicado / Estimaciones" + "TITLE": "Duración" }, "D_TIME_FOR_DAY": { "ADD_ENTRY_FOR": "Añadir nueva entrada para {{date}}", "DATE": "Fecha para nueva entrada", - "HELP": "Ejemplos:La idea de la Línea de Tiempo es proporcionar una mejor imagen de cómo se desarrollan las tareas planificadas a lo largo del tiempo. Se genera automáticamente a partir de tus Tareas y distingue dos cosas diferentes: Tareas Programadas, que se muestran en su hora planificada y Tareas Regulares que deberían fluir alrededor de esos eventos fijos. Todas las tareas consideran las estimaciones de tiempo que les has asignado.
Además de esto, también puedes proporcionar una hora de inicio y fin de trabajo. Si se configura, las tareas regulares nunca aparecerán fuera de estas. Ten en cuenta que la línea de tiempo solo incluye los próximos 30 días.
", - "TITLE": "Línea de tiempo" - }, - "END": "Fin del Trabajo", - "MENU_TITLE": "Línea de tiempo", - "NOW": "Ahora", - "NO_TASKS": "Actualmente no hay tareas. Por favor añade algunas tareas a través del Botón + en la barra superior.", - "S": { - "CAL_PROVIDER_ERROR": "Error del Proveedor de Cal de Línea de Tiempo: {{errTxt}}" - }, - "START": "Inicio del Trabajo", - "TASK_PROJECTION_INFO": "Proyección futura de una tarea repetible programada" + "TASK_VIEW": { + "CUSTOMIZER": { + "ENTER_PROJECT": "Filtrar Proyectos", + "ENTER_TAG": "Filtrar Etiqueta", + "ESTIMATED_TIME": "Tiempo Estimado", + "FILTER_BY": "Filtrar Por", + "FILTER_DEFAULT": "Sin Filtro", + "FILTER_ESTIMATED_TIME": "Tiempo Estimado", + "FILTER_PROJECT": "Proyecto", + "FILTER_SCHEDULED_DATE": "Fecha Programada", + "FILTER_TAG": "Etiqueta", + "FILTER_TIME_SPENT": "Tiempo Dedicado", + "GROUP_BY": "Agrupar Por", + "GROUP_DEFAULT": "Sin Grupo", + "GROUP_PROJECT": "Proyecto", + "GROUP_SCHEDULED_DATE": "Fecha Programada", + "GROUP_TAG": "Etiqueta", + "RESET_ALL": "Restablecer Todo", + "SCHEDULED_NEXT_MONTH": "Próximo Mes", + "SCHEDULED_NEXT_WEEK": "Próxima Semana", + "SCHEDULED_THIS_MONTH": "Este Mes", + "SCHEDULED_THIS_WEEK": "Esta Semana", + "SCHEDULED_TODAY": "Hoy", + "SCHEDULED_TOMORROW": "Mañana", + "SORT_CREATION_DATE": "Fecha de Creación", + "SORT_DEFAULT": "Predeterminado", + "SORT_NAME": "Nombre", + "SORT_PERMANENT": "Ordenar (permanente)", + "SORT_SCHEDULED_DATE": "Fecha Programada", + "SORT_TEMPORARY": "Ordenar (temporal)", + "TIME_1HOUR": "> 1 Hora", + "TIME_2HOUR": "> 2 Horas", + "TIME_10MIN": "> 10 Minutos", + "TIME_30MIN": "> 30 Minutos", + "FILTER_NOT_SPECIFIED": "No especificado", + "TIME_SPENT": "Tiempo Dedicado", + "TITLE": "Personalizar Vista de Tareas" + } }, "TIME_TRACKING": { "B": { @@ -1312,14 +1573,16 @@ "SNOOZE": "Posponer {{time}}" }, "B_TTR": { - "ADD_TO_TASK": "Añadir a la tarea", - "MSG": "No ha realizado un seguimiento del tiempo durante {{time}}" + "ADD_TO_TASK": "Añadir a la Tarea", + "MSG": "No has estado rastreando tiempo durante {{time}}", + "MSG_WITHOUT_TIME": "No has estado rastreando tiempo" }, "D_IDLE": { "ADD_ENTRY": "Añadir entrada para seguimiento", "BREAK": "Descanso", "CREATE_AND_TRACK": "Crear y rastrear en", "IDLE_FOR": "Has estado inactivo durante:", + "RESET_BREAK_REMINDER_TIMER": "Reiniciar temporizador de recordatorio de descanso", "SIMPLE_CONFIRM_COUNTER_CANCEL": "Omitir", "SIMPLE_CONFIRM_COUNTER_OK": "Rastrear", "SIMPLE_COUNTER_CONFIRM_TXT": "Seleccionaste omitir, pero activaste {{nr}} botón(es) de contador simple. ¿Quieres rastrear el tiempo inactivo en ellos?", @@ -1328,29 +1591,19 @@ "SKIP": "Omitir", "SPLIT_TIME": "Dividir tiempo en múltiples tareas y descansos", "TASK": "Tarea", - "TASK_BREAK": "Tarea+Descanso", - "TRACK_TO": "Rastrear en" + "TRACK_TO": "Rastrear en", + "WARN_SIMPLE_COUNTER": "El tiempo contará hacia los botones de contador simple activados.", + "WARN_SIMPLE_COUNTER_BREAK": "El tiempo TODAVÍA contará en los botones de contador simple activados." }, "D_TRACKING_REMINDER": { "CREATE_AND_TRACK": "Crear y rastrear en", "IDLE_FOR": "Has estado inactivo durante:", + "NOTIFICATION_TITLE": "¡Rastrea tu tiempo!", "TASK": "Tarea", "TRACK_TO": "Rastrear en:", "UNTRACKED_TIME": "Tiempo no rastreado:" } }, - "WELCOME": { - "D_WELCOME": { - "L1": "Empezando", - "L2": "Vídeo introductorio en youtube", - "L3": "Haz una pregunta", - "LETS_GO": "¡¡Vamos allá!!", - "MOBILE_INFO": "Desliza las tareas creadas a la derecha, para marcarlas como hechas.\n Deslízalas a la izquierda para programar. Mantén pulsado para más acciones.", - "T1": "¡Genial ver que decidiste darle una oportunidad a esta app! 🦄", - "T2": "Si tienes problemas para orientarte por aquí, hay varios lugares donde\n puedes encontrar ayuda:", - "TITLE": "¡Bienvenido a Super Productivity!" - } - }, "WORKLOG": { "CMP": { "DAYS_WORKED": "Días, trabajados:", @@ -1373,7 +1626,7 @@ "GROUP_BY": "Agrupar por", "O": { "DATE": "Fecha", - "ENDED_WORKING": "Termino del trabajo", + "ENDED_WORKING": "Terminó de Trabajar", "ESTIMATE_AS_CLOCK": "Estimar como reloj (por ejemplo, 5:23)", "ESTIMATE_AS_MILLISECONDS": "Estimar en milisegundos", "ESTIMATE_AS_STRING": "Estimar como cadena de texto (por ejemplo, 5h 23m)", @@ -1381,62 +1634,86 @@ "FULL_HOURS": "horas completas", "FULL_QUARTERS": "cuartos completos", "NOTES": "Descripciones de tareas", - "PARENT_TASK": "Tareas principales", + "PARENT_TASK": "Tarea principal", "PARENT_TASK_TITLES_ONLY": "Sólo títulos de tareas principales", "PROJECTS": "Nombres de proyectos", "STARTED_WORKING": "Comienzo del trabajo", "TAGS": "Etiquetas", - "TASK_SUBTASK": "Tarea / Subtarea", + "TASK_SUBTASK": "Tarea/Subtarea", "TIME_AS_CLOCK": "Tiempo como reloj (por ejemplo, 5:23)", - "TIME_AS_MILLISECONDS": "Tiempo como milisegundos.", + "TIME_AS_MILLISECONDS": "Tiempo como milisegundos", "TIME_AS_STRING": "Tiempo como cadena de texto (por ejemplo, 5h 23m)", - "TITLES_AND_SUB_TASK_TITLES": "Títulos y títulos de subtarea", + "TITLES_AND_SUB_TASK_TITLES": "Títulos y Títulos de Subtareas", "WORKLOG": "Registro de trabajo" }, "OPTIONS": "Opciones", - "ROUND_END_TIME_TO": "Tiempo de finalización de ronda a", - "ROUND_START_TIME_TO": "Hora de inicio de ronda para", - "ROUND_TIME_WORKED_TO": "Tiempo de ronda trabajado para", + "ROUND_END_TIME_TO": "Redondear tiempo de finalización a", + "ROUND_START_TIME_TO": "Redondear tiempo de inicio a", + "ROUND_TIME_WORKED_TO": "Redondear tiempo trabajado a", "SAVE_TO_FILE": "Guardar en archivo", "SEPARATE_TASKS_BY": "Tareas separadas por", "SHOW_AS_TEXT": "Mostrar como texto" }, "WEEK": { "EXPORT": "Exportar Datos de la Semana", + "FOCUS_SUMMARY": "Sesiones de enfoque (nr / tiempo)", "NO_DATA": "No hay tareas esta semana todavía.", "TITLE": "Título" } } }, "FILE_IMEX": { + "DIALOG_CONFIRM_URL_IMPORT": { + "INITIATED_MSG": "Se ha iniciado una importación automática de datos.", + "SOURCE_URL_DOMAIN": "Dominio de Origen", + "TITLE": "Confirmar Importación de Datos desde URL", + "WARNING_MSG": "Proceder sobrescribirá los datos y la configuración actuales de tu aplicación con el contenido de la URL especificada. Esta acción no se puede deshacer.", + "WARNING_TITLE": "Advertencia" + }, "EXPORT_DATA": "Exportar Datos", "IMPORT_FROM_FILE": "Importar desde archivo", + "IMPORT_FROM_URL": "Importar desde URL", + "IMPORT_FROM_URL_DIALOG_DESCRIPTION": "Por favor introduce la URL completa del archivo JSON de copia de seguridad de Super Productivity que quieres importar.", + "IMPORT_FROM_URL_DIALOG_TITLE": "Importar desde URL", + "OPEN_IMPORT_FROM_URL_DIALOG": "Importar desde URL", "PRIVACY_EXPORT": "Exportar datos anonimizados (para enviar a contact@super-productivity.com para depuración)", - "S_ERR_INVALID_DATA": "Importación fallida: JSON Inválido" + "S_BACKUP_DOWNLOADED": "Copia de seguridad descargada a la carpeta de documentos de android", + "S_ERR_IMPORT_FAILED": "Error al importar datos", + "S_ERR_INVALID_DATA": "Importación fallida: JSON Inválido", + "S_ERR_INVALID_URL": "Importación fallida: URL proporcionada inválida", + "S_ERR_NETWORK": "Importación fallida: Error de red al obtener datos de la URL", + "S_IMPORT_FROM_URL_ERR_DECODE": "Error: No se pudo decodificar el parámetro URL para importar. Por favor asegúrate de que esté formateado correctamente.", + "URL_PLACEHOLDER": "Introduce URL para importar" }, "G": { "ADD": "Agregar", - "ADVANCED_CFG": "Configuración avanzada", + "ADVANCED_CFG": "Configuración Avanzada", "CANCEL": "Cancelar", "CLOSE": "Cerrar", "COMPLETE": "Completo", "CONFIRM": "Confirmar", "DELETE": "Borrar", "DISMISS": "Descartar", - "DURATION_DESCRIPTION": "Por ejemplo, \"5h 23m\", que es equivalente a 5 horas y 23 minutos.", "DO_IT": "¡Hazlo!", + "DONT_SHOW_AGAIN": "No mostrar de nuevo", + "DURATION_DESCRIPTION": "p. ej. \"5h 23m\" que resulta en 5 horas y 23 minutos", "EDIT": "Editar", "ENABLED": "Habilitado", - "EXTENSION_INFO": "Por favor descarga la extensión de chrome para permitir la comunicación con la Api de Jira y el Manejo de Tiempo Inactivo. Ten en cuenta que esto no funciona para móvil.", + "EXAMPLE_VAL": "p. ej. 32m", + "EXTENSION_INFO": "Por favor descarga la extensión de chrome para permitir la comunicación con la Api de Jira y el Manejo de Tiempo Inactivo. Ten en cuenta que esto no funciona para móvil. ¡¡Sin la extensión las funciones no funcionarán!!", + "HIDE": "Ocultar", + "ICON_INP_DESCRIPTION": "¡Todos los emojis utf-8 también son compatibles!", + "INBOX_PROJECT_TITLE": "Bandeja de entrada", "LOGIN": "Iniciar sesión", "LOGOUT": "Cerrar sesión", "MINUTES": "{{m}} minutos", "MOVE_BACKWARD": "Mover hacia atrás", "MOVE_FORWARD": "Mover hacia adelante", "NEXT": "Siguiente", - "NONE": "Ninguno", "NO_CON": "Actualmente estás desconectado. Por favor reconecta a internet.", + "NONE": "Ninguno", "OK": "Ok", + "OVERDUE": "Vencido", "PREVIOUS": "Anterior", "REMOVE": "Quitar", "RESET": "Reiniciar", @@ -1444,6 +1721,7 @@ "SUBMIT": "Enviar", "TITLE": "Título", "TODAY_TAG_TITLE": "Hoy", + "TRACKING_INTERVAL_DESCRIPTION": "Rastrear tiempo usando este intervalo en milisegundos. Es posible que desees cambiar esto para reducir las escrituras en disco. Ver issue #2355.", "UNDO": "Deshacer", "UPDATE": "Actualizar", "WITHOUT_PROJECT": "Sin Proyecto", @@ -1479,7 +1757,6 @@ "HELP": "Cuando el manejo de tiempo inactivo está habilitado se abrirá un diálogo después de una cantidad de tiempo especificada para comprobar si y en qué tarea quieres rastrear tu tiempo, cuando has estado inactivo.
Aquí puedes configurar todos los atajos de teclado.
Haz clic en la entrada de texto e introduce la combinación de teclado deseada. Pulsa enter para guardar y Escape para abortar.
Hay tres tipos de atajos:
Puedes pulsar Escape para eliminar un atajo.", "MOVE_TASK_DOWN": "Mueve la tarea hacia abajo en la lista", "MOVE_TASK_TO_BOTTOM": "Mover la tarea al final de la lista", "MOVE_TASK_TO_TOP": "Mover la tarea al principio de la lista", "MOVE_TASK_UP": "Mover la tarea hacia arriba en la lista", - "MOVE_TO_BACKLOG": "Mover la tarea al registro de trabajo", + "MOVE_TO_BACKLOG": "Mover la tarea al backlog", "MOVE_TO_REGULARS_TASKS": "Mueve la tarea a la lista de tareas de hoy", - "OPEN_PROJECT_NOTES": "Mostrar/Ocultar Notas del Proyecto", + "OPEN_PROJECT_NOTES": "Mostrar/Ocultar Notas", + "PLUGIN_SHORTCUTS": "Atajos de Plugins", "SAVE_NOTE": "Guardar nota", "SELECT_NEXT_TASK": "Seleccionar tarea siguiente", "SELECT_PREVIOUS_TASK": "Seleccionar tarea previa", @@ -1529,18 +1808,18 @@ "TASK_SHORTCUTS": "Tareas", "TASK_SHORTCUTS_INFO": "Los siguientes atajos se aplican a la tarea seleccionada actual (seleccionada a través de una pestaña o con el ratón).", "TASK_TOGGLE_DETAIL_PANEL_OPEN": "Mostrar/Ocultar información adicional de la tarea", - "TASK_TOGGLE_DONE": "Altenado realizado", + "TASK_TOGGLE_DONE": "Alternar Hecho", "TITLE": "Atajos de teclado", - "TOGGLE_BACKLOG": "Mostrar/Ocultar registro de la tarea", + "TOGGLE_BACKLOG": "Mostrar/Ocultar backlog de la tarea", "TOGGLE_BOOKMARKS": "Mostrar/Ocultar barra de marcadores", "TOGGLE_ISSUE_PANEL": "Mostrar/Ocultar panel de incidencias", "TOGGLE_PLAY": "Iniciar/Detener tarea", - "TOGGLE_SIDE_NAV": "Mostrar y enfocar / Ocultar Sidenav", - "TOGGLE_TASK_VIEW_CUSTOMIZER_PANEL": "Alternar panel de filtro/grupo/ordenar", + "TOGGLE_SIDE_NAV": "Enfocar Sidenav", + "TOGGLE_TASK_VIEW_CUSTOMIZER_PANEL": "Alternar panel de Filtro/Grupo/Ordenar", "TRIGGER_SYNC": "Sincronización de disparo (si está configurada)", - "ZOOM_DEFAULT": "Valor predeterminado de zoom (solo para escritorio)", - "ZOOM_IN": "Acercar (solo para escritorio)", - "ZOOM_OUT": "Alejar (solo para escritorio)" + "ZOOM_DEFAULT": "Zoom predeterminado (solo escritorio)", + "ZOOM_IN": "Acercar (solo escritorio)", + "ZOOM_OUT": "Alejar (solo escritorio)" }, "LANG": { "AR": "عربى", @@ -1555,38 +1834,67 @@ "IT": "Italiano", "JA": "Japonés", "KO": "Coreano", - "LABEL": "Por favor selecciona un idioma", + "LABEL": "Idioma", "NB": "Noruego Bokmål", "NL": "Holandés", "PL": "Polaco", "PT": "Portugués", + "PT_BR": "Portugués (Brasil)", "RU": "Ruso", "SK": "Eslovaco", - "TITLE": "Idioma", + "TITLE": "Localización", "TR": "Turco", - "ZH": "Chino Simplificado", - "ZH_TW": "Chino Tradicional" + "UK": "Ucraniano", + "ZH": "Chino (Simplificado)", + "ZH_TW": "Chino (Tradicional)", + "TIME_LOCALE": "Configuración regional de formato de fecha y hora", + "TIME_LOCALE_DESCRIPTION": "NOTA: ahora estas opciones no pueden cambiar el formato de entrada de hora (12/24 horas) porque está controlado por tu SO", + "TIME_LOCALE_AUTO": "Predeterminado del sistema", + "TIME_LOCALE_EN_US": "Inglés (EE.UU.): 12 horas AM/PM, MM/DD/AAAA", + "TIME_LOCALE_EN_GB": "Inglés (Reino Unido): 24 horas, DD/MM/AAAA", + "TIME_LOCALE_TR_TR": "Turco: 24 horas, DD.MM.AAAA", + "TIME_LOCALE_DE_DE": "Alemán: 24 horas, DD.MM.AAAA", + "TIME_LOCALE_FR_FR": "Francés: 24 horas, DD/MM/AAAA", + "TIME_LOCALE_ES_ES": "Español: 24 horas, DD/MM/AAAA", + "TIME_LOCALE_IT_IT": "Italiano: 24 horas, DD/MM/AAAA", + "TIME_LOCALE_PT_BR": "Portugués (Brasil): 24 horas, DD/MM/AAAA", + "TIME_LOCALE_RU_RU": "Ruso: 24 horas, DD.MM.AAAA", + "TIME_LOCALE_ZH_CN": "Chino (Simplificado): 24 horas, AAAA/MM/DD", + "TIME_LOCALE_JA_JP": "Japonés: 24 horas, AAAA/MM/DD", + "TIME_LOCALE_KO_KR": "Coreano: 12 horas AM/PM, AAAA. MM. DD" }, "MISC": { + "DARK_MODE": "Modo Oscuro", + "DARK_MODE_ARIA_LABEL": "Selección de modo oscuro", + "DARK_MODE_DARK": "Oscuro", + "DARK_MODE_LIGHT": "Claro", + "DARK_MODE_SYSTEM": "Sistema", "DEFAULT_PROJECT": "Proyecto predeterminado a usar para tareas si no se especifica ninguno", + "DEFAULT_START_PAGE": "Página de inicio predeterminada", "FIRST_DAY_OF_WEEK": "Primer día de la semana", - "START_OF_NEXT_DAY": "Hora de inicio del siguiente día", - "START_OF_NEXT_DAY_HINT": "desde cuándo (en hora) quieres contar que ha comenzado el siguiente día. predeterminado es medianoche que es 0.", "HELP": "
¿No ves Notificaciones de Escritorio? Para windows podrías querer comprobar Sistema > Notificaciones y acciones y comprobar si las notificaciones requeridas han sido habilitadas.
", - "IS_AUTO_ADD_WORKED_ON_TO_TODAY": "Añadir automáticamente la etiqueta de hoy a las tareas completadas", + "IS_AUTO_ADD_WORKED_ON_TO_TODAY": "Añadir automáticamente la etiqueta de hoy a las tareas trabajadas", "IS_AUTO_MARK_PARENT_AS_DONE": "Marcar la tarea principal como realizada, cuando se completen todas las subtareas", - "IS_AUTO_START_NEXT_TASK": "Iniciar seguimiento de siguiente tarea al marcar la actual como hecha", "IS_CONFIRM_BEFORE_EXIT": "Confirmar antes de salir de la aplicación", "IS_CONFIRM_BEFORE_EXIT_WITHOUT_FINISH_DAY": "Confirmar antes de salir de la aplicación sin finalizar el día primero", "IS_DARK_MODE": "Modo Oscuro", "IS_DISABLE_ANIMATIONS": "Deshabilitar todas las animaciones", + "IS_DISABLE_CELEBRATION": "Deshabilitar celebración en resumen diario", "IS_HIDE_NAV": "Ocultar navegación hasta que se pase el ratón por el encabezado principal (solo escritorio)", "IS_MINIMIZE_TO_TRAY": "Minimizar a la bandeja (solo escritorio)", - "IS_SHOW_TIP_LONGER": "Mostrar consejo de productividad en la aplicación iniciar un poco más de tiempo", + "IS_OVERLAY_INDICATOR_ENABLED": "Habilitar ventana de indicador de superposición (escritorio linux/gnome)", + "IS_SHOW_TIP_LONGER": "Mostrar consejo de productividad al inicio de la aplicación un poco más de tiempo", "IS_TRAY_SHOW_CURRENT_COUNTDOWN": "Mostrar cuenta regresiva actual en la bandeja / menú de estado (solo mac de escritorio)", - "IS_TRAY_SHOW_CURRENT_TASK": "Mostrar la tarea actual en el menú de bandeja / estado (solo escritorio)", - "IS_TURN_OFF_MARKDOWN": "Desactivar la sintaxis markdown para las notas", + "IS_TRAY_SHOW_CURRENT_TASK": "Mostrar la tarea actual en el menú de bandeja / estado (solo escritorio mac/windows)", + "IS_TURN_OFF_MARKDOWN": "Desactivar análisis de markdown para notas de tarea", + "IS_USE_CUSTOM_WINDOW_TITLE_BAR": "Usar barra de título personalizada (solo Windows/Linux)", + "IS_USE_CUSTOM_WINDOW_TITLE_BAR_HINT": "Requiere reinicio para surtir efecto", + "START_OF_NEXT_DAY": "Hora de inicio del siguiente día", + "START_OF_NEXT_DAY_HINT": "desde cuándo (en hora) quieres contar que ha comenzado el siguiente día. predeterminado es medianoche que es 0.", "TASK_NOTES_TPL": "Plantilla de descripción de tarea", + "THEME": "Tema", + "THEME_EXPERIMENTAL": "Tema (experimental)", + "THEME_SELECT_LABEL": "Seleccionar Tema", "TITLE": "Ajustes Varios" }, "POMODORO": { @@ -1597,32 +1905,34 @@ }, "REMINDER": { "COUNTDOWN_DURATION": "Mostrar banner X antes del recordatorio real", + "DEFAULT_TASK_REMIND_OPTION": "Opción de recordatorio predeterminada seleccionada al crear tareas", "IS_COUNTDOWN_BANNER_ENABLED": "Mostrar banner de cuenta atrás antes del vencimiento de los recordatorios", - "TITLE": "Recordatorios" + "TITLE": "Recordatorios", + "DISABLE_REMINDERS": "Deshabilitar todos los recordatorios" }, "SCHEDULE": { - "HELP": "La función de línea de tiempo debe proporcionarle una descripción general rápida de cómo se desarrollan sus tareas planificadas a lo largo del tiempo. Puede encontrarlo en el menú de la izquierda en \"Cronología\".", - "L_IS_LUNCH_BREAK_ENABLED": "Activar el descanso de la comida", - "L_IS_WORK_START_END_ENABLED": "Limite el flujo de tareas no programadas a tiempos de trabajo específicos", - "L_LUNCH_BREAK_END": "Fin del descanso de la comida", - "L_LUNCH_BREAK_START": "Inicio del descanso de la comida", - "L_WORK_END": "Fin del día laboral", - "L_WORK_START": "Inicio del día laboral", - "LUNCH_BREAK_START_END_DESCRIPTION": "p.ej. 13:00", + "HELP": "La característica de línea de tiempo debería proporcionarte una visión general rápida sobre cómo se desarrollan tus tareas planificadas a lo largo del tiempo. Puedes encontrarla en el menú de la izquierda bajo 'Cronograma'. ", + "L_IS_LUNCH_BREAK_ENABLED": "Habilitar pausa para comer", + "L_IS_WORK_START_END_ENABLED": "Limitar flujo de tareas no programadas a horas de trabajo específicas", + "L_LUNCH_BREAK_END": "Fin pausa comida", + "L_LUNCH_BREAK_START": "Inicio pausa comida", + "L_WORK_END": "Fin del Día de Trabajo", + "L_WORK_START": "Inicio del Día de Trabajo", + "LUNCH_BREAK_START_END_DESCRIPTION": "p. ej. 13:00", "MONTH": "Mes", - "TITLE": "Línea de tiempo", + "TITLE": "Cronograma", "WEEK": "Semana", - "WORK_START_END_DESCRIPTION": "p.ej. 17:00" + "WORK_START_END_DESCRIPTION": "p. ej. 17:00" }, "SHORT_SYNTAX": { - "HELP": "Aquí puede controlar las opciones de sintaxis corta al crear una tarea
", - "IS_ENABLE_DUE": "Habilitar la sintaxis corta debida (@Aquí puedes controlar las opciones de sintaxis corta al crear una tarea
", + "IS_ENABLE_DUE": "Habilitar la sintaxis corta debida (@Te permite configurar un recordatorio recurrente cuando has trabajado durante una cantidad de tiempo especificada sin hacer un descanso.
Puedes modificar el mensaje mostrado. ${duration} será reemplazado con el tiempo dedicado sin un descanso.
Te permite configurar un recordatorio recurrente cuando has trabajado durante una cantidad de tiempo especificada sin hacer un descanso.
Puedes modificar el mensaje mostrado. ${duration} será reemplazado con el tiempo dedicado sin un descanso.
Hem yerel hem de uzak veriler değiştirilmiş gibi görünüyor. Uzaktan güncelleyin.
", + "TIME": "Zaman", "TIMESTAMP": "Zaman Damgası", "TITLE": "Senkronizasyon: Veri Çakışması", "USE_LOCAL": "Local'ı kullan", "USE_REMOTE": "Uzak'ı kullan", - "ADDITIONAL_INFO": "Ek Bilgi", + "VECTOR_CLOCK": "Vektör Saati", + "VECTOR_CLOCK_HEADING": "Vektör Saati", "VECTOR_COMPARISON_CONCURRENT": "Concurrent (True Conflict)", "VECTOR_COMPARISON_EQUAL": "Eşit", "VECTOR_COMPARISON_LOCAL_GREATER": "Lokal > Uzak", - "VECTOR_COMPARISON_LOCAL_LESS": "Lokal < Uzak", - "DATE": "Tarih", - "TIME": "Zaman", - "VECTOR_CLOCK": "Vektör Saati", - "RESULT": "Sonuç", - "CHANGES": "Değişiklikler", - "CHANGES_SINCE_LAST_SYNC": "Son senkronizasyondan bu yana değişiklikler", - "VECTOR_CLOCK_HEADING": "Vektör Saati", - "OVERWRITE_WARNING": "UYARI: {{targetName}} verileri yaklaşık olarak {{targetChanges}} değişiklik içerirken, {{sourceName}} verileri yalnızca {{sourceChanges}} değişikliğe sahiptir. {{targetName}} verisinin üzerine {{sourceName}} verisini yazmak istediğinizden emin misiniz? Bu eylem geri alınamaz." + "VECTOR_COMPARISON_LOCAL_LESS": "Lokal < Uzak" }, "D_DECRYPT_ERROR": { "BTN_OVER_WRITE_REMOTE": "Uzaktan kumandayı değiştirme ve üzerine yazma", @@ -1085,6 +1155,7 @@ "BTN_FORCE_OVERWRITE": "Üzerine Yazmaya Zorla", "ERROR_CORS": "WebDAV Senkronizasyon Hatası: Ağ isteği başarısız oldu.\n\nBu bir CORS sorunu olabilir. Lütfen emin olun:\n• WebDAV sunucunuz Çapraz Kaynak isteklerine izin verir\n• Sunucu URL'si doğru ve erişilebilirdir\n• Çalışan bir internet bağlantınız var", "ERROR_DATA_IS_CURRENTLY_WRITTEN": "Uzak Veri şu anda yazılıyor", + "ERROR_PERMISSION": "Dosya erişimi reddedildi. Flatpak/Snap kullanıyorsanız, Flatseal aracılığıyla dosya sistemi izni verin veya ~/.var/app/ içinde bir yol kullanın", "ERROR_FALLBACK_TO_BACKUP": "Veriler içe aktarılırken bir sorun oluştu. Yerel yedeklemeye geri dönülüyor.", "ERROR_INVALID_DATA": "Senkronizasyon sırasında hata oluştu. Geçersiz veri", "ERROR_NO_REV": "Uzak dosya için geçerli bir rev yok", @@ -1099,38 +1170,38 @@ "UPLOAD_ERROR": "Bilinmeyen Yükleme Hatası (Ayarlar doğru mu?): {{err}}" }, "SAFETY_BACKUP": { - "TITLE": "Senkronizasyon Güvenlik Yedekleri", - "DESCRIPTION": "Uzaktan veri indirme işlemleri sırasında senkronizasyon öncesinde otomatik olarak yedekler oluşturulur. Yedekler 4 akıllı yuvada düzenlenir: 2 en yeni, 1 ilk bugünden ve 1 ilk önce bugünden bir gün önce", - "BTN_CREATE_MANUAL": "Manuel Yedek Oluştur", - "BTN_REFRESH": "Yenile", - "BTN_CLEAR_ALL": "Tümünü Temizle", - "BTN_RESTORE": "Geri Yükle", - "BTN_DELETE": "Sil", - "LOADING": "Yükleniyor...", - "NO_BACKUPS": "Henüz güvenlik yedeği yok. Yedekler senkronizasyon işlemleri öncesinde otomatik olarak oluşturulur.", - "TOOLTIP_CREATE_MANUAL": "Tüm verilerinizin manuel yedeğini oluşturun", - "TOOLTIP_REFRESH": "Yedek listesini yenile", - "TOOLTIP_CLEAR_ALL": "Tüm güvenlik yedeklerini sil", - "TOOLTIP_RESTORE": "Bu yedeği geri yükle (tüm mevcut verileri değiştirecek)", - "TOOLTIP_DELETE": "Bu yedeği sil", - "SLOT_RECENT": "Son yedek", - "SLOT_TODAY": "Bugünün ilk yedeği", - "SLOT_BEFORE_TODAY": "Dünden önceki ilk yedek", - "REASON_MANUAL": "Manuel yedek", - "REASON_BEFORE_UPDATE": "Senkronizasyon öncesi otomatik yedek", - "LAST_CHANGE_PREFIX": "Son değişiklik:", - "RESTORE_CONFIRM_TITLE": "Yedeği Geri Yükle", - "RESTORE_CONFIRM_MSG": "Yedeği {{timestamp}} tarihinden geri yüklemek istediğinizden emin misiniz?\n\nBu işlem TÜM mevcut verilerinizi TAMAMEN DEĞİŞTİRECEK!\n\nSebep: {{reason}}\n\nDevam etmek için Tamam'a, iptal etmek için İptal'e tıklayın.", "BACKUP_NOT_FOUND": "{{backupId}} kimliğine sahip yedek bulunamadı", - "RESTORE_FAILED": "Yedek geri yüklenemedi: {{error}}", - "INVALID_ID_ERROR": "Geçersiz yedek kimliği oluşturuldu", - "CREATED_SUCCESS": "Manuel yedek başarıyla oluşturuldu", - "RESTORED_SUCCESS": "Yedek başarıyla geri yüklendi", - "DELETED_SUCCESS": "Yedek başarıyla silindi", + "BTN_CLEAR_ALL": "Tümünü Temizle", + "BTN_CREATE_MANUAL": "Manuel Yedek Oluştur", + "BTN_DELETE": "Sil", + "BTN_REFRESH": "Yenile", + "BTN_RESTORE": "Geri Yükle", + "CLEAR_FAILED": "Yedekler temizlenemedi", "CLEARED_SUCCESS": "Tüm yedekler başarıyla temizlendi", "CREATE_FAILED": "Yedek oluşturulamadı", + "CREATED_SUCCESS": "Manuel yedek başarıyla oluşturuldu", "DELETE_FAILED": "Yedek silinemedi", - "CLEAR_FAILED": "Yedekler temizlenemedi" + "DELETED_SUCCESS": "Yedek başarıyla silindi", + "DESCRIPTION": "Uzaktan veri indirme işlemleri sırasında senkronizasyon öncesinde otomatik olarak yedekler oluşturulur. Yedekler 4 akıllı yuvada düzenlenir: 2 en yeni, 1 ilk bugünden ve 1 ilk önce bugünden bir gün önce", + "INVALID_ID_ERROR": "Geçersiz yedek kimliği oluşturuldu", + "LAST_CHANGE_PREFIX": "Son değişiklik:", + "LOADING": "Yükleniyor...", + "NO_BACKUPS": "Henüz güvenlik yedeği yok. Yedekler senkronizasyon işlemleri öncesinde otomatik olarak oluşturulur.", + "REASON_BEFORE_UPDATE": "Senkronizasyon öncesi otomatik yedek", + "REASON_MANUAL": "Manuel yedek", + "RESTORE_CONFIRM_MSG": "Yedeği {{timestamp}} tarihinden geri yüklemek istediğinizden emin misiniz?\n\nBu işlem TÜM mevcut verilerinizi TAMAMEN DEĞİŞTİRECEK!\n\nSebep: {{reason}}\n\nDevam etmek için Tamam'a, iptal etmek için İptal'e tıklayın.", + "RESTORE_CONFIRM_TITLE": "Yedeği Geri Yükle", + "RESTORE_FAILED": "Yedek geri yüklenemedi: {{error}}", + "RESTORED_SUCCESS": "Yedek başarıyla geri yüklendi", + "SLOT_BEFORE_TODAY": "Dünden önceki ilk yedek", + "SLOT_RECENT": "Son yedek", + "SLOT_TODAY": "Bugünün ilk yedeği", + "TITLE": "Senkronizasyon Güvenlik Yedekleri", + "TOOLTIP_CLEAR_ALL": "Tüm güvenlik yedeklerini sil", + "TOOLTIP_CREATE_MANUAL": "Tüm verilerinizin manuel yedeğini oluşturun", + "TOOLTIP_DELETE": "Bu yedeği sil", + "TOOLTIP_REFRESH": "Yedek listesini yenile", + "TOOLTIP_RESTORE": "Bu yedeği geri yükle (tüm mevcut verileri değiştirecek)" } }, "TAG": { @@ -1159,6 +1230,24 @@ "ADD_NEW_TAG": "Yeni Etiket Ekle" } }, + "TAG_FOLDER": { + "CONFIRM_DELETE": "\"{{title}}\" adlı klasörü silmek istediğinizden emin misiniz? Bu klasördeki tüm etiketler kök düzeye taşınacaktır.", + "DIALOG": { + "CREATE_TITLE": "Klasör oluştur", + "EDIT_TITLE": "Klasörü düzenle", + "NAME_LABEL": "Klasör adı", + "NAME_PLACEHOLDER": "Klasör adını girin", + "NAME_REQUIRED": "Klasör adı gereklidir", + "NO_PARENT": "Ana klasör yok (kök düzey)", + "PARENT_LABEL": "Ana klasör" + }, + "SELECT": { + "LABEL": "Klasör", + "NO_PARENT": "Klasör yok (kök düzey)", + "PLACEHOLDER": "Klasör seçin" + }, + "TOOLTIP_CREATE": "Etiket klasörü oluştur" + }, "TASK": { "ADD_TASK_BAR": { "ADD_EXISTING_TASK": "Mevcut \"{{taskTitle}}\" görevini ekle", @@ -1167,32 +1256,32 @@ "ADD_TASK_TO_BOTTOM_OF_TODAY": "Listenin en altına görev ekle", "ADD_TASK_TO_TOP_OF_BACKLOG": "Biriktirme listesinin en üstüne görev ekle", "ADD_TASK_TO_TOP_OF_TODAY": "Listenin başına görev ekle", + "CREATE_NEW_TAGS": "Yeni etiketler oluştur", "CREATE_TASK": "Yeni görev oluştur", - "EXAMPLE": "Örnek: \"Bir görev başlığı @friday 4pm +projeAdı #bir etiket #başka bir etiket 10m/3h\"", - "START": "Başlamak için bir kez daha enter tuşuna basın", - "TOGGLE_ADD_TO_BACKLOG_TODAY": "Görevi biriktirme listesine/bugünün listesine eklemeyi aç/kapat'", - "TOGGLE_ADD_TOP_OR_BOTTOM": "Görev eklemeyi listenin en üstüne ve en altına değiştir", - "PLACEHOLDER_SEARCH": "Mevcut görev veya sorunları ekle...", - "PLACEHOLDER_CREATE": "Bir görev başlığı #etiket @16:00", - "TOOLTIP_ADD_TASK": "Görev ekle", - "TOOLTIP_ADD_TO_TOP": "En üste ekle (Ctrl+1)", - "TOOLTIP_ADD_TO_BOTTOM": "En alta ekle (Ctrl+1)", - "TOOLTIP_ADD_TO_TODAY": "Bugüne ekle", - "TOOLTIP_ADD_TO_BACKLOG": "Biriktirme listesine ekle", - "TOOLTIP_ENABLE_SEARCH": "Sorun aramayı etkinleştir (Ctrl+2)", - "TOOLTIP_DISABLE_SEARCH": "Sorun aramayı devre dışı bırak (Ctrl+2)", - "SEARCH_INFO_TEXT": "Arşivden ve diğer projelerden sorunları ve görevleri arayın ve ekleyin", "DUE_BUTTON": "Son Tarih", - "TAGS_BUTTON": "Etiketler", "ESTIMATE_BUTTON": "Tahmin", - "TOOLTIP_CLEAR_DATE": "Tarihi temizle", - "TOOLTIP_CLEAR_TAGS": "Etiketleri temizle", - "TOOLTIP_CLEAR_ESTIMATE": "Tahmini temizle", + "EXAMPLE": "Örnek: \"Bir görev başlığı @friday 4pm +projeAdı #bir etiket #başka bir etiket 10m/3h\"", "NO_DATE": "Tarih Yok", "NO_TIME": "Zaman Yok", + "PLACEHOLDER_CREATE": "Bir görev başlığı #etiket @16:00", + "PLACEHOLDER_SEARCH": "Mevcut görev veya sorunları ekle...", + "SEARCH_INFO_TEXT": "Arşivden ve diğer projelerden sorunları ve görevleri arayın ve ekleyin", + "START": "Başlamak için bir kez daha enter tuşuna basın", + "TAGS_BUTTON": "Etiketler", "TODAY": "Bugün", + "TOGGLE_ADD_TO_BACKLOG_TODAY": "Görevi biriktirme listesine/bugünün listesine eklemeyi aç/kapat'", + "TOGGLE_ADD_TOP_OR_BOTTOM": "Görev eklemeyi listenin en üstüne ve en altına değiştir", "TOMORROW": "Yarın", - "CREATE_NEW_TAGS": "Yeni etiketler oluştur" + "TOOLTIP_ADD_TASK": "Görev ekle", + "TOOLTIP_ADD_TO_BACKLOG": "Biriktirme listesine ekle", + "TOOLTIP_ADD_TO_BOTTOM": "En alta ekle (Ctrl+1)", + "TOOLTIP_ADD_TO_TODAY": "Bugüne ekle", + "TOOLTIP_ADD_TO_TOP": "En üste ekle (Ctrl+1)", + "TOOLTIP_CLEAR_DATE": "Tarihi temizle", + "TOOLTIP_CLEAR_ESTIMATE": "Tahmini temizle", + "TOOLTIP_CLEAR_TAGS": "Etiketleri temizle", + "TOOLTIP_DISABLE_SEARCH": "Sorun aramayı devre dışı bırak (Ctrl+2)", + "TOOLTIP_ENABLE_SEARCH": "Sorun aramayı etkinleştir (Ctrl+2)" }, "ADDITIONAL_INFO": { "ADD_ATTACHMENT": "Eklenti ekle", @@ -1263,6 +1352,8 @@ "ADD_TO_TODAY": "Bugüne ekle", "COMPLETE": "Tamamla", "COMPLETE_ALL": "Tümünü tamamla", + "DISMISS_ALL_REMINDERS_KEEP_TODAY": "Tüm Hatırlatıcıları Kapat (Bugün de Kalsın)", + "DISMISS_REMINDER_KEEP_TODAY": "Hatırlatıcıyı Kapat (Bugün de Kalsın)", "DONE": "Bitti", "DUE_TASK": "Yapılacak görev", "DUE_TASKS": "Yapılacak görevler", @@ -1277,9 +1368,7 @@ "START": "Başla", "SWITCH_CONTEXT_START": "Kaynak Değiştir ve Başlat", "UNSCHEDULE": "Programı Kaldır", - "UNSCHEDULE_ALL": "Tümünü planlamayı kaldır", - "DISMISS_REMINDER_KEEP_TODAY": "Hatırlatıcıyı Kapat (Bugün de Kalsın)", - "DISMISS_ALL_REMINDERS_KEEP_TODAY": "Tüm Hatırlatıcıları Kapat (Bugün de Kalsın)" + "UNSCHEDULE_ALL": "Tümünü planlamayı kaldır" }, "D_SCHEDULE_TASK": { "MOVE_TO_BACKLOG": "Zamanlanana kadar görevi biriktirme günlüğüne kaydet", @@ -1299,6 +1388,11 @@ "SCHEDULE": "Planla", "UNSCHEDULE": "Planlamayı iptal et" }, + "D_SELECT_DATE_AND_TIME": { + "DATE": "Tarih", + "TIME": "Saat", + "TITLE": "Tarih ve Saat Seç" + }, "D_TIME": { "ADD_FOR_OTHER_DAY": "Diğer gün için harcanan zamanı ekle", "DELETE_FOR": "Günün girişini sil", @@ -1326,6 +1420,7 @@ "FOUND_MOVE_FROM_BACKLOG": " {{title}} görevini bugünkü görev listesine taşıdı", "FOUND_MOVE_FROM_OTHER_LIST": " {{contextTitle}} 'den geçerli listeye {{title}} görevi eklendi", "FOUND_RESTORE_FROM_ARCHIVE": "Arşivdeki sorunla ilgili {{title} görevi geri yüklendi", + "GO_TO_TASK": "Göreve Git", "LAST_TAG_DELETION_WARNING": "Proje dışı bir görevin son etiketini kaldırmaya çalışıyorsunuz. Buna izin verilmiyor!", "MOVED_TO_ARCHIVE": " {{nr}} görevler arşive taşındı", "MOVED_TO_PROJECT": "\"{{taskTitle}}\" görevini \"{{projectTitle}}\" projesine taşıdı", @@ -1375,15 +1470,15 @@ "MSG": "Tekrar yapılandırmasının kaldırılması, bu görevin önceki tüm örneklerini yalnızca normal görevlere dönüştürecektir. Devam etmek istediğinizden emin misiniz?", "OK": "Tamamen kaldır" }, - "D_DELETE_INSTANCE": { - "MSG": "Tekrarlanan görevin {{date}} tarihindeki örneğini kaldırmak istiyor musunuz? Bu yalnızca görevin bu tarihte oluşturulmasını engelleyecektir.", - "OK": "Örneği Kaldır" - }, "D_CONFIRM_UPDATE_INSTANCES": { "CANCEL": "Yalnızca gelecekteki görevler", "MSG": "Bu tekrarlanabilir görev için oluşturulmuş {{tasksNr}} örnek var. Hepsini yeni varsayılanlarla mı yoksa yalnızca gelecekteki görevlerle mi güncellemek istiyorsunuz?", "OK": "Tüm örnekleri güncelle" }, + "D_DELETE_INSTANCE": { + "MSG": "Tekrarlanan görevin {{date}} tarihindeki örneğini kaldırmak istiyor musunuz? Bu yalnızca görevin bu tarihte oluşturulmasını engelleyecektir.", + "OK": "Örneği Kaldır" + }, "D_EDIT": { "ADD": "Tekrar Görev Yapısı Ekle", "ADVANCED_CFG": "Gelişmiş Yapılandırma", @@ -1400,7 +1495,11 @@ "C_WEEK": "Hafta", "C_YEAR": "Yıl", "DEFAULT_ESTIMATE": "Varsayılan Tahmini", + "DISABLE_AUTO_UPDATE_SUBTASKS": "Alt görevlerin otomatik güncellenmesini devre dışı bırak", + "DISABLE_AUTO_UPDATE_SUBTASKS_DESCRIPTION": "En yeni örnek değiştiğinde devralınan alt görevleri otomatik olarak güncelleme", "FRIDAY": "Cuma", + "INHERIT_SUBTASKS": "Alt görevleri devral", + "INHERIT_SUBTASKS_DESCRIPTION": "Etkinleştirildiğinde, en son görev örneğindeki alt görevler tekrarlayan görevle birlikte yeniden oluşturulur", "IS_ADD_TO_BOTTOM": "Görevi listenin altına taşı", "MONDAY": "Pazartesi", "NOTES": "Varsayılan notlar", @@ -1415,9 +1514,16 @@ "QUICK_SETTING": "Yapılandırmayı Tekrarla", "REMIND_AT": "Şu saatte hatırlat:", "REMIND_AT_PLACEHOLDER": "Ne zaman hatırlatılacağını seçin", + "REMOVE_FOR_DATE": "{{date}} için kaldır", + "REMOVE_INSTANCE": "Bugünkü örneği kaldır", "REPEAT_CYCLE": "Döngüyü tekrarla", "REPEAT_EVERY": "Yinelenme sıklığı", + "REPEAT_FROM_COMPLETION_DATE": "Tamamlandığında tekrarla", + "REPEAT_FROM_COMPLETION_DATE_DESCRIPTION": "Bir sonraki görev, başlangıç tarihinden değil, tamamlanma tarihinizden oluşturulur. (örneğin, 'Her 7 günde bir' = tamamlandıktan 7 gün sonra)", "SATURDAY": "Cumartesi", + "SCHEDULE_TYPE_FIXED": "Sabit Planlama (örn. her Pazartesi, ayın 1'i)", + "SCHEDULE_TYPE_FLEXIBLE": "Tamamlandıktan sonra (örn. bitirdikten 7 gün sonra)", + "SCHEDULE_TYPE_LABEL": "Planlama Türü", "START_DATE": "Başlangıç tarihi", "START_TIME": "Planlanan başlangıç zamanı", "START_TIME_DESCRIPTION": "Örneğin. 15:00. Tüm gün süren bir görev için boş bırakın", @@ -1425,13 +1531,7 @@ "THURSDAY": "Perşembe", "TITLE": "Görevin Başlığı", "TUESDAY": "Salı", - "WEDNESDAY": "Çarşamba", - "INHERIT_SUBTASKS": "Alt görevleri devral", - "INHERIT_SUBTASKS_DESCRIPTION": "Etkinleştirildiğinde, en son görev örneğindeki alt görevler tekrarlayan görevle birlikte yeniden oluşturulur", - "REMOVE_INSTANCE": "Bugünkü örneği kaldır", - "REMOVE_FOR_DATE": "{{date}} için kaldır", - "DISABLE_AUTO_UPDATE_SUBTASKS": "Alt görevlerin otomatik güncellenmesini devre dışı bırak", - "DISABLE_AUTO_UPDATE_SUBTASKS_DESCRIPTION": "En yeni örnek değiştiğinde devralınan alt görevleri otomatik olarak güncelleme" + "WEDNESDAY": "Çarşamba" } }, "TASK_VIEW": { @@ -1458,11 +1558,12 @@ "SCHEDULED_THIS_WEEK": "Bu hafta", "SCHEDULED_TODAY": "Bugün", "SCHEDULED_TOMORROW": "Yarın", - "SORT_BY": "Sırala", "SORT_CREATION_DATE": "Oluşturma Tarihi", "SORT_DEFAULT": "Varsayılan", "SORT_NAME": "Ad", + "SORT_PERMANENT": "Sırala (kalıcı)", "SORT_SCHEDULED_DATE": "Planlanan Tarih", + "SORT_TEMPORARY": "Sırala (geçici)", "TIME_1HOUR": "> 1 Saat", "TIME_2HOUR": "> 2 Saat", "TIME_10MIN": "> 10 Dakika", @@ -1496,7 +1597,9 @@ "SKIP": "Atla", "SPLIT_TIME": "Zamanı çoklu görevlere ve molalara bölün", "TASK": "Görev", - "TRACK_TO": "Takip et:" + "TRACK_TO": "Takip et:", + "WARN_SIMPLE_COUNTER": "Etkinleştirilen basit sayaç düğmelerinde zaman sayılacaktır.", + "WARN_SIMPLE_COUNTER_BREAK": "Etkinleştirilen basit sayaç düğmelerinde zaman yine de sayılacaktır." }, "D_TRACKING_REMINDER": { "CREATE_AND_TRACK": "Oluşturun ve takip edin", @@ -1559,6 +1662,7 @@ }, "WEEK": { "EXPORT": "Haftalık veriyi dışa aktar", + "FOCUS_SUMMARY": "Odaklanma Oturumu (sayı / saat)", "NO_DATA": "Henüz bu haftanın görevleri yok.", "TITLE": "Başlık" } @@ -1652,7 +1756,11 @@ "FOCUS_MODE": { "HELP": "Odak Modu, mevcut görevinize odaklanmanıza yardımcı olmak için dikkatinizi dağıtmayan bir ekran açar.", "L_ALWAYS_OPEN_FOCUS_MODE": "İzleme sırasında her zaman odak modunu açın", + "L_SYNC_SESSION_WITH_TRACKING": "Odak oturumunu zaman takibi ile senkronize et", + "L_IS_PLAY_TICK": "Odak oturumları sırasında tıklama sesi çal", + "L_PAUSE_TRACKING_DURING_BREAK": "Molalar sırasında görev takibini duraklat", "L_SKIP_PREPARATION_SCREEN": "Hazırlık ekranını atlayın (esnetme vb.)", + "L_START_IN_BACKGROUND": "Odak oturumlarını yalnızca kapak ile başlat (kaplama yok)", "TITLE": "Odak modu" }, "IDLE": { @@ -1668,6 +1776,7 @@ }, "KEYBOARD": { "ADD_NEW_NOTE": "Yeni not ekle", + "ADD_NEW_PROJECT": "Yeni Proje ekle", "ADD_NEW_TASK": "Yeni Görev ekle", "APP_WIDE_SHORTCUTS": "Genel Kısayollar (uygulama genelinde)", "COLLAPSE_SUB_TASKS": "Alt Görevleri Daralt", @@ -1690,6 +1799,7 @@ "MOVE_TO_BACKLOG": "Görevi biriktirme listesine taşı", "MOVE_TO_REGULARS_TASKS": "Görevi Bugünün Görev Listesine Taşı", "OPEN_PROJECT_NOTES": "Proje Notlarını Göster / Gizle", + "PLUGIN_SHORTCUTS": "Eklenti Kısayolları", "SAVE_NOTE": "Notu kaydet", "SELECT_NEXT_TASK": "Sonraki görevi seç", "SELECT_PREVIOUS_TASK": "Önceki Görevi Seç", @@ -1719,8 +1829,7 @@ "TRIGGER_SYNC": "Senkronizasyonu tetikle (yapılandırılmışsa)", "ZOOM_DEFAULT": "Varsayılan yakınlaştırma (Yalnızca masaüstü)", "ZOOM_IN": "Yakınlaştır (Yalnızca masaüstü)", - "ZOOM_OUT": "Uzaklaştır (Yalnızca masaüstü)", - "PLUGIN_SHORTCUTS": "Eklenti Kısayolları" + "ZOOM_OUT": "Uzaklaştır (Yalnızca masaüstü)" }, "LANG": { "AR": "عربى", @@ -1740,6 +1849,7 @@ "NL": "Nederlands", "PL": "Polish", "PT": "Português", + "PT_BR": "Português (Brazil)", "RU": "Russian", "SK": "Slovak", "TITLE": "Dil", @@ -1750,21 +1860,27 @@ "TIME_LOCALE": "Zaman formatı yerel ayarı", "TIME_LOCALE_DESCRIPTION": "Zaman formatı için bir yerel ayar seçin. Farklı yerel ayarlar farklı gelenekler kullanır (12sa vs 24sa formatı)", "TIME_LOCALE_AUTO": "Sistem varsayılanı", - "TIME_LOCALE_EN_US": "İngiliz (ABD) - 12-saat AM/PM", - "TIME_LOCALE_EN_GB": "İngiliz (İngiltere) - 24-saat", - "TIME_LOCALE_TR_TR": "Türk - 24-saat", - "TIME_LOCALE_DE_DE": "Alman - 24-saat", - "TIME_LOCALE_FR_FR": "Fransız - 24-saat", - "TIME_LOCALE_ES_ES": "İspanyol - 24-saat", - "TIME_LOCALE_IT_IT": "İtalyan - 24-saat", - "TIME_LOCALE_PT_BR": "Portekiz (Brezilya) - 24-saat", - "TIME_LOCALE_RU_RU": "Rus - 24-saat", - "TIME_LOCALE_ZH_CN": "Çin (Basit) - 24-saat", - "TIME_LOCALE_JA_JP": "Japon - 24-saat", - "TIME_LOCALE_KO_KR": "Kore - 12-saat AM/PM" + "TIME_LOCALE_EN_US": "English (US): 12-saat AM/PM, MM/DD/YYYY", + "TIME_LOCALE_EN_GB": "English (UK): 24-saat, DD/MM/YYYY", + "TIME_LOCALE_TR_TR": "Türk: 24-saat, DD.MM.YYYY", + "TIME_LOCALE_DE_DE": "German: 24-saat, DD.MM.YYYY", + "TIME_LOCALE_FR_FR": "French: 24-saat, DD/MM/YYYY", + "TIME_LOCALE_ES_ES": "Spanish: 24-saat, DD/MM/YYYY", + "TIME_LOCALE_IT_IT": "Italian: 24-saat, DD/MM/YYYY", + "TIME_LOCALE_PT_BR": "Portuguese (Brazil): 24-saat, DD/MM/YYYY", + "TIME_LOCALE_RU_RU": "Russian: 24-saat, DD.MM.YYYY", + "TIME_LOCALE_ZH_CN": "Chinese (Simplified): 24-saat, YYYY/MM/DD", + "TIME_LOCALE_JA_JP": "Japanese: 24-saat, YYYY/MM/DD", + "TIME_LOCALE_KO_KR": "Korean: 12-saat AM/PM, YYYY. MM. DD" }, "MISC": { + "DARK_MODE": "Karanlık Mod", + "DARK_MODE_ARIA_LABEL": "Karanlık mod seçimi", + "DARK_MODE_DARK": "Karanlık", + "DARK_MODE_LIGHT": "Aydınlık", + "DARK_MODE_SYSTEM": "Sistem", "DEFAULT_PROJECT": "Proje belirtilmezse görevler için kullanılacak varsayılan proje", + "DEFAULT_START_PAGE": "Varsayılan başlangıç sayfası", "FIRST_DAY_OF_WEEK": "Haftanın ilk günü", "HELP": "Masaüstü Bildirimleri'ni göremiyor musunuz? Pencereler için Sistem> Bildirimler ve eylemleri kontrol etmek ve gerekli bildirimlerin etkin olup olmadığını kontrol etmek isteyebilirsiniz.
", "IS_AUTO_ADD_WORKED_ON_TO_TODAY": "Çalışılan görevlere bugün etiketini otomatik olarak ekle", @@ -1776,25 +1892,20 @@ "IS_DISABLE_CELEBRATION": "Günlük özet kutlamasını devre dışı bırak", "IS_HIDE_NAV": "Ana başlık yönlendirilene kadar gezinmeyi gizle (yalnızca masaüstü)", "IS_MINIMIZE_TO_TRAY": "Tepsiye küçült (yalnızca masaüstü)", + "IS_OVERLAY_INDICATOR_ENABLED": "Panel gösterge penceresini etkinleştir (masaüstü linux/gnome)", "IS_SHOW_TIP_LONGER": "Uygulamada üretkenlik ipucunu biraz daha uzun süre başlatın", "IS_TRAY_SHOW_CURRENT_COUNTDOWN": "Mevcut geri sayımı tepsi / durum menüsünde göster (sadece masaüstü mac için)", "IS_TRAY_SHOW_CURRENT_TASK": "Mevcut görevi tepsi / Durum menüsünde göster (yalnızca masaüstü)", - "IS_OVERLAY_INDICATOR_ENABLED": "Panel gösterge penceresini etkinleştir (masaüstü linux/gnome)", "IS_TURN_OFF_MARKDOWN": "Notlar için etiketleme ayrıştırmayı kapatın", - "USER_PROFILES": "Kullanıcı profillerini etkinleştir (Beta)", - "USER_PROFILES_HINT": "Her biri ayrı ayarlar, görevler ve senkronizasyon yapılandırmalarına sahip farklı kullanıcı profilleri oluşturmanıza ve aralarında geçiş yapmanıza olanak tanır. Etkinleştirildiğinde profil yönetimi düğmesi sağ üst köşede görünecektir. Not: Bu özelliği devre dışı bırakmak kullanıcı arayüzünü gizler ancak profil verilerinizi korur (Beta özelliği, garanti yok. Yedeğiniz olduğundan emin olun).", + "IS_USE_CUSTOM_WINDOW_TITLE_BAR": "Özel başlık çubuğunu kullan (Windows/Linux için)", + "IS_USE_CUSTOM_WINDOW_TITLE_BAR_HINT": "Etkin olması için yeniden başlatma gerektirir", "START_OF_NEXT_DAY": "Ertesi günün başlama saati", "START_OF_NEXT_DAY_HINT": "Ertesi günün başladığı saati saymak istediğiniz andan itibaren (saat cinsinden). Varsayılan gece yarısıdır, yani 0'dır.", "TASK_NOTES_TPL": "Görev açıklama şablonu", - "TITLE": "Diğer ayarlar", - "DARK_MODE": "Karanlık Mod", - "DARK_MODE_SYSTEM": "Sistem", - "DARK_MODE_DARK": "Karanlık", - "DARK_MODE_LIGHT": "Aydınlık", - "DARK_MODE_ARIA_LABEL": "Karanlık mod seçimi", "THEME": "Tema", "THEME_EXPERIMENTAL": "Tema (Deneysel)", - "THEME_SELECT_LABEL": "Tema seç" + "THEME_SELECT_LABEL": "Tema seç", + "TITLE": "Diğer ayarlar" }, "POMODORO": { "BREAK_DURATION": "Kısa molaların süresi", @@ -1804,8 +1915,10 @@ }, "REMINDER": { "COUNTDOWN_DURATION": "Gerçek hatırlatıcıdan önce X başlığını göster", + "DEFAULT_TASK_REMIND_OPTION": "Görev oluştururken varsayılan hatırlatma seçeneği", "IS_COUNTDOWN_BANNER_ENABLED": "Hatırlatıcıların son teslim tarihinden önce geri sayım afişini göster", - "TITLE": "Hatırlatıcılar" + "TITLE": "Hatırlatıcılar", + "DISABLE_REMINDERS": "Tüm hatırlatıcıları devre dışı bırak" }, "SCHEDULE": { "HELP": "Zaman çizelgesi özelliği, planlanan görevlerinizin zaman içinde nasıl oynandığına dair size hızlı bir genel bakış sağlamalıdır. Bunu sol taraftaki menüde \"Zaman çizelgesi\"altında bulabilirsiniz.", @@ -1816,10 +1929,10 @@ "L_WORK_END": "İş Günü Sonu", "L_WORK_START": "İş Günü Başlangıcı", "LUNCH_BREAK_START_END_DESCRIPTION": "örn. 13:00", + "MONTH": "Ay", "TITLE": "Zaman çizelgesi", - "WORK_START_END_DESCRIPTION": "örn. 17:00", "WEEK": "Hafta", - "MONTH": "Ay" + "WORK_START_END_DESCRIPTION": "örn. 17:00" }, "SHORT_SYNTAX": { "HELP": "Görev oluştururken kısa sözdizimi seçeneklerini buradan kontrol edebilirsiniz
", @@ -1864,6 +1977,22 @@ "L_TRACKING_INTERVAL": "Zaman izleme aralığı (DENEYSEL)", "L_TRACKING_REMINDER_MIN_TIME": "Banner göstermeden önce bekleme süresi", "TITLE": "Zaman İzleyici" + }, + "APP_FEATURES": { + "HELP": "Kullanıcı arayüzü genelinde belirli uygulama özelliklerini etkinleştirin veya devre dışı bırakın.", + "TITLE": "Uygulama Özellikleri", + "TIME_TRACKING": "Kronometre Zaman İzleme", + "FOCUS_MODE": "Odak Modu", + "SCHEDULE": "Takvim", + "PLANNER": "Planlayıcı", + "BOARDS": "Panolar", + "SCHEDULE_DAY_PANEL": "Takvim Gün Paneli", + "ISSUES_PANEL": "Sorunlar Paneli", + "PROJECT_NOTES": "Proje Notları", + "SYNC_BUTTON": "Senkronizasyon Düğmesi", + "DONATE_PAGE": "Bağış Sayfası", + "USER_PROFILES": "Kullanıcı profilleri (Deneysel)", + "USER_PROFILES_HINT": "Farklı kullanıcı profilleri oluşturmanıza ve bunlar arasında geçiş yapmanıza olanak tanır, her biri ayrı ayarlar, görevler ve senkronizasyon yapılandırmalarına sahip. Etkinleştirildiğinde profil yönetimi düğmesi sağ üst köşede görünecektir. Not: Bu özelliği devre dışı bırakmak UI'yi gizleyecek ancak profil verilerinizi koruyacaktır (Deneysel özellik, garanti verilmez. Yedek aldığınızdan emin olun)." } }, "GLOBAL_RELATIVE_TIME": { @@ -1896,14 +2025,25 @@ }, "GLOBAL_SNACK": { "COPY_TO_CLIPPBOARD": "Panoya kopyalandı", + "DUPLICATE_PROJECT_ERROR": "Proje çoğaltılamadı", + "DUPLICATE_PROJECT_SUCCESS": "Proje başarıyla çoğaltıldı", "ERR_COMPRESSION": "Sıkıştırma arayüzü için hata", "FILE_DOWNLOADED": "{{fileName}} indirildi", "FILE_DOWNLOADED_BTN": "Açılan dosya", "NAVIGATE_TO_TASK_ERR": "Göreve odaklanılamadı. Sildiniz mi?", + "NO_TASKS_TO_COPY": "Kopyalanacak görev yok", + "NO_TASKS_TO_UNPLAN": "Planlaması kaldırılacak görev yok", "PERSISTENCE_DISALLOWED": "Veri kalıcı olarak sürdürülmeyecek. Bunun veri kaybına neden olabileceğini unutmayın!", "PERSISTENCE_ERROR": "Verilerin kalıcı hale getirilmesi istenirken hata oluştu: {{err}}", "RUNNING_X": "\"{{str}}\" çalıştırılıyor.", - "SHORTCUT_WARN_OPEN_BOOKMARKS_FROM_TAG": "{{keyCombo}} basıldı, ancak yer imlerini aç kısayolu yalnızca proje bağlamındayken kullanılabilir." + "SHARE_FAILED": "Paylaşım başarısız. Lütfen manuel olarak kopyalayın.", + "SHARE_FAILED_FALLBACK": "Paylaşım başarısız. Bunun yerine panoya kopyalandı.", + "SHARE_UNAVAILABLE_FALLBACK": "Panoya kopyalandı.", + "SHORTCUT_WARN_OPEN_BOOKMARKS_FROM_TAG": "{{keyCombo}} basıldı, ancak yer imlerini aç kısayolu yalnızca proje bağlamındayken kullanılabilir.", + "UNPLANNED_TODAY_TASKS": "Bugünden tüm görevlerin planlaması kaldırıldı" + }, + "GLOBAL": { + "COPY_SUFFIX": " (kopyala)" }, "GPB": { "ASSETS": "Varlıklar yükleniyor ...", @@ -1922,10 +2062,13 @@ "ADD_NEW_TASK": "Yeni Görev ekle", "ALL_PLANNED_LIST": "Tekrar/Planlanmış", "BOARDS": "Panolar", + "COPY_TASK_LIST_MARKDOWN": "Panoya Kopyala", "CREATE_PROJECT": "Proje Yarat", + "DUPLICATE_PROJECT": "Çoğalt", "CREATE_TAG": "Etiket Oluştur", "DELETE_PROJECT": "Projeyi Sil", "DELETE_TAG": "Etiketi Sil", + "DONATE": "Bize Destek Ol", "ENTER_FOCUS_MODE": "Odak Moduna Geç", "GO_TO_TASK_LIST": "Görev listesine git", "HELP": "Yardım", @@ -1953,7 +2096,9 @@ "SCHEDULE": "Takvim", "SEARCH": "Arama", "SETTINGS": "Ayarlar", + "SHARE_TASK_LIST_MARKDOWN": "Görev Listesini Paylaş", "SHOW_SEARCH_BAR": "Arama çubuğunu göster", + "SIDE_PANEL_MENU": "Yan Panel Menüsü", "TAGS": "Etiketler", "TASK_LIST": "Görev listesi", "TASKS": "Görevler", @@ -1962,8 +2107,8 @@ "TOGGLE_SHOW_NOTES": "Proje Notlarını Göster / Gizle", "TOGGLE_TRACK_TIME": "Başlat / Durdur takip süresi", "TRIGGER_SYNC": "Senkronizasyonu manuel olarak tetikle", - "WORKLOG": "Görev günlüğü", - "SIDE_PANEL_MENU": "Yan Panel Menüsü" + "UNPLAN_ALL_TASKS": "Tüm görevlerin plandan kaldır", + "WORKLOG": "Görev günlüğü" }, "MIGRATE": { "C_DOWNLOAD_BACKUP": "Eski verilerinizin bir yedeğini indirmek istiyor musunuz (Süper Üretkenlik'in eski sürümleriyle kullanılabilir)?", @@ -1974,6 +2119,10 @@ }, "PDS": { "ADD_TASKS_FROM_TODAY": "Bugünden itibaren görev ekleme", + "ARCHIVED_TASKS": { + "PLURAL": "{{count}} tamamlanmış ana görevler arşivlendi", + "SINGULAR": "{{count}} tamamlanmış ana görev arşivlendi" + }, "BREAK_LABEL": "Molalar (saat / saat)", "CELEBRATE": "Kutlamak için bir dakikanızı ayırın!", "CLEAR_ALL_CONTINUE": "Hepsini temizle ve devam et", @@ -1985,6 +2134,8 @@ "ESTIMATE_TOTAL": "Toplam tahmin:", "EVALUATE_DAY": "Değerlendir", "EXPORT_TASK_LIST": "Görev Listesini Dışa Aktar", + "END_OF_DAYS_RITUALS_PLACEHOLDER": "Günün son ritüellerinizi yazmak için bu alanı kullanabilirsiniz, hatırlatılmasını istediğiniz.", + "FOCUS_SUMMARY": "Odak Oturumları", "NO_TASKS": "Bugün için görev yok", "PLAN_TOMORROW": "Plan", "REVIEW_TASKS": "İnceleme", @@ -2007,6 +2158,106 @@ "TIME_SPENT_TODAY_BY_TAG": "Etikete Göre Bugün Harcanan Zaman", "WEEK": "Hafta" }, + "PLUGINS": { + "ACTION_TYPE_NOT_ALLOWED": "'{{type}}' işlem türüne izin verilmiyor", + "ALREADY_INITIALIZED": "Eklenti zaten başlatıldı", + "CANCEL": "İptal", + "CAPABILITIES": { + "ACCESS_FILES": "Sisteminizdeki dosyalara erişme ve değiştirme", + "RUN_COMMANDS": "Sistem komutlarını çalıştırma", + "USE_NODE_APIS": "Node.js API'lerini ve modüllerini kullanma" + }, + "CHOOSE_PLUGIN_FILE": "Eklenti Dosyası Seç", + "CLEAR_PLUGIN_CACHE": "Eklenti Önbelleğini Temizle", + "CODE_TOO_LARGE": "Eklenti kodu çok büyük (maksimum {{maxSize}}MB)", + "CONFIGURATION": "Konfigürasyon", + "CONFIGURE": "Yapılandır", + "CONFIRM_REMOVE": "\"{{name}}\" eklentisini kaldırmak istediğinize emin misiniz?", + "DISABLED": "Devre Dışı", + "ELECTRON_API_NOT_AVAILABLE": "Electron API'si kullanılamıyor", + "ENABLED": "Etkin", + "ERROR": "Hata", + "ERROR_LOADING_PLUGIN": "Eklenti yüklenirken hata oluştu", + "EXPERIMENTAL_WARNING": "Eklenti sistemi deneysel aşamadadır ve son derece dikkatli kullanılmalıdır.", + "EXPERIMENTAL_WARNING_TITLE": "Deneysel Özellik - Güvenlik Uyarısı", + "FAILED_TO_CLEAR_CACHE": "Eklenti önbelleği temizlenemedi", + "FAILED_TO_EXECUTE_SCRIPT": "Node.js betiği çalıştırılamadı", + "FAILED_TO_EXTRACT_ZIP": "Eklenti ZIP dosyası çıkarılamadı", + "FAILED_TO_INSTALL": "Eklenti yüklenemedi", + "FAILED_TO_LOAD": "Eklenti yüklenemedi", + "FAILED_TO_LOAD_CONFIG": "Eklenti yapılandırması yüklenemedi", + "FAILED_TO_REMOVE": "Eklenti kaldırılamadı", + "FAILED_TO_SAVE_CONFIG": "Eklenti yapılandırması kaydedilemedi", + "FILE_TOO_LARGE": "Dosya çok büyük ({{fileSize}}MB). Maksimum boyut {{maxSize}}MB", + "GO_BACK": "Geri Dön", + "GRANT_PERMISSION": "İzin Ver", + "HOOKS": "Kancalar", + "ID": "Kimlik:", + "INDEX_HTML_NOT_LOADED": "Eklenti index.html yüklenemedi", + "INSTALL_PLUGIN": "Eklenti Yükle", + "INSTALL_WARNING": "Bir eklenti yüklemeden önce, kaynağına güvendiğinizden ve talep ettiği izinleri anladığınızdan emin olun.", + "INSTALLING": "Yükleniyor...", + "LOADING_INTERFACE": "Eklenti arayüzü yükleniyor...", + "LOADING_PLUGIN": "Eklenti yükleniyor...", + "MANIFEST_NOT_FOUND": "ZIP dosyasında eklenti manifesti (manifest.json) bulunamadı", + "MANIFEST_TOO_LARGE": "Eklenti manifesti çok büyük (maksimum {{maxSize}}KB)", + "MENU_ENTRY_ICON_STRING": "Menü simgesi bir metin (string) olmalıdır", + "MENU_ENTRY_LABEL_REQUIRED": "Menü girdisi etiketi gereklidir", + "MENU_ENTRY_ONCLICK_REQUIRED": "Menü girdisi onClick işleyicisi gereklidir", + "MIN_VERSION": "Min. Sürüm:", + "NO_ADDITIONAL_INFO": "Ek bilgi yok", + "NO_CONTENT_PROVIDED": "İçerik sağlanmadı", + "NO_PLUGIN_CONTEXT_ACTION": "Eklentinin işlem yapma izni yok", + "NO_PLUGIN_CONTEXT_HEADER_BUTTON": "Eklentinin üst başlığa buton ekleme izni yok", + "NO_PLUGIN_CONTEXT_LOADING": "Eklenti verileri yüklemek için bağlam iznine sahip değil", + "NO_PLUGIN_CONTEXT_MENU_ENTRY": "Eklentinin menü girdisi ekleme izni yok", + "NO_PLUGIN_CONTEXT_NODE": "Eklentinin Node.js kodu çalıştırma izni yok", + "NO_PLUGIN_CONTEXT_PERSISTENCE": "Eklentinin veri kalıcılığı izni yok", + "NO_PLUGIN_CONTEXT_SHORTCUT": "Eklentinin kısayol kaydetme izni yok", + "NO_PLUGIN_CONTEXT_SIDE_PANEL": "Eklentinin yan panel butonu ekleme izni yok", + "NO_PLUGIN_CONTEXT_SYNC": "Eklentinin senkronizasyon izni yok", + "NO_PLUGIN_ID_PROVIDED_FOR_HTML": "HTML içeriği için eklenti kimliği sağlanmadı", + "NO_PLUGIN_MANIFEST_NODE": "Eklenti manifest dosyası Node.js modülünü içermiyor", + "NODE_EXECUTION_REQUIRED": "Bu eklenti, yalnızca masaüstü uygulamasında mevcut olan Node.js çalıştırmasını gerektirir.", + "NODE_ONLY_DESKTOP": "Node.js çalıştırması yalnızca masaüstü uygulamasında kullanılabilir", + "OK": "Tamam", + "PARENT_TASK_DOES_NOT_EXIST": "Üst görev mevcut değil", + "PARENT_TASK_NOT_FOUND": "'{{contextId}}' bağlamında üst görev bulunamadı", + "PERMISSIONS": "İzinler", + "PLEASE_SELECT_ZIP_FILE": "Lütfen bir ZIP dosyası seçin", + "PLUGIN_DIALOG_TITLE": "Eklenti Mesajı", + "PLUGIN_DOES_NOT_SUPPORT_IFRAME": "Bu eklenti iframe arayüzünü desteklemiyor", + "PLUGIN_ID_NOT_PROVIDED": "Eklenti kimliği sağlanmadı", + "PLUGIN_JS_NOT_FOUND": "Eklenti JavaScript dosyası (plugin.js) ZIP içinde bulunamadı", + "PLUGIN_NOT_FOUND": "Eklenti bulunamadı", + "PLUGIN_SYSTEM_FAILED_INIT": "Eklenti sistemi başlatılamadı", + "PROJECT_DOES_NOT_EXIST": "Proje mevcut değil", + "PROJECT_NOT_FOUND": "'{{contextId}}' projesi bulunamadı", + "RECOMMENDATION": "Yalnızca güvenilir kaynaklardan eklenti yükleyin ve mümkünse kodlarını inceleyin. Yeni eklentileri yüklemeden önce her zaman verilerinizi yedekleyin.", + "REMEMBER_CHOICE": "Bu eklenti için seçimimi hatırla", + "REMOVE": "Kaldır", + "RISK_DATA_ACCESS": "Eklentiler TÜM görevlerinizi, projelerinizi ve kişisel verilerinizi okuyabilir, değiştirebilir ve silebilir", + "RISK_MALICIOUS_CODE": "Kötü amaçlı eklentiler hassas bilgileri çalabilir veya verilerinizi bozabilir", + "RISK_PERFORMANCE": "Kötü yazılmış eklentiler performans sorunlarına veya çökmelere neden olabilir", + "RISK_SYSTEM_ACCESS": "Node.js izinli masaüstü eklentileri sistem komutları çalıştırabilir", + "SECURITY_WARNING": "Eklentiler verilerinize ve sisteminize önemli erişimlere sahiptir. Güvenilmeyen eklentilerin yüklenmesi ciddi güvenlik riskleri taşır:", + "SIDE_PANEL_LABEL_REQUIRED": "Yan panel buton etiketi gereklidir", + "SIDE_PANEL_ONCLICK_REQUIRED": "Yan panel buton onClick işleyicisi gereklidir", + "SYSTEM_ACCESS_REQUEST_DESC": "Bu eklenti, sisteminizde Node.js kodu çalıştırma izni istiyor. Bu izin, aşağıdakilere olanak tanıyacaktır:", + "SYSTEM_ACCESS_REQUEST_TITLE": "Sistem Erişim Talebi", + "TAGS_DO_NOT_EXIST": "Bir veya daha fazla etiket mevcut değil", + "TASK_NOT_FOUND": "{{taskId}} kimliğine sahip görev bulunamadı", + "TASKS_NOT_IN_PROJECT": "Bir veya daha fazla görev '{{contextId}}' projesinde değil", + "TASKS_NOT_SUBTASKS": "Bir veya daha fazla görev '{{contextId}}' alt görevi değil", + "TOGGLE_PLUGIN": "{{pluginName}} Aç/Kapat", + "TRUST_WARNING": "Yalnızca bu eklentiye güveniyorsanız izin verin", + "TYPE": "Tür: {{type}}", + "UNABLE_TO_PERSIST_DATA": "Eklenti deposuna veri kaydedilemedi", + "UNKNOWN_ERROR": "Bilinmeyen bir hata oluştu", + "UPLOAD_PLUGIN_INSTRUCTION": "Yüklemek için bir eklenti ZIP dosyası yükleyin:", + "USER_DECLINED_NODE_PERMISSION": "Kullanıcı Node.js çalıştırma iznini reddetti", + "VALIDATION_FAILED": "Doğrulama başarısız oldu" + }, "PM": { "TITLE": "Proje İstatistikleri" }, @@ -2024,106 +2275,6 @@ "TAG_SETTINGS": "Etiket Ayarları", "TOGGLE_DARK_MODE": "Koyu Modu Değiştir" }, - "PLUGINS": { - "INSTALL_PLUGIN": "Eklenti Yükle", - "UPLOAD_PLUGIN_INSTRUCTION": "Yüklemek için bir eklenti ZIP dosyası yükleyin:", - "CHOOSE_PLUGIN_FILE": "Eklenti Dosyası Seç", - "INSTALLING": "Yükleniyor...", - "CLEAR_PLUGIN_CACHE": "Eklenti Önbelleğini Temizle", - "REMOVE": "Kaldır", - "HOOKS": "Kancalar", - "PERMISSIONS": "İzinler", - "ID": "Kimlik:", - "MIN_VERSION": "Min. Sürüm:", - "NODE_EXECUTION_REQUIRED": "Bu eklenti, yalnızca masaüstü uygulamasında mevcut olan Node.js çalıştırmasını gerektirir.", - "TOGGLE_PLUGIN": "{{pluginName}} Aç/Kapat", - "EXPERIMENTAL_WARNING_TITLE": "Deneysel Özellik - Güvenlik Uyarısı", - "EXPERIMENTAL_WARNING": "Eklenti sistemi deneysel aşamadadır ve son derece dikkatli kullanılmalıdır.", - "SECURITY_WARNING": "Eklentiler verilerinize ve sisteminize önemli erişimlere sahiptir. Güvenilmeyen eklentilerin yüklenmesi ciddi güvenlik riskleri taşır:", - "RISK_DATA_ACCESS": "Eklentiler TÜM görevlerinizi, projelerinizi ve kişisel verilerinizi okuyabilir, değiştirebilir ve silebilir", - "RISK_MALICIOUS_CODE": "Kötü amaçlı eklentiler hassas bilgileri çalabilir veya verilerinizi bozabilir", - "RISK_SYSTEM_ACCESS": "Node.js izinli masaüstü eklentileri sistem komutları çalıştırabilir", - "RISK_PERFORMANCE": "Kötü yazılmış eklentiler performans sorunlarına veya çökmelere neden olabilir", - "RECOMMENDATION": "Yalnızca güvenilir kaynaklardan eklenti yükleyin ve mümkünse kodlarını inceleyin. Yeni eklentileri yüklemeden önce her zaman verilerinizi yedekleyin.", - "CONFIGURATION": "Konfigürasyon", - "CONFIGURE": "Yapılandır", - "INSTALL_WARNING": "Bir eklenti yüklemeden önce, kaynağına güvendiğinizden ve talep ettiği izinleri anladığınızdan emin olun.", - "SYSTEM_ACCESS_REQUEST_TITLE": "Sistem Erişim Talebi", - "SYSTEM_ACCESS_REQUEST_DESC": "Bu eklenti, sisteminizde Node.js kodu çalıştırma izni istiyor. Bu izin, aşağıdakilere olanak tanıyacaktır:", - "GRANT_PERMISSION": "İzin Ver", - "CANCEL": "İptal", - "REMEMBER_CHOICE": "Bu eklenti için seçimimi hatırla", - "TRUST_WARNING": "Yalnızca bu eklentiye güveniyorsanız izin verin", - "CAPABILITIES": { - "ACCESS_FILES": "Sisteminizdeki dosyalara erişme ve değiştirme", - "RUN_COMMANDS": "Sistem komutlarını çalıştırma", - "USE_NODE_APIS": "Node.js API'lerini ve modüllerini kullanma" - }, - "ERROR": "Hata", - "LOADING_PLUGIN": "Eklenti yükleniyor...", - "ENABLED": "Etkin", - "DISABLED": "Devre Dışı", - "PLEASE_SELECT_ZIP_FILE": "Lütfen bir ZIP dosyası seçin", - "FILE_TOO_LARGE": "Dosya çok büyük ({{fileSize}}MB). Maksimum boyut {{maxSize}}MB", - "FAILED_TO_INSTALL": "Eklenti yüklenemedi", - "FAILED_TO_CLEAR_CACHE": "Eklenti önbelleği temizlenemedi", - "CONFIRM_REMOVE": "\"{{name}}\" eklentisini kaldırmak istediğinize emin misiniz?", - "FAILED_TO_REMOVE": "Eklenti kaldırılamadı", - "TYPE": "Tür: {{type}}", - "NO_ADDITIONAL_INFO": "Ek bilgi yok", - "NO_PLUGIN_ID_PROVIDED_FOR_HTML": "HTML içeriği için eklenti kimliği sağlanmadı", - "PROJECT_NOT_FOUND": "'{{contextId}}' projesi bulunamadı", - "TASKS_NOT_IN_PROJECT": "Bir veya daha fazla görev '{{contextId}}' projesinde değil", - "PARENT_TASK_NOT_FOUND": "'{{contextId}}' bağlamında üst görev bulunamadı", - "TASK_NOT_FOUND": "{{taskId}} kimliğine sahip görev bulunamadı", - "TASKS_NOT_SUBTASKS": "Bir veya daha fazla görev '{{contextId}}' alt görevi değil", - "NO_PLUGIN_CONTEXT_PERSISTENCE": "Eklentinin veri kalıcılığı izni yok", - "UNABLE_TO_PERSIST_DATA": "Eklenti deposuna veri kaydedilemedi", - "NO_PLUGIN_CONTEXT_LOADING": "Eklenti verileri yüklemek için bağlam iznine sahip değil", - "NO_PLUGIN_CONTEXT_SYNC": "Eklentinin senkronizasyon izni yok", - "NO_PLUGIN_CONTEXT_HEADER_BUTTON": "Eklentinin üst başlığa buton ekleme izni yok", - "NO_PLUGIN_CONTEXT_MENU_ENTRY": "Eklentinin menü girdisi ekleme izni yok", - "MENU_ENTRY_LABEL_REQUIRED": "Menü girdisi etiketi gereklidir", - "MENU_ENTRY_ONCLICK_REQUIRED": "Menü girdisi onClick işleyicisi gereklidir", - "MENU_ENTRY_ICON_STRING": "Menü simgesi bir metin (string) olmalıdır", - "NO_PLUGIN_CONTEXT_SIDE_PANEL": "Eklentinin yan panel butonu ekleme izni yok", - "SIDE_PANEL_LABEL_REQUIRED": "Yan panel buton etiketi gereklidir", - "SIDE_PANEL_ONCLICK_REQUIRED": "Yan panel buton onClick işleyicisi gereklidir", - "NO_PLUGIN_CONTEXT_SHORTCUT": "Eklentinin kısayol kaydetme izni yok", - "PROJECT_DOES_NOT_EXIST": "Proje mevcut değil", - "TAGS_DO_NOT_EXIST": "Bir veya daha fazla etiket mevcut değil", - "PARENT_TASK_DOES_NOT_EXIST": "Üst görev mevcut değil", - "VALIDATION_FAILED": "Doğrulama başarısız oldu", - "NO_PLUGIN_CONTEXT_ACTION": "Eklentinin işlem yapma izni yok", - "ACTION_TYPE_NOT_ALLOWED": "'{{type}}' işlem türüne izin verilmiyor", - "NODE_ONLY_DESKTOP": "Node.js çalıştırması yalnızca masaüstü uygulamasında kullanılabilir", - "NO_PLUGIN_CONTEXT_NODE": "Eklentinin Node.js kodu çalıştırma izni yok", - "NO_PLUGIN_MANIFEST_NODE": "Eklenti manifest dosyası Node.js modülünü içermiyor", - "ELECTRON_API_NOT_AVAILABLE": "Electron API'si kullanılamıyor", - "FAILED_TO_EXECUTE_SCRIPT": "Node.js betiği çalıştırılamadı", - "ALREADY_INITIALIZED": "Eklenti zaten başlatıldı", - "USER_DECLINED_NODE_PERMISSION": "Kullanıcı Node.js çalıştırma iznini reddetti", - "FAILED_TO_EXTRACT_ZIP": "Eklenti ZIP dosyası çıkarılamadı", - "MANIFEST_NOT_FOUND": "ZIP dosyasında eklenti manifesti (manifest.json) bulunamadı", - "MANIFEST_TOO_LARGE": "Eklenti manifesti çok büyük (maksimum {{maxSize}}KB)", - "PLUGIN_JS_NOT_FOUND": "Eklenti JavaScript dosyası (plugin.js) ZIP içinde bulunamadı", - "CODE_TOO_LARGE": "Eklenti kodu çok büyük (maksimum {{maxSize}}MB)", - "UNKNOWN_ERROR": "Bilinmeyen bir hata oluştu", - "PLUGIN_DIALOG_TITLE": "Eklenti Mesajı", - "NO_CONTENT_PROVIDED": "İçerik sağlanmadı", - "OK": "Tamam", - "LOADING_INTERFACE": "Eklenti arayüzü yükleniyor...", - "ERROR_LOADING_PLUGIN": "Eklenti yüklenirken hata oluştu", - "GO_BACK": "Geri Dön", - "FAILED_TO_LOAD": "Eklenti yüklenemedi", - "FAILED_TO_LOAD_CONFIG": "Eklenti yapılandırması yüklenemedi", - "FAILED_TO_SAVE_CONFIG": "Eklenti yapılandırması kaydedilemedi", - "PLUGIN_ID_NOT_PROVIDED": "Eklenti kimliği sağlanmadı", - "PLUGIN_SYSTEM_FAILED_INIT": "Eklenti sistemi başlatılamadı", - "PLUGIN_NOT_FOUND": "Eklenti bulunamadı", - "PLUGIN_DOES_NOT_SUPPORT_IFRAME": "Bu eklenti iframe arayüzünü desteklemiyor", - "INDEX_HTML_NOT_LOADED": "Eklenti index.html yüklenemedi" - }, "SCHEDULE": { "LAST": "Son:", "NEXT": "Sonraki:", @@ -2153,6 +2304,24 @@ "teal": "turkuaz", "yellow": "sarı" }, + "USER_PROFILES": { + "ACTIVE": "Aktif", + "CANCEL": "İptal", + "CLOSE": "Kapat", + "CREATE": "Oluştur", + "CREATE_NEW_PROFILE": "Yeni profil oluştur", + "CREATED": "Oluşturuldu:", + "DELETE_PROFILE": "Profili sil", + "DIALOG_TITLE": "Kullanıcı profillerini yönet", + "EXISTING_PROFILES": "Mevcut profiller", + "EXPORT_PROFILE": "Profili dışa aktar", + "MANAGE_PROFILES": "Profilleri yönet...", + "OPEN_PROFILES_FOLDER": "Profiller klasörünü aç", + "PROFILE_NAME": "Profil adı", + "PROFILE_NAME_PLACEHOLDER": "örn. İş, Kişisel", + "RENAME": "Yeniden adlandır", + "SAVE": "Kaydet" + }, "V": { "E_1TO10": "Lütfen 1 ile 10 arasında bir değer girin", "E_DATETIME": "Girilen değer bir tarih değil!", @@ -2164,24 +2333,6 @@ "E_PATTERN": "Geçersiz Giriş", "E_REQUIRED": "Bu alan gereklidir" }, - "USER_PROFILES": { - "DIALOG_TITLE": "Kullanıcı profillerini yönet", - "CREATE_NEW_PROFILE": "Yeni profil oluştur", - "PROFILE_NAME": "Profil adı", - "PROFILE_NAME_PLACEHOLDER": "örn. İş, Kişisel", - "CREATE": "Oluştur", - "EXISTING_PROFILES": "Mevcut profiller", - "ACTIVE": "Aktif", - "CREATED": "Oluşturuldu:", - "SAVE": "Kaydet", - "CANCEL": "İptal", - "RENAME": "Yeniden adlandır", - "EXPORT_PROFILE": "Profili dışa aktar", - "DELETE_PROFILE": "Profili sil", - "OPEN_PROFILES_FOLDER": "Profiller klasörünü aç", - "CLOSE": "Kapat", - "MANAGE_PROFILES": "Profilleri yönet..." - }, "WW": { "ADD_MORE": "Daha ekle", "ADD_SCHEDULED_FOR_TOMORROW": "Yarın için planlanan görevleri ekleyin ({{nr}})", @@ -2189,12 +2340,12 @@ "DONE_TASKS": "Yapılan Görevler", "DONE_TASKS_IN_ARCHIVE": "Burada şu anda tamamlanmış görev yok, ancak bazıları zaten arşivlendi.", "ESTIMATE_REMAINING": "Tahmini kalan süre:", - "LATER_TODAY": "Bugün Daha Sonra", "FINISH_DAY": "Günü bitir", "FINISH_DAY_FOR_PROJECT": "Günü bu proje için bitir", "FINISH_DAY_FOR_TAG": "Günü bu etiket için bitir", "FINISH_DAY_TOOLTIP": "Gününüzü değerlendirin, yapılan tüm görevleri arşive taşıyın (isteğe bağlı olarak) ve/veya bir sonraki gününüzü planlayın.", "HELP_PROCRASTINATION": "Erteliyorum yardım et!", + "LATER_TODAY": "Bugün Daha Sonra", "MOVE_DONE_TO_ARCHIVE": "Arşive taşıma işlemi tamamlandı", "NO_DONE_TASKS": "Şu anda yapılmış bir görev yok", "NO_PLANNED_TASK_ALL_DONE": "tüm görevler tamamlandı", diff --git a/src/environments/versions.ts b/src/environments/versions.ts index 32168c53e..c1645520a 100644 --- a/src/environments/versions.ts +++ b/src/environments/versions.ts @@ -1,6 +1,6 @@ // this file is automatically generated by git.version.ts script export const versions = { - version: '16.7.2', + version: '16.7.3', revision: 'NO_REV', branch: 'NO_BRANCH', };