Merge branch 'feature/translation'

This commit is contained in:
2026-01-16 17:07:25 +01:00
102 changed files with 1563 additions and 1227 deletions

View File

@@ -9,9 +9,9 @@
<div>
<div title={'task_'+task.id}>
{#if task.estimated_time}
{#if task.est_time}
<span class="estimate" onclick={() => onSelect(task)}>
{task.estimated_time}&nbsp;{t(task.estimated_time != 1 ? 'hours' : 'hour')}
{task.est_time}&nbsp;{t(task.est_time != 1 ? 'hours' : 'hour')}
</span>
{/if}
{task.name}

View File

@@ -23,7 +23,7 @@
item_code : t('estimated_time'),
title : estimate.name,
description : estimate.description.source,
amount : estimate.estimated_time,
amount : estimate.est_time,
unit : t('hours')
});
}

View File

@@ -21,9 +21,9 @@
title={task.description.source}
>
<span class="title">{task.name}</span>
{#if task.estimated_time}
{#if task.est_time}
<span class="estimate">
({task.estimated_time}&nbsp;h)
({task.est_time}&nbsp;h)
</span>
{/if}
{#if task.tags}

View File

@@ -17,7 +17,7 @@
let eventSource = $state(null);
let { id } = $props();
let lastEvent = $state(null);
let estimated_time = $state({sum:0});
let est_time = $state({sum:0});
let project = $state(null);
let router = useTinyRouter();
let showSettings = $state(false);
@@ -135,7 +135,7 @@
});
if (resp.ok){
tasks = {};
estimated_time.sum = 0;
est_time.sum = 0;
tasks = await resp.json();
yikes();
} else {
@@ -283,9 +283,9 @@
{/each}
{/if} <!-- settings -->
{#if estimated_time.sum}
{#if est_time.sum}
<div>{t('estimated_time')}</div>
<div class="estimated_time">{estimated_time.sum} h</div>
<div class="estimated_time">{est_time.sum} h</div>
{/if}
<div>{t('description')}</div>
@@ -304,7 +304,7 @@
</div>
<div class="tasks">
{#if tasks}
<TaskList {tasks} {estimated_time} {lastEvent} {eventSource} states={project?.allowed_states} show_closed={show_closed || project.show_closed} />
<TaskList {tasks} {est_time} {lastEvent} {eventSource} states={project?.allowed_states} show_closed={show_closed || project.show_closed} />
{/if}
</div>
</div>

View File

@@ -19,7 +19,7 @@
name : '',
description : { source : '', rendered : '' },
due_date : null,
estimated_time : null,
est_time : null,
no_index : false,
show_closed : false,
start_date : null,
@@ -191,7 +191,7 @@
{t('estimated_time')}
</th>
<td>
<input type="number" bind:value={task.estimated_time} /> {t('hours')}
<input type="number" bind:value={task.est_time} /> {t('hours')}
</td>
</tr>
<tr>

View File

@@ -13,7 +13,7 @@
import LineEditor from '../../Components/LineEditor.svelte';
let {
estimated_time,
est_time,
lastEvent,
show_closed,
siblings,
@@ -137,8 +137,8 @@
return {state:0};
}
if (task.estimated_time){
estimated_time.sum += task.estimated_time;
if (task.est_time){
est_time.sum += task.est_time;
}
$effect(() => {
@@ -157,8 +157,8 @@
{#if !deleted}
<li draggable="true" {ondrop} ondragover={e => e.preventDefault()} {ondragstart} class="task {states[task.status]?.toLowerCase()}">
<LineEditor bind:value={task.name} onclick={openTask} editable={true} onSet={setName} type="a" href={`/task/${task.id}/view`} />
{#if task.estimated_time}
<span class="estimated_time">({+task.estimated_time}&nbsp;h)</span>
{#if task.est_time}
<span class="estimated_time">({+task.est_time}&nbsp;h)</span>
{/if}
<button class="symbol" title={t('drag_n_drop')}></button>
{#if states[task.status] != 'PENDING'}
@@ -180,7 +180,7 @@
<button class="symbol" title={t('add_object',{object:t('subtask')})} onclick={addSubtask}></button>
<button class="symbol" title={t('timetracking')} onclick={addTime}></button>
{#if children}
<TaskList {states} {lastEvent} tasks={children} {estimated_time} {show_closed} />
<TaskList {states} {lastEvent} tasks={children} {est_time} {show_closed} />
{/if}
</li>
{/if}

View File

@@ -2,13 +2,13 @@
import { t } from '../../translations.svelte.js';
import ListTask from './ListTask.svelte';
let { estimated_time, lastEvent, show_closed, states = {}, tasks } = $props();
let { est_time, lastEvent, show_closed, states = {}, tasks } = $props();
let sortedTasks = $derived.by(() => Object.values(tasks).sort((a, b) => a.name.localeCompare(b.name)));
</script>
<ul>
{#each sortedTasks as task}
<ListTask {states} {task} {lastEvent} siblings={tasks} {estimated_time} show_closed={show_closed || task.show_closed} />
<ListTask {states} {task} {lastEvent} siblings={tasks} {est_time} show_closed={show_closed || task.show_closed} />
{/each}
</ul>

View File

@@ -21,7 +21,7 @@
let { id } = $props();
let children = $state(null);
let dummy = $derived(updateOn(id));
let estimated_time = $state({sum:0});
let est_time = $state({sum:0});
let project = $state(null);
const router = useTinyRouter();
let showSettings = $state(router.fullPath.endsWith('/edit'));
@@ -251,9 +251,9 @@
<div>{t('due_date')}</div>
<div class="due date">{task.due_date}</div>
{/if}
{#if task.estimated_time}
{#if task.est_time}
<div>{t('estimated_time')}</div>
<div class="estimated time">{task.estimated_time} h</div>
<div class="estimated time">{task.est_time} h</div>
{/if}
{#if showSettings}
<div>{t('extended_settings')}</div>
@@ -284,7 +284,7 @@
<div>{t('estimated_time')}</div>
<div>
<input type="number" bind:value={task.estimated_time} onchange={() => update({estimated_time:task.estimated_time})} />&nbsp;h
<input type="number" bind:value={task.est_time} onchange={() => update({est_time:task.est_time})} />&nbsp;h
</div>
<div>{t('priority')}</div>
@@ -320,7 +320,7 @@
</div>
<div class="children">
{#if children}
<TaskList {eventSource} states={project?.allowed_states} tasks={children} {estimated_time} show_closed={task.show_closed} />
<TaskList {eventSource} states={project?.allowed_states} tasks={children} {est_time} show_closed={task.show_closed} />
{/if}
</div>