feat(tasks): il tipo di un task si dichiara, non si deduce

Punto 2 del documento modifiche del 28/07, prima richiesta di Menoncin.

Il sistema distingueva un task di misura da uno documentale deducendolo: se aveva
quote era una misura, altrimenti una nota. Conseguenza: un task di misura a cui le
quote non erano ancora state inserite veniva trattato come nota, e il sistema si
comportava in modo diverso a seconda di quanto fosse completa la ricetta.

Nuovo campo task_type su recipe_tasks (migrazione 007) con nota, misura e disegno,
piu' xf_compare e camera_measure gia' nell'enum: allargare un enum MySQL piu' avanti
e' un ALTER su tabella viva, e non costa nulla prevederli adesso.

Il backfill riproduce la classificazione che era a schermo, cosi' nessuna ricetta
cambia comportamento all'aggiornamento: i task con quote diventano 'measure'; quelli
senza quote ma con un disegno allegato diventano 'drawing' e non 'note', perche' e'
gia' cio' che mostravano - chiamarli note sarebbe stato l'unico punto in cui questa
migrazione cambiava le carte in tavola.

Il tipo viene copiato esplicitamente nel copy-on-write del versioning: una nuova
versione che lo perdesse riclassificherebbe in silenzio tutti i task alla prima
modifica di una ricetta. Il task "Technical Drawing" creato d'ufficio quando si
carica un disegno su una ricetta senza task nasce come 'drawing'.

Lato operatore decide ora il tipo, non il conteggio delle quote: fermo linea, fine
produzione, avvio produzione e la barra di produzione seguono il tipo. Dove servono
davvero delle quote da mostrare - elenco marker, tastierino, fine ciclo misura -
resta anche il controllo che ce ne sia almeno una, e un task di misura ancora privo
di quote lo dichiara invece di somigliare a una nota. Nella lista task compare il
tipo, cosi' si vede prima di aprire.

La 007 e' stata eseguita su SQLite usa e getta con tre righe costruite apposta - una
con quote, una col solo disegno, una nota secca - e il backfill le classifica come
atteso. Il backfill girera' sui dati reali del cliente, provarlo a mano non bastava.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-07-28 18:15:18 +00:00
parent 7bc3c1f938
commit 6fbff2fe76
12 changed files with 1019 additions and 589 deletions
+1
View File
@@ -172,6 +172,7 @@ async def create_task(
new_task = RecipeTask( new_task = RecipeTask(
version_id=new_version.id, version_id=new_version.id,
order_index=max_order + 1, order_index=max_order + 1,
task_type=data.task_type,
title=data.title, title=data.title,
directive=data.directive, directive=data.directive,
description=data.description, description=data.description,
@@ -0,0 +1,64 @@
"""add an explicit type to recipe tasks
Until now the kind of a task was deduced: quotes present meant a measurement,
otherwise a note. A measurement task whose quotes had not been entered yet was
therefore treated as a note - the system behaved differently depending on how
complete the recipe happened to be.
Existing rows are classified by the rule that was in force, so nothing changes
behaviour on upgrade: tasks with quotes become 'measure'. Tasks with no quotes but
a drawing attached become 'drawing' rather than 'note' - that is what they already
displayed as, and calling them notes would be the one place this migration did
change behaviour.
Revision ID: 007_task_type
Revises: 006_measurement_run
Create Date: 2026-07-28
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
revision: str = '007_task_type'
down_revision: Union[str, None] = '006_measurement_run'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
TASK_TYPES = ('note', 'measure', 'drawing', 'xf_compare', 'camera_measure')
def upgrade() -> None:
op.add_column(
'recipe_tasks',
sa.Column(
'task_type',
sa.Enum(*TASK_TYPES, name='task_type_enum'),
nullable=False,
server_default='note',
),
)
op.create_index('ix_recipe_tasks_task_type', 'recipe_tasks', ['task_type'])
# Backfill by the rule the frontend used, so no recipe changes behaviour.
op.execute(
"""
UPDATE recipe_tasks
SET task_type = 'measure'
WHERE id IN (SELECT DISTINCT task_id FROM recipe_subtasks)
"""
)
op.execute(
"""
UPDATE recipe_tasks
SET task_type = 'drawing'
WHERE task_type = 'note'
AND file_path IS NOT NULL
"""
)
def downgrade() -> None:
op.drop_index('ix_recipe_tasks_task_type', table_name='recipe_tasks')
op.drop_column('recipe_tasks', 'task_type')
+9 -1
View File
@@ -1,8 +1,13 @@
"""Pydantic schemas for RecipeTask and RecipeSubtask operations.""" """Pydantic schemas for RecipeTask and RecipeSubtask operations."""
from typing import Any, Optional from typing import Any, Literal, Optional
from pydantic import BaseModel, ConfigDict, Field from pydantic import BaseModel, ConfigDict, Field
from src.backend.models.orm.task import TASK_TYPES
# Kept in step with the ORM enum so the two cannot drift apart.
TaskType = Literal[TASK_TYPES]
class SubtaskCreate(BaseModel): class SubtaskCreate(BaseModel):
"""Schema for creating a subtask.""" """Schema for creating a subtask."""
@@ -53,6 +58,7 @@ class SubtaskResponse(BaseModel):
class TaskCreate(BaseModel): class TaskCreate(BaseModel):
"""Schema for creating a task.""" """Schema for creating a task."""
title: str = Field(..., min_length=1, max_length=255) title: str = Field(..., min_length=1, max_length=255)
task_type: TaskType = "note"
directive: Optional[str] = None directive: Optional[str] = None
description: Optional[str] = None description: Optional[str] = None
file_path: Optional[str] = Field(None, max_length=500) file_path: Optional[str] = Field(None, max_length=500)
@@ -64,6 +70,7 @@ class TaskCreate(BaseModel):
class TaskUpdate(BaseModel): class TaskUpdate(BaseModel):
"""Schema for updating a task.""" """Schema for updating a task."""
title: Optional[str] = Field(None, min_length=1, max_length=255) title: Optional[str] = Field(None, min_length=1, max_length=255)
task_type: Optional[TaskType] = None
directive: Optional[str] = None directive: Optional[str] = None
description: Optional[str] = None description: Optional[str] = None
file_path: Optional[str] = Field(None, max_length=500) file_path: Optional[str] = Field(None, max_length=500)
@@ -79,6 +86,7 @@ class TaskResponse(BaseModel):
version_id: int version_id: int
recipe_id: Optional[int] = None recipe_id: Optional[int] = None
order_index: int order_index: int
task_type: str
title: str title: str
directive: Optional[str] = None directive: Optional[str] = None
description: Optional[str] = None description: Optional[str] = None
+19
View File
@@ -12,6 +12,15 @@ if TYPE_CHECKING:
from src.backend.models.orm.recipe import RecipeVersion from src.backend.models.orm.recipe import RecipeVersion
# What a task is, declared by whoever writes the recipe instead of guessed from its
# contents. The last two are not built yet; they are in the enum from the start
# because widening a MySQL enum later is an ALTER on a live table.
TASK_TYPES = ("note", "measure", "drawing", "xf_compare", "camera_measure")
# Types the operator screen treats as "there are quotes to take here".
MEASURING_TASK_TYPES = ("measure", "camera_measure")
class RecipeTask(Base): class RecipeTask(Base):
__tablename__ = "recipe_tasks" __tablename__ = "recipe_tasks"
@@ -20,6 +29,16 @@ class RecipeTask(Base):
Integer, ForeignKey("recipe_versions.id"), nullable=False Integer, ForeignKey("recipe_versions.id"), nullable=False
) )
order_index: Mapped[int] = mapped_column(Integer, nullable=False, default=0) order_index: Mapped[int] = mapped_column(Integer, nullable=False, default=0)
# Declared, not deduced. The old rule - "has subtasks, therefore a measurement" -
# meant a measurement task whose quotes had not been entered yet behaved as a
# note, so the system acted differently depending on how finished the recipe was.
task_type: Mapped[str] = mapped_column(
Enum(*TASK_TYPES, name="task_type_enum"),
nullable=False,
default="note",
server_default="note",
index=True,
)
title: Mapped[str] = mapped_column(String(255), nullable=False) title: Mapped[str] = mapped_column(String(255), nullable=False)
directive: Mapped[Optional[str]] = mapped_column(Text, nullable=True) directive: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
description: Mapped[Optional[str]] = mapped_column(Text, nullable=True) description: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
+4
View File
@@ -55,6 +55,9 @@ async def _copy_tasks_to_version(
new_task = RecipeTask( new_task = RecipeTask(
version_id=target_version.id, version_id=target_version.id,
order_index=task.order_index, order_index=task.order_index,
# Carried over explicitly: a copy-on-write version that dropped the type
# would silently reclassify every task the moment a recipe is edited.
task_type=task.task_type,
title=task.title, title=task.title,
directive=task.directive, directive=task.directive,
description=task.description, description=task.description,
@@ -254,6 +257,7 @@ async def create_new_version(
default_task = RecipeTask( default_task = RecipeTask(
version_id=new_version.id, version_id=new_version.id,
order_index=0, order_index=0,
task_type="drawing",
title="Technical Drawing", title="Technical Drawing",
file_path=data.file_path, file_path=data.file_path,
file_type=data.file_type or ( file_type=data.file_type or (
+171
View File
@@ -0,0 +1,171 @@
"""Tests for the explicit task type (point 2).
The type used to be deduced - quotes present meant a measurement - so a measurement
task whose quotes had not been entered yet was treated as a note, and the system
behaved differently depending on how complete the recipe was. These tests pin the
type down as something declared and carried.
"""
import pytest
from httpx import AsyncClient
from sqlalchemy import select
from src.backend.models.orm.recipe import RecipeVersion
from src.backend.models.orm.task import RecipeTask
from src.backend.tests.conftest import auth_headers, create_test_recipe
async def _current_version(db_session, recipe_id: int) -> RecipeVersion:
row = await db_session.execute(
select(RecipeVersion).where(
RecipeVersion.recipe_id == recipe_id,
RecipeVersion.is_current == True, # noqa: E712
)
)
return row.scalar_one()
async def test_task_defaults_to_note(client: AsyncClient, maker_user, db_session):
recipe = await create_test_recipe(db_session, user_id=maker_user.id, code="REC-T1")
await db_session.commit()
resp = await client.post(
f"/api/recipes/{recipe.id}/tasks",
headers=auth_headers(maker_user),
json={"title": "Solo una nota"},
)
assert resp.status_code == 201, resp.text
assert resp.json()["task_type"] == "note"
@pytest.mark.parametrize("declared", ["note", "measure", "drawing"])
async def test_task_keeps_the_declared_type(
client: AsyncClient, maker_user, db_session, declared,
):
recipe = await create_test_recipe(
db_session, user_id=maker_user.id, code=f"REC-{declared}",
)
await db_session.commit()
resp = await client.post(
f"/api/recipes/{recipe.id}/tasks",
headers=auth_headers(maker_user),
json={"title": f"Task {declared}", "task_type": declared},
)
assert resp.status_code == 201, resp.text
assert resp.json()["task_type"] == declared
async def test_measure_task_without_quotes_is_still_a_measure_task(
client: AsyncClient, maker_user, db_session,
):
"""The criterion from the document: an unfinished recipe must not change kind."""
recipe = await create_test_recipe(db_session, user_id=maker_user.id, code="REC-NOQ")
await db_session.commit()
created = await client.post(
f"/api/recipes/{recipe.id}/tasks",
headers=auth_headers(maker_user),
json={"title": "Misura da compilare", "task_type": "measure"},
)
task_id = created.json()["id"]
fetched = await client.get(f"/api/tasks/{task_id}", headers=auth_headers(maker_user))
body = fetched.json()
assert body["subtasks"] == [], "il task non ha ancora quote"
assert body["task_type"] == "measure", "e resta comunque un task di misura"
async def test_unknown_type_is_rejected(client: AsyncClient, maker_user, db_session):
recipe = await create_test_recipe(db_session, user_id=maker_user.id, code="REC-BAD")
await db_session.commit()
resp = await client.post(
f"/api/recipes/{recipe.id}/tasks",
headers=auth_headers(maker_user),
json={"title": "x", "task_type": "qualcosa"},
)
assert resp.status_code == 422
async def test_type_can_be_changed(client: AsyncClient, maker_user, db_session):
recipe = await create_test_recipe(db_session, user_id=maker_user.id, code="REC-CHG")
await db_session.commit()
created = await client.post(
f"/api/recipes/{recipe.id}/tasks",
headers=auth_headers(maker_user),
json={"title": "Nasce nota", "task_type": "note"},
)
task_id = created.json()["id"]
resp = await client.put(
f"/api/tasks/{task_id}",
headers=auth_headers(maker_user),
json={"task_type": "measure"},
)
assert resp.status_code == 200, resp.text
assert resp.json()["task_type"] == "measure"
async def test_type_survives_copy_on_write_versioning(
client: AsyncClient, maker_user, measurement_tec_user, db_session,
):
"""A new version must not silently reclassify every task of the recipe."""
recipe = await create_test_recipe(db_session, user_id=maker_user.id, code="REC-COW")
await db_session.commit()
version = await _current_version(db_session, recipe.id)
row = await db_session.execute(
select(RecipeTask).where(RecipeTask.version_id == version.id)
)
first_task = row.scalars().first()
# Declare it a drawing. The point is that this survives, not how it got set.
await client.put(
f"/api/tasks/{first_task.id}",
headers=auth_headers(maker_user),
json={"task_type": "drawing"},
)
# Measure on the current version, which forces the next edit to copy-on-write.
await client.post(
"/api/measurements/",
headers=auth_headers(measurement_tec_user),
json={
"subtask_id": first_task.subtasks[0].id,
"version_id": version.id,
"value": 10.0,
},
)
# Editing now must create a new version.
await client.put(
f"/api/recipes/{recipe.id}",
headers=auth_headers(maker_user),
json={"name": "Rinominata"},
)
new_version = await _current_version(db_session, recipe.id)
assert new_version.id != version.id, "l'edit doveva creare una nuova versione"
copied = await db_session.execute(
select(RecipeTask).where(RecipeTask.version_id == new_version.id)
)
types = sorted(t.task_type for t in copied.scalars().all())
assert "drawing" in types, "il tipo dichiarato non e' sopravvissuto alla copia"
async def test_task_list_exposes_the_type(client: AsyncClient, maker_user, db_session):
"""The operator's task list reads the type, so it must come over the wire."""
recipe = await create_test_recipe(db_session, user_id=maker_user.id, code="REC-LST")
await db_session.commit()
await client.post(
f"/api/recipes/{recipe.id}/tasks",
headers=auth_headers(maker_user),
json={"title": "Misura", "task_type": "measure"},
)
resp = await client.get(
f"/api/recipes/{recipe.id}/tasks", headers=auth_headers(maker_user),
)
assert resp.status_code == 200
assert all("task_type" in t for t in resp.json())
@@ -270,6 +270,18 @@
class="tmf-input" class="tmf-input"
placeholder="{{ _('Es. Controllo dimensionale flangia') }}"> placeholder="{{ _('Es. Controllo dimensionale flangia') }}">
</div> </div>
<!-- Tipo: dichiarato qui, non dedotto dal contenuto -->
<div>
<label class="tmf-label">{{ _('Tipo') }} <span class="text-red-500">*</span></label>
<select x-model="newTask.task_type" class="tmf-input">
<option value="note">{{ _('Nota') }}</option>
<option value="measure">{{ _('Misura') }}</option>
<option value="drawing">{{ _('Disegno') }}</option>
</select>
<p class="mt-1 text-xs text-[var(--text-secondary)]">
{{ _('Un task di misura resta tale anche prima di inserire le quote') }}
</p>
</div>
<!-- Direttiva --> <!-- Direttiva -->
<div> <div>
<label class="tmf-label">{{ _('Direttiva') }}</label> <label class="tmf-label">{{ _('Direttiva') }}</label>
@@ -516,6 +528,14 @@
<!-- Edit Task Extra Fields (when in edit mode) --> <!-- Edit Task Extra Fields (when in edit mode) -->
<template x-if="editingTask === task.id"> <template x-if="editingTask === task.id">
<div class="grid grid-cols-1 sm:grid-cols-2 gap-3 p-3 rounded-lg bg-blue-50 dark:bg-blue-900/10 border border-blue-200 dark:border-blue-800"> <div class="grid grid-cols-1 sm:grid-cols-2 gap-3 p-3 rounded-lg bg-blue-50 dark:bg-blue-900/10 border border-blue-200 dark:border-blue-800">
<div>
<label class="tmf-label">{{ _('Tipo') }}</label>
<select x-model="editTaskData.task_type" class="tmf-input text-sm">
<option value="note">{{ _('Nota') }}</option>
<option value="measure">{{ _('Misura') }}</option>
<option value="drawing">{{ _('Disegno') }}</option>
</select>
</div>
<div> <div>
<label class="tmf-label">{{ _('Direttiva') }}</label> <label class="tmf-label">{{ _('Direttiva') }}</label>
<input type="text" <input type="text"
@@ -1084,8 +1104,8 @@ function taskEditor() {
// ---- Task CRUD state ---- // ---- Task CRUD state ----
editingTask: null, editingTask: null,
editTaskData: { title: '', directive: '', description: '' }, editTaskData: { title: '', directive: '', description: '', task_type: 'note' },
newTask: { title: '', directive: '', description: '' }, newTask: { title: '', directive: '', description: '', task_type: 'note' },
// ---- Subtask CRUD state ---- // ---- Subtask CRUD state ----
editingSubtaskId: null, editingSubtaskId: null,
@@ -1207,7 +1227,7 @@ function taskEditor() {
// ============================================================ // ============================================================
resetNewTask() { resetNewTask() {
this.newTask = { title: '', directive: '', description: '' }; this.newTask = { title: '', directive: '', description: '', task_type: 'note' };
}, },
// ============================================================ // ============================================================
@@ -1298,6 +1318,7 @@ function taskEditor() {
}, },
body: JSON.stringify({ body: JSON.stringify({
title: this.newTask.title.trim(), title: this.newTask.title.trim(),
task_type: this.newTask.task_type || 'note',
directive: this.newTask.directive.trim() || null, directive: this.newTask.directive.trim() || null,
description: this.newTask.description.trim() || null description: this.newTask.description.trim() || null
}) })
@@ -1328,6 +1349,7 @@ function taskEditor() {
this.editingTask = task.id; this.editingTask = task.id;
this.editTaskData = { this.editTaskData = {
title: task.title, title: task.title,
task_type: task.task_type || 'note',
directive: task.directive || '', directive: task.directive || '',
description: task.description || '' description: task.description || ''
}; };
@@ -1337,7 +1359,7 @@ function taskEditor() {
cancelEditTask() { cancelEditTask() {
this.editingTask = null; this.editingTask = null;
this.editTaskData = { title: '', directive: '', description: '' }; this.editTaskData = { title: '', directive: '', description: '', task_type: 'note' };
}, },
async updateTask(taskId) { async updateTask(taskId) {
@@ -1354,6 +1376,7 @@ function taskEditor() {
}, },
body: JSON.stringify({ body: JSON.stringify({
title: this.editTaskData.title.trim(), title: this.editTaskData.title.trim(),
task_type: this.editTaskData.task_type || 'note',
directive: this.editTaskData.directive.trim() || null, directive: this.editTaskData.directive.trim() || null,
description: this.editTaskData.description.trim() || null description: this.editTaskData.description.trim() || null
}) })
@@ -114,7 +114,7 @@
</div> </div>
{# Fermo linea + Fine produzione (measurement tasks only) #} {# Fermo linea + Fine produzione (measurement tasks only) #}
<template x-if="subtasks.length > 0"> <template x-if="isMeasureTask">
<div class="shrink-0 flex items-center gap-1.5"> <div class="shrink-0 flex items-center gap-1.5">
{# While the line is stopped this becomes the way to restart it, so the {# While the line is stopped this becomes the way to restart it, so the
capoturno never has to hunt for a second control. #} capoturno never has to hunt for a second control. #}
@@ -182,7 +182,7 @@
{# ────────────────────────────────────────────── {# ──────────────────────────────────────────────
LEFT SIDEBAR — Marker list (vertical, hidden when no subtasks) LEFT SIDEBAR — Marker list (vertical, hidden when no subtasks)
────────────────────────────────────────────── #} ────────────────────────────────────────────── #}
<div x-show="subtasks.length > 0" <div x-show="isMeasureTask && subtasks.length > 0"
class="shrink-0 w-14 md:w-16 bg-[var(--bg-card)] border-r border-[var(--border-color)] flex flex-col sidebar-markers overflow-y-auto"> class="shrink-0 w-14 md:w-16 bg-[var(--bg-card)] border-r border-[var(--border-color)] flex flex-col sidebar-markers overflow-y-auto">
<template x-for="(st, idx) in subtasks" :key="st.id"> <template x-for="(st, idx) in subtasks" :key="st.id">
<button @click="goToSubtask(idx)" <button @click="goToSubtask(idx)"
@@ -272,7 +272,7 @@
{# ────────────────────────────────────────────── {# ──────────────────────────────────────────────
RIGHT PANEL — Info + tolerances + numpad (hidden when no subtasks) RIGHT PANEL — Info + tolerances + numpad (hidden when no subtasks)
────────────────────────────────────────────── #} ────────────────────────────────────────────── #}
<div x-show="subtasks.length > 0" <div x-show="isMeasureTask && subtasks.length > 0"
class="shrink-0 w-72 lg:w-80 bg-[var(--bg-card)] border-l border-[var(--border-color)] flex flex-col right-panel overflow-y-auto"> class="shrink-0 w-72 lg:w-80 bg-[var(--bg-card)] border-l border-[var(--border-color)] flex flex-col right-panel overflow-y-auto">
{# ---- Subtask header ---- #} {# ---- Subtask header ---- #}
@@ -439,6 +439,25 @@
</div> </div>
</div> </div>
{# ================================================================
MISURA SENZA QUOTE — declared a measurement task but none configured yet.
Under the old rule this screen quietly looked like a note; now the task keeps
its identity and says what is missing instead.
================================================================ #}
<div x-show="isMeasureTaskWithoutQuotes"
x-transition
x-cloak
class="shrink-0 bg-amber-50 dark:bg-amber-900/20 border-t border-amber-300 dark:border-amber-700 px-4 py-2">
<div class="flex items-center justify-center gap-2">
<svg class="w-4 h-4 text-amber-600 shrink-0" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"/>
</svg>
<span class="text-sm text-amber-800 dark:text-amber-200">
{{ _('Task di misura senza quote configurate: la ricetta è incompleta') }}
</span>
</div>
</div>
{# ================================================================ {# ================================================================
LINEA FERMA — the countdown is frozen, not merely hidden. Stated plainly LINEA FERMA — the countdown is frozen, not merely hidden. Stated plainly
because a stopped line that looks like a running one is how a measurement because a stopped line that looks like a running one is how a measurement
@@ -486,7 +505,7 @@
{# ================================================================ {# ================================================================
AVVIO PRODUZIONE — visible after first cycle, before production started AVVIO PRODUZIONE — visible after first cycle, before production started
================================================================ #} ================================================================ #}
<div x-show="cycleConfirmed && cycleCount === 1 && !productionStarted && subtasks.length > 0" <div x-show="cycleConfirmed && cycleCount === 1 && !productionStarted && isMeasureTask"
x-transition x-transition
x-cloak x-cloak
class="shrink-0 border-t border-[var(--border-color)] bg-[var(--bg-card)] px-4 py-3"> class="shrink-0 border-t border-[var(--border-color)] bg-[var(--bg-card)] px-4 py-3">
@@ -505,7 +524,7 @@
{{ _('Invia segnale al gestionale per avviare il timer della linea') }} {{ _('Invia segnale al gestionale per avviare il timer della linea') }}
</p> </p>
</div> </div>
<div x-show="productionStarted && subtasks.length > 0" <div x-show="productionStarted && isMeasureTask"
x-transition x-transition
x-cloak x-cloak
class="shrink-0 border-t border-emerald-200 dark:border-emerald-800 bg-emerald-50 dark:bg-emerald-900/20 px-4 py-1.5"> class="shrink-0 border-t border-emerald-200 dark:border-emerald-800 bg-emerald-50 dark:bg-emerald-900/20 px-4 py-1.5">
@@ -548,7 +567,7 @@
</div> </div>
{# Right: Fine ciclo misura (measurement tasks) / Completato (non-measurement or after cycle) #} {# Right: Fine ciclo misura (measurement tasks) / Completato (non-measurement or after cycle) #}
<template x-if="subtasks.length > 0"> <template x-if="isMeasureTask && subtasks.length > 0">
<div class="flex items-center gap-1.5"> <div class="flex items-center gap-1.5">
<button x-show="isComplete && !cycleConfirmed" <button x-show="isComplete && !cycleConfirmed"
x-transition x-transition
@@ -575,7 +594,7 @@
</button> </button>
</div> </div>
</template> </template>
<template x-if="subtasks.length === 0"> <template x-if="!isMeasureTask || subtasks.length === 0">
<button @click="goToNextTask()" <button @click="goToNextTask()"
class="btn text-xs shrink-0 gap-1 py-1.5 px-3 shadow-md class="btn text-xs shrink-0 gap-1 py-1.5 px-3 shadow-md
bg-measure-pass text-white hover:opacity-90"> bg-measure-pass text-white hover:opacity-90">
@@ -1238,6 +1257,23 @@ function taskExecute() {
this.supervisorError = ''; this.supervisorError = '';
}, },
/* What kind of task this is, as declared in the recipe.
Deducing it from the quotes meant a measurement task whose quotes had not
been entered yet behaved as a note - the screen changed shape depending on
how finished the recipe was. Falls back to the old rule for tasks saved
before the type existed and not yet migrated. */
get isMeasureTask() {
const declared = this.task.task_type;
if (!declared) return this.subtasks.length > 0;
return declared === 'measure' || declared === 'camera_measure';
},
/* A measurement task with no quotes yet: the recipe is unfinished. Said out
loud rather than silently rendering an empty screen. */
get isMeasureTaskWithoutQuotes() {
return this.isMeasureTask && this.subtasks.length === 0;
},
// ---- Is the production stopped? ---- // ---- Is the production stopped? ----
get isPaused() { get isPaused() {
return !!this.productionRun && this.productionRun.status === 'paused'; return !!this.productionRun && this.productionRun.status === 'paused';
@@ -164,8 +164,26 @@
{% endif %} {% endif %}
</div> </div>
<!-- Indicators (top-right): measurements + attachment --> <!-- Indicators (top-right): type + measurements + attachment -->
<div class="shrink-0 self-start flex items-center gap-2.5"> <div class="shrink-0 self-start flex items-center gap-2.5">
{# The declared type, so the operator sees what a task is before opening
it - and a measurement task still reads as one before its quotes are in. #}
{% set task_type_labels = {
'measure': _('Misura'),
'drawing': _('Disegno'),
'note': _('Nota'),
'xf_compare': _('Confronto profilo'),
'camera_measure': _('Misura camera'),
} %}
{% set is_measure = task.task_type in ('measure', 'camera_measure') %}
{% if task.task_type %}
<span class="inline-flex items-center px-1.5 py-0.5 rounded text-[11px] font-medium
{% if is_measure %}bg-primary-50 dark:bg-primary-900/20 text-primary
{% else %}bg-steel-100 dark:bg-steel-800 text-steel-600 dark:text-steel-300{% endif %}">
{{ task_type_labels.get(task.task_type, task.task_type) }}
</span>
{% endif %}
{% if task.subtask_count is defined or task.subtasks %} {% if task.subtask_count is defined or task.subtasks %}
<span class="inline-flex items-center gap-1 text-xs text-[var(--text-secondary)]" <span class="inline-flex items-center gap-1 text-xs text-[var(--text-secondary)]"
title="{{ _('misurazioni') }}"> title="{{ _('misurazioni') }}">
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TieMeasureFlow 1.0\n" "Project-Id-Version: TieMeasureFlow 1.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-28 17:30+0000\n" "POT-Creation-Date: 2026-07-28 18:13+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -236,11 +236,11 @@ msgstr "Save settings"
#: templates/admin/stations.html:665 templates/admin/stations.html:700 #: templates/admin/stations.html:665 templates/admin/stations.html:700
#: templates/admin/stations.html:723 templates/admin/users.html:497 #: templates/admin/stations.html:723 templates/admin/users.html:497
#: templates/admin/users.html:533 templates/maker/recipe_editor.html:571 #: templates/admin/users.html:533 templates/maker/recipe_editor.html:571
#: templates/maker/task_drawing.html:65 templates/maker/task_editor.html:1243 #: templates/maker/task_drawing.html:65 templates/maker/task_editor.html:1263
#: templates/maker/task_editor.html:1321 templates/maker/task_editor.html:1382 #: templates/maker/task_editor.html:1342 templates/maker/task_editor.html:1405
#: templates/maker/task_editor.html:1415 templates/maker/task_editor.html:1510 #: templates/maker/task_editor.html:1438 templates/maker/task_editor.html:1533
#: templates/maker/task_editor.html:1586 templates/maker/task_editor.html:1660 #: templates/maker/task_editor.html:1609 templates/maker/task_editor.html:1683
#: templates/maker/task_editor.html:1697 templates/maker/task_editor.html:1776 #: templates/maker/task_editor.html:1720 templates/maker/task_editor.html:1799
#: templates/statistics/dashboard.html:372 #: templates/statistics/dashboard.html:372
#: templates/statistics/dashboard.html:457 #: templates/statistics/dashboard.html:457
msgid "Errore di connessione al server" msgid "Errore di connessione al server"
@@ -291,7 +291,7 @@ msgid "Stato"
msgstr "Status" msgstr "Status"
#: templates/admin/stations.html:54 templates/admin/users.html:53 #: templates/admin/stations.html:54 templates/admin/users.html:53
#: templates/maker/task_editor.html:551 #: templates/maker/task_editor.html:571
msgid "Azioni" msgid "Azioni"
msgstr "Actions" msgstr "Actions"
@@ -322,13 +322,13 @@ msgid "Nessuna ricetta da azzerare"
msgstr "No recipes to clear" msgstr "No recipes to clear"
#: templates/admin/stations.html:113 templates/admin/users.html:100 #: templates/admin/stations.html:113 templates/admin/users.html:100
#: templates/maker/recipe_list.html:237 templates/maker/task_editor.html:602 #: templates/maker/recipe_list.html:237 templates/maker/task_editor.html:622
msgid "Modifica" msgid "Modifica"
msgstr "Edit" msgstr "Edit"
#: templates/admin/stations.html:120 templates/admin/stations.html:421 #: templates/admin/stations.html:120 templates/admin/stations.html:421
#: templates/maker/recipe_list.html:277 templates/maker/recipe_list.html:387 #: templates/maker/recipe_list.html:277 templates/maker/recipe_list.html:387
#: templates/maker/task_drawing.html:275 templates/maker/task_editor.html:610 #: templates/maker/task_drawing.html:275 templates/maker/task_editor.html:630
msgid "Elimina" msgid "Elimina"
msgstr "Delete" msgstr "Delete"
@@ -372,11 +372,11 @@ msgstr "Optional notes"
#: templates/admin/stations.html:416 templates/admin/users.html:292 #: templates/admin/stations.html:416 templates/admin/users.html:292
#: templates/admin/users.html:323 templates/maker/recipe_editor.html:137 #: templates/admin/users.html:323 templates/maker/recipe_editor.html:137
#: templates/maker/recipe_editor.html:456 templates/maker/recipe_list.html:383 #: templates/maker/recipe_editor.html:456 templates/maker/recipe_list.html:383
#: templates/maker/task_editor.html:294 templates/maker/task_editor.html:403 #: templates/maker/task_editor.html:306 templates/maker/task_editor.html:415
#: templates/maker/task_editor.html:747 templates/maker/task_editor.html:866 #: templates/maker/task_editor.html:767 templates/maker/task_editor.html:886
#: templates/maker/task_editor.html:931 templates/maker/task_editor.html:1036 #: templates/maker/task_editor.html:951 templates/maker/task_editor.html:1056
#: templates/measure/select_recipe.html:367 #: templates/measure/select_recipe.html:367
#: templates/measure/task_execute.html:719 #: templates/measure/task_execute.html:738
msgid "Annulla" msgid "Annulla"
msgstr "Cancel" msgstr "Cancel"
@@ -521,7 +521,7 @@ msgstr "New User"
#: templates/admin/users.html:48 templates/admin/users.html:173 #: templates/admin/users.html:48 templates/admin/users.html:173
#: templates/admin/users.html:179 templates/auth/login.html:35 #: templates/admin/users.html:179 templates/auth/login.html:35
#: templates/auth/login.html:49 templates/auth/profile.html:36 #: templates/auth/login.html:49 templates/auth/profile.html:36
#: templates/measure/task_execute.html:704 #: templates/measure/task_execute.html:723
msgid "Username" msgid "Username"
msgstr "Username" msgstr "Username"
@@ -573,7 +573,7 @@ msgstr "Username cannot be changed"
#: templates/admin/users.html:206 templates/admin/users.html:214 #: templates/admin/users.html:206 templates/admin/users.html:214
#: templates/auth/login.html:57 templates/auth/login.html:71 #: templates/auth/login.html:57 templates/auth/login.html:71
#: templates/measure/task_execute.html:709 #: templates/measure/task_execute.html:728
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
@@ -849,7 +849,7 @@ msgstr "New Recipe"
msgid "Compila i dati della ricetta" msgid "Compila i dati della ricetta"
msgstr "Fill in the recipe data" msgstr "Fill in the recipe data"
#: templates/maker/recipe_editor.html:107 templates/maker/task_editor.html:396 #: templates/maker/recipe_editor.html:107 templates/maker/task_editor.html:408
msgid "Salva" msgid "Salva"
msgstr "Save" msgstr "Save"
@@ -864,7 +864,7 @@ msgstr "Preview"
#: templates/maker/recipe_editor.html:128 templates/maker/recipe_list.html:246 #: templates/maker/recipe_editor.html:128 templates/maker/recipe_list.html:246
#: templates/maker/task_drawing.html:106 templates/maker/task_editor.html:130 #: templates/maker/task_drawing.html:106 templates/maker/task_editor.html:130
#: templates/measure/task_complete.html:168 #: templates/measure/task_complete.html:168
#: templates/measure/task_execute.html:532 templates/measure/task_list.html:2 #: templates/measure/task_execute.html:551 templates/measure/task_list.html:2
#: templates/measure/task_list.html:156 #: templates/measure/task_list.html:156
msgid "Task" msgid "Task"
msgstr "Task" msgstr "Task"
@@ -889,10 +889,10 @@ msgstr "Code cannot be changed after creation"
msgid "Es. Coupling Assembly 256" msgid "Es. Coupling Assembly 256"
msgstr "E.g. Coupling Assembly 256" msgstr "E.g. Coupling Assembly 256"
#: templates/maker/recipe_editor.html:226 templates/maker/task_editor.html:283 #: templates/maker/recipe_editor.html:226 templates/maker/task_editor.html:295
#: templates/maker/task_editor.html:509 templates/maker/task_editor.html:527 #: templates/maker/task_editor.html:521 templates/maker/task_editor.html:547
#: templates/maker/task_editor.html:542 templates/maker/task_editor.html:660 #: templates/maker/task_editor.html:562 templates/maker/task_editor.html:680
#: templates/maker/task_editor.html:1025 #: templates/maker/task_editor.html:1045
#: templates/measure/task_complete.html:169 #: templates/measure/task_complete.html:169
msgid "Descrizione" msgid "Descrizione"
msgstr "Description" msgstr "Description"
@@ -926,7 +926,7 @@ msgstr "Image uploaded"
msgid "Caricamento in corso..." msgid "Caricamento in corso..."
msgstr "Upload in progress..." msgstr "Upload in progress..."
#: templates/maker/recipe_editor.html:302 templates/maker/task_editor.html:473 #: templates/maker/recipe_editor.html:302 templates/maker/task_editor.html:485
msgid "Sostituisci" msgid "Sostituisci"
msgstr "Replace" msgstr "Replace"
@@ -1013,8 +1013,8 @@ msgstr "Error during deletion"
# Recipe Selection Additional # Recipe Selection Additional
#: templates/maker/recipe_list.html:55 templates/measure/select_recipe.html:55 #: templates/maker/recipe_list.html:55 templates/measure/select_recipe.html:55
#: templates/measure/task_execute.html:1102 #: templates/measure/task_execute.html:1121
#: templates/measure/task_execute.html:1301 #: templates/measure/task_execute.html:1337
msgid "Errore di connessione" msgid "Errore di connessione"
msgstr "Connection Error" msgstr "Connection Error"
@@ -1052,7 +1052,7 @@ msgid "ricette trovate"
msgstr "recipes found" msgstr "recipes found"
#: templates/maker/recipe_list.html:211 templates/maker/task_editor.html:222 #: templates/maker/recipe_list.html:211 templates/maker/task_editor.html:222
#: templates/maker/task_editor.html:1049 #: templates/maker/task_editor.html:1069
msgid "task" msgid "task"
msgstr "task" msgstr "task"
@@ -1131,7 +1131,7 @@ msgstr ""
msgid "misure" msgid "misure"
msgstr "measurements" msgstr "measurements"
#: templates/maker/recipe_preview.html:213 templates/maker/task_editor.html:448 #: templates/maker/recipe_preview.html:213 templates/maker/task_editor.html:460
msgid "Disegno Tecnico" msgid "Disegno Tecnico"
msgstr "Technical Drawing" msgstr "Technical Drawing"
@@ -1152,8 +1152,8 @@ msgstr "No image attached"
msgid "Punti di Misura" msgid "Punti di Misura"
msgstr "Measurement Points" msgstr "Measurement Points"
#: templates/maker/recipe_preview.html:299 templates/maker/task_editor.html:544 #: templates/maker/recipe_preview.html:299 templates/maker/task_editor.html:564
#: templates/maker/task_editor.html:686 #: templates/maker/task_editor.html:706
#: templates/measure/task_complete.html:170 #: templates/measure/task_complete.html:170
#: templates/measure/task_execute.html:300 #: templates/measure/task_execute.html:300
msgid "Nominale" msgid "Nominale"
@@ -1163,7 +1163,7 @@ msgstr "Nominal"
msgid "Nessun punto di misura definito per questo task" msgid "Nessun punto di misura definito per questo task"
msgstr "No measurement points defined for this task" msgstr "No measurement points defined for this task"
#: templates/maker/recipe_preview.html:383 templates/maker/task_editor.html:794 #: templates/maker/recipe_preview.html:383 templates/maker/task_editor.html:814
msgid "Nessun task definito" msgid "Nessun task definito"
msgstr "No tasks defined" msgstr "No tasks defined"
@@ -1311,7 +1311,7 @@ msgstr "Import from PDF"
msgid "Nuovo Task" msgid "Nuovo Task"
msgstr "New Task" msgstr "New Task"
#: templates/maker/task_editor.html:265 templates/maker/task_editor.html:1021 #: templates/maker/task_editor.html:265 templates/maker/task_editor.html:1041
msgid "Titolo" msgid "Titolo"
msgstr "Title" msgstr "Title"
@@ -1319,328 +1319,349 @@ msgstr "Title"
msgid "Es. Controllo dimensionale flangia" msgid "Es. Controllo dimensionale flangia"
msgstr "E.g. Flange dimensional check" msgstr "E.g. Flange dimensional check"
#: templates/maker/task_editor.html:275 templates/maker/task_editor.html:503 #: templates/maker/task_editor.html:275 templates/maker/task_editor.html:532
#: templates/maker/task_editor.html:520 templates/maker/task_editor.html:1023 #: templates/maker/task_editor.html:563 templates/maker/task_editor.html:689
msgid "Direttiva"
msgstr "Directive"
#: templates/maker/task_editor.html:279
msgid "Es. Seguire procedura ISO 2768"
msgstr "E.g. Follow ISO 2768 procedure"
#: templates/maker/task_editor.html:287 templates/maker/task_editor.html:531
msgid "Descrizione opzionale..."
msgstr "Optional description..."
#: templates/maker/task_editor.html:306
msgid "Crea Task"
msgstr "Create Task"
#: templates/maker/task_editor.html:336
msgid "Trascina per riordinare"
msgstr "Drag to reorder"
#: templates/maker/task_editor.html:372
#: templates/maker/version_history.html:188
#: templates/measure/task_list.html:171
msgid "misurazioni"
msgstr "measurements"
#: templates/maker/task_editor.html:382
msgid "Modifica task"
msgstr "Edit task"
#: templates/maker/task_editor.html:414
msgid "Espandi/Comprimi"
msgstr "Expand/Collapse"
#: templates/maker/task_editor.html:425
msgid "Elimina task"
msgstr "Delete task"
#: templates/maker/task_editor.html:467
msgid "Modifica Disegno"
msgstr "Edit Drawing"
#: templates/maker/task_editor.html:489
msgid "Carica immagine o PDF"
msgstr "Upload image or PDF"
#: templates/maker/task_editor.html:524
msgid "Direttiva opzionale..."
msgstr "Optional directive..."
#: templates/maker/task_editor.html:541
msgid "#"
msgstr "#"
#: templates/maker/task_editor.html:543 templates/maker/task_editor.html:669
msgid "Tipo" msgid "Tipo"
msgstr "Type" msgstr "Type"
#: templates/maker/task_editor.html:545 templates/maker/task_editor.html:735 #: templates/maker/task_editor.html:277 templates/maker/task_editor.html:534
#: templates/measure/task_list.html:174
msgid "Nota"
msgstr "Note"
#: templates/maker/task_editor.html:278 templates/maker/task_editor.html:535
#: templates/measure/task_execute.html:288 templates/measure/task_list.html:172
msgid "Misura"
msgstr "Measure"
# Maker - Task Editor
#: templates/maker/task_editor.html:279 templates/maker/task_editor.html:536
#: templates/measure/task_list.html:173
msgid "Disegno"
msgstr "Drawing"
#: templates/maker/task_editor.html:282
msgid "Un task di misura resta tale anche prima di inserire le quote"
msgstr "A measurement task stays one even before its quotes are entered"
#: templates/maker/task_editor.html:287 templates/maker/task_editor.html:515
#: templates/maker/task_editor.html:540 templates/maker/task_editor.html:1043
msgid "Direttiva"
msgstr "Directive"
#: templates/maker/task_editor.html:291
msgid "Es. Seguire procedura ISO 2768"
msgstr "E.g. Follow ISO 2768 procedure"
#: templates/maker/task_editor.html:299 templates/maker/task_editor.html:551
msgid "Descrizione opzionale..."
msgstr "Optional description..."
#: templates/maker/task_editor.html:318
msgid "Crea Task"
msgstr "Create Task"
#: templates/maker/task_editor.html:348
msgid "Trascina per riordinare"
msgstr "Drag to reorder"
#: templates/maker/task_editor.html:384
#: templates/maker/version_history.html:188
#: templates/measure/task_list.html:189
msgid "misurazioni"
msgstr "measurements"
#: templates/maker/task_editor.html:394
msgid "Modifica task"
msgstr "Edit task"
#: templates/maker/task_editor.html:426
msgid "Espandi/Comprimi"
msgstr "Expand/Collapse"
#: templates/maker/task_editor.html:437
msgid "Elimina task"
msgstr "Delete task"
#: templates/maker/task_editor.html:479
msgid "Modifica Disegno"
msgstr "Edit Drawing"
#: templates/maker/task_editor.html:501
msgid "Carica immagine o PDF"
msgstr "Upload image or PDF"
#: templates/maker/task_editor.html:544
msgid "Direttiva opzionale..."
msgstr "Optional directive..."
#: templates/maker/task_editor.html:561
msgid "#"
msgstr "#"
#: templates/maker/task_editor.html:565 templates/maker/task_editor.html:755
msgid "UTL" msgid "UTL"
msgstr "UTL" msgstr "UTL"
#: templates/maker/task_editor.html:546 templates/maker/task_editor.html:728 #: templates/maker/task_editor.html:566 templates/maker/task_editor.html:748
msgid "UWL" msgid "UWL"
msgstr "UWL" msgstr "UWL"
#: templates/maker/task_editor.html:547 templates/maker/task_editor.html:721 #: templates/maker/task_editor.html:567 templates/maker/task_editor.html:741
msgid "LWL" msgid "LWL"
msgstr "LWL" msgstr "LWL"
#: templates/maker/task_editor.html:548 templates/maker/task_editor.html:714 #: templates/maker/task_editor.html:568 templates/maker/task_editor.html:734
msgid "LTL" msgid "LTL"
msgstr "LTL" msgstr "LTL"
#: templates/maker/task_editor.html:549 templates/maker/task_editor.html:694 #: templates/maker/task_editor.html:569 templates/maker/task_editor.html:714
#: templates/measure/task_complete.html:275 #: templates/measure/task_complete.html:275
msgid "Unita" msgid "Unita"
msgstr "Unit" msgstr "Unit"
#: templates/maker/task_editor.html:550 #: templates/maker/task_editor.html:570
msgid "Tolleranze" msgid "Tolleranze"
msgstr "Tolerances" msgstr "Tolerances"
#: templates/maker/task_editor.html:635 #: templates/maker/task_editor.html:655
msgid "Nessuna misurazione definita" msgid "Nessuna misurazione definita"
msgstr "No measurements defined" msgstr "No measurements defined"
#: templates/maker/task_editor.html:638 #: templates/maker/task_editor.html:658
msgid "Aggiungi la prima misurazione per questo task" msgid "Aggiungi la prima misurazione per questo task"
msgstr "Add the first measurement for this task" msgstr "Add the first measurement for this task"
#: templates/maker/task_editor.html:647 #: templates/maker/task_editor.html:667
msgid "Modifica Misurazione" msgid "Modifica Misurazione"
msgstr "Edit Measurement" msgstr "Edit Measurement"
#: templates/maker/task_editor.html:647 #: templates/maker/task_editor.html:667
msgid "Nuova Misurazione" msgid "Nuova Misurazione"
msgstr "New Measurement" msgstr "New Measurement"
#: templates/maker/task_editor.html:652 #: templates/maker/task_editor.html:672
msgid "Marker #" msgid "Marker #"
msgstr "Marker #" msgstr "Marker #"
#: templates/maker/task_editor.html:665 #: templates/maker/task_editor.html:685
msgid "Es. Diametro foro principale" msgid "Es. Diametro foro principale"
msgstr "E.g. Main hole diameter" msgstr "E.g. Main hole diameter"
#: templates/maker/task_editor.html:673 #: templates/maker/task_editor.html:693
msgid "Lineare" msgid "Lineare"
msgstr "Linear" msgstr "Linear"
#: templates/maker/task_editor.html:674 #: templates/maker/task_editor.html:694
msgid "Diametro" msgid "Diametro"
msgstr "Diameter" msgstr "Diameter"
#: templates/maker/task_editor.html:675 #: templates/maker/task_editor.html:695
msgid "Raggio" msgid "Raggio"
msgstr "Radius" msgstr "Radius"
#: templates/maker/task_editor.html:676 #: templates/maker/task_editor.html:696
msgid "Angolo" msgid "Angolo"
msgstr "Angle" msgstr "Angle"
#: templates/maker/task_editor.html:677 #: templates/maker/task_editor.html:697
msgid "Rugosita" msgid "Rugosita"
msgstr "Roughness" msgstr "Roughness"
#: templates/maker/task_editor.html:678 #: templates/maker/task_editor.html:698
msgid "Coppia" msgid "Coppia"
msgstr "Torque" msgstr "Torque"
#: templates/maker/task_editor.html:679 #: templates/maker/task_editor.html:699
msgid "Forza" msgid "Forza"
msgstr "Force" msgstr "Force"
#: templates/maker/task_editor.html:680 #: templates/maker/task_editor.html:700
msgid "Peso" msgid "Peso"
msgstr "Weight" msgstr "Weight"
#: templates/maker/task_editor.html:681 #: templates/maker/task_editor.html:701
msgid "Altro" msgid "Altro"
msgstr "Other" msgstr "Other"
#: templates/maker/task_editor.html:718 #: templates/maker/task_editor.html:738
msgid "Lim. Tol. Inf." msgid "Lim. Tol. Inf."
msgstr "Lower Tol. Lim." msgstr "Lower Tol. Lim."
#: templates/maker/task_editor.html:725 #: templates/maker/task_editor.html:745
msgid "Lim. Warn. Inf." msgid "Lim. Warn. Inf."
msgstr "Lower Warn. Lim." msgstr "Lower Warn. Lim."
#: templates/maker/task_editor.html:732 #: templates/maker/task_editor.html:752
msgid "Lim. Warn. Sup." msgid "Lim. Warn. Sup."
msgstr "Upper Warn. Lim." msgstr "Upper Warn. Lim."
#: templates/maker/task_editor.html:739 #: templates/maker/task_editor.html:759
msgid "Lim. Tol. Sup." msgid "Lim. Tol. Sup."
msgstr "Upper Tol. Lim." msgstr "Upper Tol. Lim."
#: templates/maker/task_editor.html:759 #: templates/maker/task_editor.html:779
msgid "Aggiorna Misurazione" msgid "Aggiorna Misurazione"
msgstr "Update Measurement" msgstr "Update Measurement"
#: templates/maker/task_editor.html:759 templates/maker/task_editor.html:773 #: templates/maker/task_editor.html:779 templates/maker/task_editor.html:793
msgid "Aggiungi Misurazione" msgid "Aggiungi Misurazione"
msgstr "Add Measurement" msgstr "Add Measurement"
#: templates/maker/task_editor.html:797 #: templates/maker/task_editor.html:817
msgid "Inizia aggiungendo il primo task di misurazione per questa ricetta" msgid "Inizia aggiungendo il primo task di misurazione per questa ricetta"
msgstr "Start by adding the first measurement task for this recipe" msgstr "Start by adding the first measurement task for this recipe"
#: templates/maker/task_editor.html:804 #: templates/maker/task_editor.html:824
msgid "Aggiungi Primo Task" msgid "Aggiungi Primo Task"
msgstr "Add First Task" msgstr "Add First Task"
#: templates/maker/task_editor.html:847 #: templates/maker/task_editor.html:867
msgid "Conferma Eliminazione Task" msgid "Conferma Eliminazione Task"
msgstr "Confirm Task Deletion" msgstr "Confirm Task Deletion"
#: templates/maker/task_editor.html:852 #: templates/maker/task_editor.html:872
msgid "Sei sicuro di voler eliminare il task" msgid "Sei sicuro di voler eliminare il task"
msgstr "Are you sure you want to delete the task" msgstr "Are you sure you want to delete the task"
#: templates/maker/task_editor.html:857 #: templates/maker/task_editor.html:877
msgid "Verranno eliminate anche" msgid "Verranno eliminate anche"
msgstr "The following will also be deleted:" msgstr "The following will also be deleted:"
#: templates/maker/task_editor.html:859 #: templates/maker/task_editor.html:879
msgid "misurazioni associate." msgid "misurazioni associate."
msgstr "associated measurements." msgstr "associated measurements."
#: templates/maker/task_editor.html:870 #: templates/maker/task_editor.html:890
msgid "Elimina Task" msgid "Elimina Task"
msgstr "Delete Task" msgstr "Delete Task"
#: templates/maker/task_editor.html:917 #: templates/maker/task_editor.html:937
msgid "Conferma Eliminazione Misurazione" msgid "Conferma Eliminazione Misurazione"
msgstr "Confirm Measurement Deletion" msgstr "Confirm Measurement Deletion"
#: templates/maker/task_editor.html:921 #: templates/maker/task_editor.html:941
msgid "Sei sicuro di voler eliminare la misurazione" msgid "Sei sicuro di voler eliminare la misurazione"
msgstr "Are you sure you want to delete the measurement" msgstr "Are you sure you want to delete the measurement"
#: templates/maker/task_editor.html:935 #: templates/maker/task_editor.html:955
msgid "Elimina Misurazione" msgid "Elimina Misurazione"
msgstr "Delete Measurement" msgstr "Delete Measurement"
#: templates/maker/task_editor.html:967 #: templates/maker/task_editor.html:987
msgid "Importa da Scheda Tecnica" msgid "Importa da Scheda Tecnica"
msgstr "Import from Technical Sheet" msgstr "Import from Technical Sheet"
#: templates/maker/task_editor.html:968 #: templates/maker/task_editor.html:988
msgid "Carica un PDF e l'AI estrarrà i task automaticamente" msgid "Carica un PDF e l'AI estrarrà i task automaticamente"
msgstr "Upload a PDF and the AI will extract tasks automatically" msgstr "Upload a PDF and the AI will extract tasks automatically"
#: templates/maker/task_editor.html:982 #: templates/maker/task_editor.html:1002
msgid "Clicca per caricare un PDF" msgid "Clicca per caricare un PDF"
msgstr "Click to upload a PDF" msgstr "Click to upload a PDF"
#: templates/maker/task_editor.html:983 #: templates/maker/task_editor.html:1003
msgid "Max 20MB" msgid "Max 20MB"
msgstr "Max 20MB" msgstr "Max 20MB"
#: templates/maker/task_editor.html:994 #: templates/maker/task_editor.html:1014
msgid "Analisi in corso con AI..." msgid "Analisi in corso con AI..."
msgstr "AI analysis in progress..." msgstr "AI analysis in progress..."
#: templates/maker/task_editor.html:995 #: templates/maker/task_editor.html:1015
msgid "Potrebbe richiedere fino a 30 secondi" msgid "Potrebbe richiedere fino a 30 secondi"
msgstr "It may take up to 30 seconds" msgstr "It may take up to 30 seconds"
#: templates/maker/task_editor.html:1001 #: templates/maker/task_editor.html:1021
msgid "Riprova" msgid "Riprova"
msgstr "Retry" msgstr "Retry"
#: templates/maker/task_editor.html:1007 #: templates/maker/task_editor.html:1027
msgid "task suggeriti — modifica o rimuovi prima di confermare" msgid "task suggeriti — modifica o rimuovi prima di confermare"
msgstr "suggested tasks — edit or remove before confirming" msgstr "suggested tasks — edit or remove before confirming"
#: templates/maker/task_editor.html:1049 #: templates/maker/task_editor.html:1069
msgid "Crea" msgid "Crea"
msgstr "Create" msgstr "Create"
#: templates/maker/task_editor.html:1234 #: templates/maker/task_editor.html:1254
msgid "Errore nell'analisi del PDF" msgid "Errore nell'analisi del PDF"
msgstr "Error parsing the PDF" msgstr "Error parsing the PDF"
#: templates/maker/task_editor.html:1238 #: templates/maker/task_editor.html:1258
msgid "Nessun task identificato nel PDF" msgid "Nessun task identificato nel PDF"
msgstr "No tasks identified in the PDF" msgstr "No tasks identified in the PDF"
#: templates/maker/task_editor.html:1283 #: templates/maker/task_editor.html:1303
msgid "task creati dalla scheda tecnica" msgid "task creati dalla scheda tecnica"
msgstr "tasks created from the technical sheet" msgstr "tasks created from the technical sheet"
#: templates/maker/task_editor.html:1309 #: templates/maker/task_editor.html:1330
msgid "Errore nella creazione del task" msgid "Errore nella creazione del task"
msgstr "Error creating task" msgstr "Error creating task"
#: templates/maker/task_editor.html:1317 #: templates/maker/task_editor.html:1338
msgid "Task creato con successo" msgid "Task creato con successo"
msgstr "Task created successfully" msgstr "Task created successfully"
#: templates/maker/task_editor.html:1365 templates/maker/task_editor.html:1761 #: templates/maker/task_editor.html:1388 templates/maker/task_editor.html:1784
msgid "Errore nel salvataggio del task" msgid "Errore nel salvataggio del task"
msgstr "Error saving task" msgstr "Error saving task"
#: templates/maker/task_editor.html:1378 #: templates/maker/task_editor.html:1401
msgid "Task aggiornato" msgid "Task aggiornato"
msgstr "Task updated" msgstr "Task updated"
#: templates/maker/task_editor.html:1408 #: templates/maker/task_editor.html:1431
msgid "Task eliminato" msgid "Task eliminato"
msgstr "Task deleted" msgstr "Task deleted"
#: templates/maker/task_editor.html:1411 #: templates/maker/task_editor.html:1434
msgid "Errore nell'eliminazione del task" msgid "Errore nell'eliminazione del task"
msgstr "Error deleting task" msgstr "Error deleting task"
#: templates/maker/task_editor.html:1506 #: templates/maker/task_editor.html:1529
msgid "Errore nel riordinamento" msgid "Errore nel riordinamento"
msgstr "Error reordering" msgstr "Error reordering"
#: templates/maker/task_editor.html:1574 #: templates/maker/task_editor.html:1597
msgid "Errore nella creazione della misurazione" msgid "Errore nella creazione della misurazione"
msgstr "Error creating measurement" msgstr "Error creating measurement"
#: templates/maker/task_editor.html:1582 #: templates/maker/task_editor.html:1605
msgid "Misurazione aggiunta" msgid "Misurazione aggiunta"
msgstr "Measurement added" msgstr "Measurement added"
#: templates/maker/task_editor.html:1645 #: templates/maker/task_editor.html:1668
#: templates/measure/task_execute.html:976 #: templates/measure/task_execute.html:995
msgid "Errore nel salvataggio della misurazione" msgid "Errore nel salvataggio della misurazione"
msgstr "Error saving measurement" msgstr "Error saving measurement"
#: templates/maker/task_editor.html:1656 #: templates/maker/task_editor.html:1679
msgid "Misurazione aggiornata" msgid "Misurazione aggiornata"
msgstr "Measurement updated" msgstr "Measurement updated"
#: templates/maker/task_editor.html:1690 #: templates/maker/task_editor.html:1713
msgid "Misurazione eliminata" msgid "Misurazione eliminata"
msgstr "Measurement deleted" msgstr "Measurement deleted"
#: templates/maker/task_editor.html:1693 #: templates/maker/task_editor.html:1716
msgid "Errore nell'eliminazione della misurazione" msgid "Errore nell'eliminazione della misurazione"
msgstr "Error deleting measurement" msgstr "Error deleting measurement"
#: templates/maker/task_editor.html:1712 #: templates/maker/task_editor.html:1735
msgid "Formato file non supportato. Usa PNG, JPG o PDF." msgid "Formato file non supportato. Usa PNG, JPG o PDF."
msgstr "Unsupported file format. Use PNG, JPG or PDF." msgstr "Unsupported file format. Use PNG, JPG or PDF."
#: templates/maker/task_editor.html:1717 #: templates/maker/task_editor.html:1740
msgid "File troppo grande. Dimensione massima: 20MB." msgid "File troppo grande. Dimensione massima: 20MB."
msgstr "File too large. Maximum size: 20MB." msgstr "File too large. Maximum size: 20MB."
#: templates/maker/task_editor.html:1738 #: templates/maker/task_editor.html:1761
msgid "Errore durante il caricamento del file" msgid "Errore durante il caricamento del file"
msgstr "Error uploading file" msgstr "Error uploading file"
#: templates/maker/task_editor.html:1769 #: templates/maker/task_editor.html:1792
msgid "File caricato con successo" msgid "File caricato con successo"
msgstr "File uploaded successfully" msgstr "File uploaded successfully"
@@ -1770,13 +1791,13 @@ msgstr "Search"
#: templates/measure/task_complete.html:3 #: templates/measure/task_complete.html:3
#: templates/measure/task_complete.html:36 #: templates/measure/task_complete.html:36
#: templates/measure/task_execute.html:112 #: templates/measure/task_execute.html:112
#: templates/measure/task_execute.html:640 #: templates/measure/task_execute.html:659
#: templates/statistics/dashboard.html:139 #: templates/statistics/dashboard.html:139
msgid "Riepilogo" msgid "Riepilogo"
msgstr "Summary" msgstr "Summary"
#: templates/measure/task_complete.html:44 #: templates/measure/task_complete.html:44
#: templates/measure/task_execute.html:617 #: templates/measure/task_execute.html:636
msgid "Misurazioni Complete" msgid "Misurazioni Complete"
msgstr "Measurements Complete" msgstr "Measurements Complete"
@@ -1797,12 +1818,12 @@ msgid "Totale"
msgstr "Total" msgstr "Total"
#: templates/measure/task_complete.html:103 #: templates/measure/task_complete.html:103
#: templates/measure/task_execute.html:625 #: templates/measure/task_execute.html:644
msgid "Conformi" msgid "Conformi"
msgstr "Pass" msgstr "Pass"
#: templates/measure/task_complete.html:120 #: templates/measure/task_complete.html:120
#: templates/measure/task_execute.html:629 #: templates/measure/task_execute.html:648
msgid "Attenzione" msgid "Attenzione"
msgstr "Warning" msgstr "Warning"
@@ -1990,10 +2011,6 @@ msgstr "Measurement detail image"
msgid "Misurazione" msgid "Misurazione"
msgstr "Measurement" msgstr "Measurement"
#: templates/measure/task_execute.html:288
msgid "Misura"
msgstr "Measure"
#: templates/measure/task_execute.html:364 #: templates/measure/task_execute.html:364
msgid "Registrata" msgid "Registrata"
msgstr "Recorded" msgstr "Recorded"
@@ -2007,108 +2024,112 @@ msgid "Ciclo"
msgstr "Cycle" msgstr "Cycle"
#: templates/measure/task_execute.html:456 #: templates/measure/task_execute.html:456
msgid "Task di misura senza quote configurate: la ricetta è incompleta"
msgstr "Measurement task with no quotes configured: the recipe is incomplete"
#: templates/measure/task_execute.html:475
msgid "Linea ferma" msgid "Linea ferma"
msgstr "Line stopped" msgstr "Line stopped"
#: templates/measure/task_execute.html:459 #: templates/measure/task_execute.html:478
msgid "Il conto alla rovescia è congelato a" msgid "Il conto alla rovescia è congelato a"
msgstr "The countdown is frozen at" msgstr "The countdown is frozen at"
#: templates/measure/task_execute.html:461 #: templates/measure/task_execute.html:480
msgid "serve il capoturno per riprendere" msgid "serve il capoturno per riprendere"
msgstr "the supervisor must authorise the restart" msgstr "the supervisor must authorise the restart"
#: templates/measure/task_execute.html:480 #: templates/measure/task_execute.html:499
msgid "Produzione non registrata sul server" msgid "Produzione non registrata sul server"
msgstr "Production not recorded on the server" msgstr "Production not recorded on the server"
#: templates/measure/task_execute.html:501 #: templates/measure/task_execute.html:520
#: templates/measure/task_execute.html:667 #: templates/measure/task_execute.html:686
msgid "Avvio Produzione" msgid "Avvio Produzione"
msgstr "Production Start" msgstr "Production Start"
#: templates/measure/task_execute.html:505 #: templates/measure/task_execute.html:524
msgid "Invia segnale al gestionale per avviare il timer della linea" msgid "Invia segnale al gestionale per avviare il timer della linea"
msgstr "Send a signal to the ERP system to start the line timer" msgstr "Send a signal to the ERP system to start the line timer"
#: templates/measure/task_execute.html:516 #: templates/measure/task_execute.html:535
msgid "Produzione avviata" msgid "Produzione avviata"
msgstr "Production started" msgstr "Production started"
#: templates/measure/task_execute.html:561 #: templates/measure/task_execute.html:580
msgid "Fine ciclo misura" msgid "Fine ciclo misura"
msgstr "Measurement cycle complete" msgstr "Measurement cycle complete"
#: templates/measure/task_execute.html:571 #: templates/measure/task_execute.html:590
#: templates/measure/task_execute.html:585 #: templates/measure/task_execute.html:604
msgid "Completato" msgid "Completato"
msgstr "Completed" msgstr "Completed"
#: templates/measure/task_execute.html:619 #: templates/measure/task_execute.html:638
msgid "Tutte le" msgid "Tutte le"
msgstr "All" msgstr "All"
#: templates/measure/task_execute.html:619 #: templates/measure/task_execute.html:638
msgid "misurazioni sono state registrate." msgid "misurazioni sono state registrate."
msgstr "measurements have been recorded." msgstr "measurements have been recorded."
#: templates/measure/task_execute.html:633 #: templates/measure/task_execute.html:652
msgid "Non Conf." msgid "Non Conf."
msgstr "Fail" msgstr "Fail"
#: templates/measure/task_execute.html:647 #: templates/measure/task_execute.html:666
msgid "Conferma ciclo" msgid "Conferma ciclo"
msgstr "Confirm cycle" msgstr "Confirm cycle"
#: templates/measure/task_execute.html:657 #: templates/measure/task_execute.html:676
msgid "Task successivo" msgid "Task successivo"
msgstr "Next task" msgstr "Next task"
#: templates/measure/task_execute.html:697 #: templates/measure/task_execute.html:716
msgid "Autorizzazione capoturno" msgid "Autorizzazione capoturno"
msgstr "Shift supervisor authorization" msgstr "Shift supervisor authorization"
#: templates/measure/task_execute.html:706 #: templates/measure/task_execute.html:725
msgid "Username capoturno" msgid "Username capoturno"
msgstr "Supervisor username" msgstr "Supervisor username"
#: templates/measure/task_execute.html:728 #: templates/measure/task_execute.html:747
msgid "Autorizza" msgid "Autorizza"
msgstr "Authorize" msgstr "Authorize"
#: templates/measure/task_execute.html:1020 #: templates/measure/task_execute.html:1039
msgid "Errore di rete. Riprovare." msgid "Errore di rete. Riprovare."
msgstr "Network error. Please retry." msgstr "Network error. Please retry."
#: templates/measure/task_execute.html:1097 #: templates/measure/task_execute.html:1116
msgid "Errore di comunicazione con il server" msgid "Errore di comunicazione con il server"
msgstr "Error communicating with the server" msgstr "Error communicating with the server"
#: templates/measure/task_execute.html:1248 #: templates/measure/task_execute.html:1284
msgid "Misurazione fuori tolleranza" msgid "Misurazione fuori tolleranza"
msgstr "Measurement out of tolerance" msgstr "Measurement out of tolerance"
#: templates/measure/task_execute.html:1249 #: templates/measure/task_execute.html:1285
msgid "Fermo linea richiesto" msgid "Fermo linea richiesto"
msgstr "Line stop requested" msgstr "Line stop requested"
#: templates/measure/task_execute.html:1250 #: templates/measure/task_execute.html:1286
msgid "Ripresa della produzione" msgid "Ripresa della produzione"
msgstr "Resuming production" msgstr "Resuming production"
#: templates/measure/task_execute.html:1251 #: templates/measure/task_execute.html:1287
msgid "Fine produzione richiesta" msgid "Fine produzione richiesta"
msgstr "End of production requested" msgstr "End of production requested"
#: templates/measure/task_execute.html:1280 #: templates/measure/task_execute.html:1316
msgid "Credenziali non valide o utente non autorizzato" msgid "Credenziali non valide o utente non autorizzato"
msgstr "Invalid credentials or unauthorized user" msgstr "Invalid credentials or unauthorized user"
#: templates/measure/task_execute.html:1312 #: templates/measure/task_execute.html:1348
msgid "Nessuna produzione aperta su questa stazione" msgid "Nessuna produzione aperta su questa stazione"
msgstr "No production open at this station" msgstr "No production open at this station"
#: templates/measure/task_execute.html:1329 #: templates/measure/task_execute.html:1365
msgid "Azione non riuscita" msgid "Azione non riuscita"
msgstr "Action failed" msgstr "Action failed"
@@ -2124,19 +2145,27 @@ msgstr "Tasks to execute"
msgid "misurazioni totali" msgid "misurazioni totali"
msgstr "total measurements" msgstr "total measurements"
#: templates/measure/task_list.html:180 #: templates/measure/task_list.html:175
msgid "Confronto profilo"
msgstr "Profile comparison"
#: templates/measure/task_list.html:176
msgid "Misura camera"
msgstr "Camera measurement"
#: templates/measure/task_list.html:198
msgid "Allegato" msgid "Allegato"
msgstr "Attachment" msgstr "Attachment"
#: templates/measure/task_list.html:204 #: templates/measure/task_list.html:222
msgid "Visualizza Task" msgid "Visualizza Task"
msgstr "View Tasks" msgstr "View Tasks"
#: templates/measure/task_list.html:227 #: templates/measure/task_list.html:245
msgid "Nessun task disponibile" msgid "Nessun task disponibile"
msgstr "No tasks available" msgstr "No tasks available"
#: templates/measure/task_list.html:230 #: templates/measure/task_list.html:248
msgid "Questa ricetta non ha ancora task definiti." msgid "Questa ricetta non ha ancora task definiti."
msgstr "This recipe has no tasks defined yet." msgstr "This recipe has no tasks defined yet."
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TieMeasureFlow 1.0\n" "Project-Id-Version: TieMeasureFlow 1.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-28 17:30+0000\n" "POT-Creation-Date: 2026-07-28 18:13+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: it\n" "Language: it\n"
@@ -236,11 +236,11 @@ msgstr "Salva impostazioni"
#: templates/admin/stations.html:665 templates/admin/stations.html:700 #: templates/admin/stations.html:665 templates/admin/stations.html:700
#: templates/admin/stations.html:723 templates/admin/users.html:497 #: templates/admin/stations.html:723 templates/admin/users.html:497
#: templates/admin/users.html:533 templates/maker/recipe_editor.html:571 #: templates/admin/users.html:533 templates/maker/recipe_editor.html:571
#: templates/maker/task_drawing.html:65 templates/maker/task_editor.html:1243 #: templates/maker/task_drawing.html:65 templates/maker/task_editor.html:1263
#: templates/maker/task_editor.html:1321 templates/maker/task_editor.html:1382 #: templates/maker/task_editor.html:1342 templates/maker/task_editor.html:1405
#: templates/maker/task_editor.html:1415 templates/maker/task_editor.html:1510 #: templates/maker/task_editor.html:1438 templates/maker/task_editor.html:1533
#: templates/maker/task_editor.html:1586 templates/maker/task_editor.html:1660 #: templates/maker/task_editor.html:1609 templates/maker/task_editor.html:1683
#: templates/maker/task_editor.html:1697 templates/maker/task_editor.html:1776 #: templates/maker/task_editor.html:1720 templates/maker/task_editor.html:1799
#: templates/statistics/dashboard.html:372 #: templates/statistics/dashboard.html:372
#: templates/statistics/dashboard.html:457 #: templates/statistics/dashboard.html:457
msgid "Errore di connessione al server" msgid "Errore di connessione al server"
@@ -293,7 +293,7 @@ msgid "Stato"
msgstr "Stato" msgstr "Stato"
#: templates/admin/stations.html:54 templates/admin/users.html:53 #: templates/admin/stations.html:54 templates/admin/users.html:53
#: templates/maker/task_editor.html:551 #: templates/maker/task_editor.html:571
msgid "Azioni" msgid "Azioni"
msgstr "Azioni" msgstr "Azioni"
@@ -324,13 +324,13 @@ msgid "Nessuna ricetta da azzerare"
msgstr "Nessuna ricetta da azzerare" msgstr "Nessuna ricetta da azzerare"
#: templates/admin/stations.html:113 templates/admin/users.html:100 #: templates/admin/stations.html:113 templates/admin/users.html:100
#: templates/maker/recipe_list.html:237 templates/maker/task_editor.html:602 #: templates/maker/recipe_list.html:237 templates/maker/task_editor.html:622
msgid "Modifica" msgid "Modifica"
msgstr "Modifica" msgstr "Modifica"
#: templates/admin/stations.html:120 templates/admin/stations.html:421 #: templates/admin/stations.html:120 templates/admin/stations.html:421
#: templates/maker/recipe_list.html:277 templates/maker/recipe_list.html:387 #: templates/maker/recipe_list.html:277 templates/maker/recipe_list.html:387
#: templates/maker/task_drawing.html:275 templates/maker/task_editor.html:610 #: templates/maker/task_drawing.html:275 templates/maker/task_editor.html:630
msgid "Elimina" msgid "Elimina"
msgstr "Elimina" msgstr "Elimina"
@@ -374,11 +374,11 @@ msgstr "Note opzionali"
#: templates/admin/stations.html:416 templates/admin/users.html:292 #: templates/admin/stations.html:416 templates/admin/users.html:292
#: templates/admin/users.html:323 templates/maker/recipe_editor.html:137 #: templates/admin/users.html:323 templates/maker/recipe_editor.html:137
#: templates/maker/recipe_editor.html:456 templates/maker/recipe_list.html:383 #: templates/maker/recipe_editor.html:456 templates/maker/recipe_list.html:383
#: templates/maker/task_editor.html:294 templates/maker/task_editor.html:403 #: templates/maker/task_editor.html:306 templates/maker/task_editor.html:415
#: templates/maker/task_editor.html:747 templates/maker/task_editor.html:866 #: templates/maker/task_editor.html:767 templates/maker/task_editor.html:886
#: templates/maker/task_editor.html:931 templates/maker/task_editor.html:1036 #: templates/maker/task_editor.html:951 templates/maker/task_editor.html:1056
#: templates/measure/select_recipe.html:367 #: templates/measure/select_recipe.html:367
#: templates/measure/task_execute.html:719 #: templates/measure/task_execute.html:738
msgid "Annulla" msgid "Annulla"
msgstr "Annulla" msgstr "Annulla"
@@ -523,7 +523,7 @@ msgstr "Nuovo Utente"
#: templates/admin/users.html:48 templates/admin/users.html:173 #: templates/admin/users.html:48 templates/admin/users.html:173
#: templates/admin/users.html:179 templates/auth/login.html:35 #: templates/admin/users.html:179 templates/auth/login.html:35
#: templates/auth/login.html:49 templates/auth/profile.html:36 #: templates/auth/login.html:49 templates/auth/profile.html:36
#: templates/measure/task_execute.html:704 #: templates/measure/task_execute.html:723
msgid "Username" msgid "Username"
msgstr "Username" msgstr "Username"
@@ -575,7 +575,7 @@ msgstr "Il nome utente non può essere modificato"
#: templates/admin/users.html:206 templates/admin/users.html:214 #: templates/admin/users.html:206 templates/admin/users.html:214
#: templates/auth/login.html:57 templates/auth/login.html:71 #: templates/auth/login.html:57 templates/auth/login.html:71
#: templates/measure/task_execute.html:709 #: templates/measure/task_execute.html:728
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
@@ -851,7 +851,7 @@ msgstr "Nuova Ricetta"
msgid "Compila i dati della ricetta" msgid "Compila i dati della ricetta"
msgstr "Compila i dati della ricetta" msgstr "Compila i dati della ricetta"
#: templates/maker/recipe_editor.html:107 templates/maker/task_editor.html:396 #: templates/maker/recipe_editor.html:107 templates/maker/task_editor.html:408
msgid "Salva" msgid "Salva"
msgstr "Salva" msgstr "Salva"
@@ -866,7 +866,7 @@ msgstr "Anteprima"
#: templates/maker/recipe_editor.html:128 templates/maker/recipe_list.html:246 #: templates/maker/recipe_editor.html:128 templates/maker/recipe_list.html:246
#: templates/maker/task_drawing.html:106 templates/maker/task_editor.html:130 #: templates/maker/task_drawing.html:106 templates/maker/task_editor.html:130
#: templates/measure/task_complete.html:168 #: templates/measure/task_complete.html:168
#: templates/measure/task_execute.html:532 templates/measure/task_list.html:2 #: templates/measure/task_execute.html:551 templates/measure/task_list.html:2
#: templates/measure/task_list.html:156 #: templates/measure/task_list.html:156
msgid "Task" msgid "Task"
msgstr "Task" msgstr "Task"
@@ -891,10 +891,10 @@ msgstr "Il codice non puo essere modificato dopo la creazione"
msgid "Es. Coupling Assembly 256" msgid "Es. Coupling Assembly 256"
msgstr "Es. Coupling Assembly 256" msgstr "Es. Coupling Assembly 256"
#: templates/maker/recipe_editor.html:226 templates/maker/task_editor.html:283 #: templates/maker/recipe_editor.html:226 templates/maker/task_editor.html:295
#: templates/maker/task_editor.html:509 templates/maker/task_editor.html:527 #: templates/maker/task_editor.html:521 templates/maker/task_editor.html:547
#: templates/maker/task_editor.html:542 templates/maker/task_editor.html:660 #: templates/maker/task_editor.html:562 templates/maker/task_editor.html:680
#: templates/maker/task_editor.html:1025 #: templates/maker/task_editor.html:1045
#: templates/measure/task_complete.html:169 #: templates/measure/task_complete.html:169
msgid "Descrizione" msgid "Descrizione"
msgstr "Descrizione" msgstr "Descrizione"
@@ -928,7 +928,7 @@ msgstr "Immagine caricata"
msgid "Caricamento in corso..." msgid "Caricamento in corso..."
msgstr "Caricamento in corso..." msgstr "Caricamento in corso..."
#: templates/maker/recipe_editor.html:302 templates/maker/task_editor.html:473 #: templates/maker/recipe_editor.html:302 templates/maker/task_editor.html:485
msgid "Sostituisci" msgid "Sostituisci"
msgstr "Sostituisci" msgstr "Sostituisci"
@@ -1015,8 +1015,8 @@ msgstr "Errore durante eliminazione"
# Recipe Selection Additional # Recipe Selection Additional
#: templates/maker/recipe_list.html:55 templates/measure/select_recipe.html:55 #: templates/maker/recipe_list.html:55 templates/measure/select_recipe.html:55
#: templates/measure/task_execute.html:1102 #: templates/measure/task_execute.html:1121
#: templates/measure/task_execute.html:1301 #: templates/measure/task_execute.html:1337
msgid "Errore di connessione" msgid "Errore di connessione"
msgstr "Errore di connessione" msgstr "Errore di connessione"
@@ -1054,7 +1054,7 @@ msgid "ricette trovate"
msgstr "ricette trovate" msgstr "ricette trovate"
#: templates/maker/recipe_list.html:211 templates/maker/task_editor.html:222 #: templates/maker/recipe_list.html:211 templates/maker/task_editor.html:222
#: templates/maker/task_editor.html:1049 #: templates/maker/task_editor.html:1069
msgid "task" msgid "task"
msgstr "task" msgstr "task"
@@ -1133,7 +1133,7 @@ msgstr ""
msgid "misure" msgid "misure"
msgstr "misure" msgstr "misure"
#: templates/maker/recipe_preview.html:213 templates/maker/task_editor.html:448 #: templates/maker/recipe_preview.html:213 templates/maker/task_editor.html:460
msgid "Disegno Tecnico" msgid "Disegno Tecnico"
msgstr "Disegno Tecnico" msgstr "Disegno Tecnico"
@@ -1154,8 +1154,8 @@ msgstr "Nessuna immagine allegata"
msgid "Punti di Misura" msgid "Punti di Misura"
msgstr "Punti di Misura" msgstr "Punti di Misura"
#: templates/maker/recipe_preview.html:299 templates/maker/task_editor.html:544 #: templates/maker/recipe_preview.html:299 templates/maker/task_editor.html:564
#: templates/maker/task_editor.html:686 #: templates/maker/task_editor.html:706
#: templates/measure/task_complete.html:170 #: templates/measure/task_complete.html:170
#: templates/measure/task_execute.html:300 #: templates/measure/task_execute.html:300
msgid "Nominale" msgid "Nominale"
@@ -1165,7 +1165,7 @@ msgstr "Nominale"
msgid "Nessun punto di misura definito per questo task" msgid "Nessun punto di misura definito per questo task"
msgstr "Nessun punto di misura definito per questo task" msgstr "Nessun punto di misura definito per questo task"
#: templates/maker/recipe_preview.html:383 templates/maker/task_editor.html:794 #: templates/maker/recipe_preview.html:383 templates/maker/task_editor.html:814
msgid "Nessun task definito" msgid "Nessun task definito"
msgstr "Nessun task definito" msgstr "Nessun task definito"
@@ -1313,7 +1313,7 @@ msgstr "Importa da PDF"
msgid "Nuovo Task" msgid "Nuovo Task"
msgstr "Nuovo Task" msgstr "Nuovo Task"
#: templates/maker/task_editor.html:265 templates/maker/task_editor.html:1021 #: templates/maker/task_editor.html:265 templates/maker/task_editor.html:1041
msgid "Titolo" msgid "Titolo"
msgstr "Titolo" msgstr "Titolo"
@@ -1321,328 +1321,349 @@ msgstr "Titolo"
msgid "Es. Controllo dimensionale flangia" msgid "Es. Controllo dimensionale flangia"
msgstr "Es. Controllo dimensionale flangia" msgstr "Es. Controllo dimensionale flangia"
#: templates/maker/task_editor.html:275 templates/maker/task_editor.html:503 #: templates/maker/task_editor.html:275 templates/maker/task_editor.html:532
#: templates/maker/task_editor.html:520 templates/maker/task_editor.html:1023 #: templates/maker/task_editor.html:563 templates/maker/task_editor.html:689
msgid "Direttiva"
msgstr "Direttiva"
#: templates/maker/task_editor.html:279
msgid "Es. Seguire procedura ISO 2768"
msgstr "Es. Seguire procedura ISO 2768"
#: templates/maker/task_editor.html:287 templates/maker/task_editor.html:531
msgid "Descrizione opzionale..."
msgstr "Descrizione opzionale..."
#: templates/maker/task_editor.html:306
msgid "Crea Task"
msgstr "Crea Task"
#: templates/maker/task_editor.html:336
msgid "Trascina per riordinare"
msgstr "Trascina per riordinare"
#: templates/maker/task_editor.html:372
#: templates/maker/version_history.html:188
#: templates/measure/task_list.html:171
msgid "misurazioni"
msgstr "misurazioni"
#: templates/maker/task_editor.html:382
msgid "Modifica task"
msgstr "Modifica task"
#: templates/maker/task_editor.html:414
msgid "Espandi/Comprimi"
msgstr "Espandi/Comprimi"
#: templates/maker/task_editor.html:425
msgid "Elimina task"
msgstr "Elimina task"
#: templates/maker/task_editor.html:467
msgid "Modifica Disegno"
msgstr "Modifica Disegno"
#: templates/maker/task_editor.html:489
msgid "Carica immagine o PDF"
msgstr "Carica immagine o PDF"
#: templates/maker/task_editor.html:524
msgid "Direttiva opzionale..."
msgstr "Direttiva opzionale..."
#: templates/maker/task_editor.html:541
msgid "#"
msgstr "#"
#: templates/maker/task_editor.html:543 templates/maker/task_editor.html:669
msgid "Tipo" msgid "Tipo"
msgstr "Tipo" msgstr "Tipo"
#: templates/maker/task_editor.html:545 templates/maker/task_editor.html:735 #: templates/maker/task_editor.html:277 templates/maker/task_editor.html:534
#: templates/measure/task_list.html:174
msgid "Nota"
msgstr "Nota"
#: templates/maker/task_editor.html:278 templates/maker/task_editor.html:535
#: templates/measure/task_execute.html:288 templates/measure/task_list.html:172
msgid "Misura"
msgstr "Misura"
# Maker - Task Editor
#: templates/maker/task_editor.html:279 templates/maker/task_editor.html:536
#: templates/measure/task_list.html:173
msgid "Disegno"
msgstr "Disegno"
#: templates/maker/task_editor.html:282
msgid "Un task di misura resta tale anche prima di inserire le quote"
msgstr "Un task di misura resta tale anche prima di inserire le quote"
#: templates/maker/task_editor.html:287 templates/maker/task_editor.html:515
#: templates/maker/task_editor.html:540 templates/maker/task_editor.html:1043
msgid "Direttiva"
msgstr "Direttiva"
#: templates/maker/task_editor.html:291
msgid "Es. Seguire procedura ISO 2768"
msgstr "Es. Seguire procedura ISO 2768"
#: templates/maker/task_editor.html:299 templates/maker/task_editor.html:551
msgid "Descrizione opzionale..."
msgstr "Descrizione opzionale..."
#: templates/maker/task_editor.html:318
msgid "Crea Task"
msgstr "Crea Task"
#: templates/maker/task_editor.html:348
msgid "Trascina per riordinare"
msgstr "Trascina per riordinare"
#: templates/maker/task_editor.html:384
#: templates/maker/version_history.html:188
#: templates/measure/task_list.html:189
msgid "misurazioni"
msgstr "misurazioni"
#: templates/maker/task_editor.html:394
msgid "Modifica task"
msgstr "Modifica task"
#: templates/maker/task_editor.html:426
msgid "Espandi/Comprimi"
msgstr "Espandi/Comprimi"
#: templates/maker/task_editor.html:437
msgid "Elimina task"
msgstr "Elimina task"
#: templates/maker/task_editor.html:479
msgid "Modifica Disegno"
msgstr "Modifica Disegno"
#: templates/maker/task_editor.html:501
msgid "Carica immagine o PDF"
msgstr "Carica immagine o PDF"
#: templates/maker/task_editor.html:544
msgid "Direttiva opzionale..."
msgstr "Direttiva opzionale..."
#: templates/maker/task_editor.html:561
msgid "#"
msgstr "#"
#: templates/maker/task_editor.html:565 templates/maker/task_editor.html:755
msgid "UTL" msgid "UTL"
msgstr "UTL" msgstr "UTL"
#: templates/maker/task_editor.html:546 templates/maker/task_editor.html:728 #: templates/maker/task_editor.html:566 templates/maker/task_editor.html:748
msgid "UWL" msgid "UWL"
msgstr "UWL" msgstr "UWL"
#: templates/maker/task_editor.html:547 templates/maker/task_editor.html:721 #: templates/maker/task_editor.html:567 templates/maker/task_editor.html:741
msgid "LWL" msgid "LWL"
msgstr "LWL" msgstr "LWL"
#: templates/maker/task_editor.html:548 templates/maker/task_editor.html:714 #: templates/maker/task_editor.html:568 templates/maker/task_editor.html:734
msgid "LTL" msgid "LTL"
msgstr "LTL" msgstr "LTL"
#: templates/maker/task_editor.html:549 templates/maker/task_editor.html:694 #: templates/maker/task_editor.html:569 templates/maker/task_editor.html:714
#: templates/measure/task_complete.html:275 #: templates/measure/task_complete.html:275
msgid "Unita" msgid "Unita"
msgstr "Unita" msgstr "Unita"
#: templates/maker/task_editor.html:550 #: templates/maker/task_editor.html:570
msgid "Tolleranze" msgid "Tolleranze"
msgstr "Tolleranze" msgstr "Tolleranze"
#: templates/maker/task_editor.html:635 #: templates/maker/task_editor.html:655
msgid "Nessuna misurazione definita" msgid "Nessuna misurazione definita"
msgstr "Nessuna misurazione definita" msgstr "Nessuna misurazione definita"
#: templates/maker/task_editor.html:638 #: templates/maker/task_editor.html:658
msgid "Aggiungi la prima misurazione per questo task" msgid "Aggiungi la prima misurazione per questo task"
msgstr "Aggiungi la prima misurazione per questo task" msgstr "Aggiungi la prima misurazione per questo task"
#: templates/maker/task_editor.html:647 #: templates/maker/task_editor.html:667
msgid "Modifica Misurazione" msgid "Modifica Misurazione"
msgstr "Modifica Misurazione" msgstr "Modifica Misurazione"
#: templates/maker/task_editor.html:647 #: templates/maker/task_editor.html:667
msgid "Nuova Misurazione" msgid "Nuova Misurazione"
msgstr "Nuova Misurazione" msgstr "Nuova Misurazione"
#: templates/maker/task_editor.html:652 #: templates/maker/task_editor.html:672
msgid "Marker #" msgid "Marker #"
msgstr "Marker #" msgstr "Marker #"
#: templates/maker/task_editor.html:665 #: templates/maker/task_editor.html:685
msgid "Es. Diametro foro principale" msgid "Es. Diametro foro principale"
msgstr "Es. Diametro foro principale" msgstr "Es. Diametro foro principale"
#: templates/maker/task_editor.html:673 #: templates/maker/task_editor.html:693
msgid "Lineare" msgid "Lineare"
msgstr "Lineare" msgstr "Lineare"
#: templates/maker/task_editor.html:674 #: templates/maker/task_editor.html:694
msgid "Diametro" msgid "Diametro"
msgstr "Diametro" msgstr "Diametro"
#: templates/maker/task_editor.html:675 #: templates/maker/task_editor.html:695
msgid "Raggio" msgid "Raggio"
msgstr "Raggio" msgstr "Raggio"
#: templates/maker/task_editor.html:676 #: templates/maker/task_editor.html:696
msgid "Angolo" msgid "Angolo"
msgstr "Angolo" msgstr "Angolo"
#: templates/maker/task_editor.html:677 #: templates/maker/task_editor.html:697
msgid "Rugosita" msgid "Rugosita"
msgstr "Rugosita" msgstr "Rugosita"
#: templates/maker/task_editor.html:678 #: templates/maker/task_editor.html:698
msgid "Coppia" msgid "Coppia"
msgstr "Coppia" msgstr "Coppia"
#: templates/maker/task_editor.html:679 #: templates/maker/task_editor.html:699
msgid "Forza" msgid "Forza"
msgstr "Forza" msgstr "Forza"
#: templates/maker/task_editor.html:680 #: templates/maker/task_editor.html:700
msgid "Peso" msgid "Peso"
msgstr "Peso" msgstr "Peso"
#: templates/maker/task_editor.html:681 #: templates/maker/task_editor.html:701
msgid "Altro" msgid "Altro"
msgstr "Altro" msgstr "Altro"
#: templates/maker/task_editor.html:718 #: templates/maker/task_editor.html:738
msgid "Lim. Tol. Inf." msgid "Lim. Tol. Inf."
msgstr "Lim. Tol. Inf." msgstr "Lim. Tol. Inf."
#: templates/maker/task_editor.html:725 #: templates/maker/task_editor.html:745
msgid "Lim. Warn. Inf." msgid "Lim. Warn. Inf."
msgstr "Lim. Warn. Inf." msgstr "Lim. Warn. Inf."
#: templates/maker/task_editor.html:732 #: templates/maker/task_editor.html:752
msgid "Lim. Warn. Sup." msgid "Lim. Warn. Sup."
msgstr "Lim. Warn. Sup." msgstr "Lim. Warn. Sup."
#: templates/maker/task_editor.html:739 #: templates/maker/task_editor.html:759
msgid "Lim. Tol. Sup." msgid "Lim. Tol. Sup."
msgstr "Lim. Tol. Sup." msgstr "Lim. Tol. Sup."
#: templates/maker/task_editor.html:759 #: templates/maker/task_editor.html:779
msgid "Aggiorna Misurazione" msgid "Aggiorna Misurazione"
msgstr "Aggiorna Misurazione" msgstr "Aggiorna Misurazione"
#: templates/maker/task_editor.html:759 templates/maker/task_editor.html:773 #: templates/maker/task_editor.html:779 templates/maker/task_editor.html:793
msgid "Aggiungi Misurazione" msgid "Aggiungi Misurazione"
msgstr "Aggiungi Misurazione" msgstr "Aggiungi Misurazione"
#: templates/maker/task_editor.html:797 #: templates/maker/task_editor.html:817
msgid "Inizia aggiungendo il primo task di misurazione per questa ricetta" msgid "Inizia aggiungendo il primo task di misurazione per questa ricetta"
msgstr "Inizia aggiungendo il primo task di misurazione per questa ricetta" msgstr "Inizia aggiungendo il primo task di misurazione per questa ricetta"
#: templates/maker/task_editor.html:804 #: templates/maker/task_editor.html:824
msgid "Aggiungi Primo Task" msgid "Aggiungi Primo Task"
msgstr "Aggiungi Primo Task" msgstr "Aggiungi Primo Task"
#: templates/maker/task_editor.html:847 #: templates/maker/task_editor.html:867
msgid "Conferma Eliminazione Task" msgid "Conferma Eliminazione Task"
msgstr "Conferma Eliminazione Task" msgstr "Conferma Eliminazione Task"
#: templates/maker/task_editor.html:852 #: templates/maker/task_editor.html:872
msgid "Sei sicuro di voler eliminare il task" msgid "Sei sicuro di voler eliminare il task"
msgstr "Sei sicuro di voler eliminare il task" msgstr "Sei sicuro di voler eliminare il task"
#: templates/maker/task_editor.html:857 #: templates/maker/task_editor.html:877
msgid "Verranno eliminate anche" msgid "Verranno eliminate anche"
msgstr "Verranno eliminate anche" msgstr "Verranno eliminate anche"
#: templates/maker/task_editor.html:859 #: templates/maker/task_editor.html:879
msgid "misurazioni associate." msgid "misurazioni associate."
msgstr "misurazioni associate." msgstr "misurazioni associate."
#: templates/maker/task_editor.html:870 #: templates/maker/task_editor.html:890
msgid "Elimina Task" msgid "Elimina Task"
msgstr "Elimina Task" msgstr "Elimina Task"
#: templates/maker/task_editor.html:917 #: templates/maker/task_editor.html:937
msgid "Conferma Eliminazione Misurazione" msgid "Conferma Eliminazione Misurazione"
msgstr "Conferma Eliminazione Misurazione" msgstr "Conferma Eliminazione Misurazione"
#: templates/maker/task_editor.html:921 #: templates/maker/task_editor.html:941
msgid "Sei sicuro di voler eliminare la misurazione" msgid "Sei sicuro di voler eliminare la misurazione"
msgstr "Sei sicuro di voler eliminare la misurazione" msgstr "Sei sicuro di voler eliminare la misurazione"
#: templates/maker/task_editor.html:935 #: templates/maker/task_editor.html:955
msgid "Elimina Misurazione" msgid "Elimina Misurazione"
msgstr "Elimina Misurazione" msgstr "Elimina Misurazione"
#: templates/maker/task_editor.html:967 #: templates/maker/task_editor.html:987
msgid "Importa da Scheda Tecnica" msgid "Importa da Scheda Tecnica"
msgstr "Importa da Scheda Tecnica" msgstr "Importa da Scheda Tecnica"
#: templates/maker/task_editor.html:968 #: templates/maker/task_editor.html:988
msgid "Carica un PDF e l'AI estrarrà i task automaticamente" msgid "Carica un PDF e l'AI estrarrà i task automaticamente"
msgstr "Carica un PDF e l'AI estrarrà i task automaticamente" msgstr "Carica un PDF e l'AI estrarrà i task automaticamente"
#: templates/maker/task_editor.html:982 #: templates/maker/task_editor.html:1002
msgid "Clicca per caricare un PDF" msgid "Clicca per caricare un PDF"
msgstr "Clicca per caricare un PDF" msgstr "Clicca per caricare un PDF"
#: templates/maker/task_editor.html:983 #: templates/maker/task_editor.html:1003
msgid "Max 20MB" msgid "Max 20MB"
msgstr "Max 20MB" msgstr "Max 20MB"
#: templates/maker/task_editor.html:994 #: templates/maker/task_editor.html:1014
msgid "Analisi in corso con AI..." msgid "Analisi in corso con AI..."
msgstr "Analisi in corso con AI..." msgstr "Analisi in corso con AI..."
#: templates/maker/task_editor.html:995 #: templates/maker/task_editor.html:1015
msgid "Potrebbe richiedere fino a 30 secondi" msgid "Potrebbe richiedere fino a 30 secondi"
msgstr "Potrebbe richiedere fino a 30 secondi" msgstr "Potrebbe richiedere fino a 30 secondi"
#: templates/maker/task_editor.html:1001 #: templates/maker/task_editor.html:1021
msgid "Riprova" msgid "Riprova"
msgstr "Riprova" msgstr "Riprova"
#: templates/maker/task_editor.html:1007 #: templates/maker/task_editor.html:1027
msgid "task suggeriti — modifica o rimuovi prima di confermare" msgid "task suggeriti — modifica o rimuovi prima di confermare"
msgstr "task suggeriti — modifica o rimuovi prima di confermare" msgstr "task suggeriti — modifica o rimuovi prima di confermare"
#: templates/maker/task_editor.html:1049 #: templates/maker/task_editor.html:1069
msgid "Crea" msgid "Crea"
msgstr "Crea" msgstr "Crea"
#: templates/maker/task_editor.html:1234 #: templates/maker/task_editor.html:1254
msgid "Errore nell'analisi del PDF" msgid "Errore nell'analisi del PDF"
msgstr "Errore nell'analisi del PDF" msgstr "Errore nell'analisi del PDF"
#: templates/maker/task_editor.html:1238 #: templates/maker/task_editor.html:1258
msgid "Nessun task identificato nel PDF" msgid "Nessun task identificato nel PDF"
msgstr "Nessun task identificato nel PDF" msgstr "Nessun task identificato nel PDF"
#: templates/maker/task_editor.html:1283 #: templates/maker/task_editor.html:1303
msgid "task creati dalla scheda tecnica" msgid "task creati dalla scheda tecnica"
msgstr "task creati dalla scheda tecnica" msgstr "task creati dalla scheda tecnica"
#: templates/maker/task_editor.html:1309 #: templates/maker/task_editor.html:1330
msgid "Errore nella creazione del task" msgid "Errore nella creazione del task"
msgstr "Errore nella creazione del task" msgstr "Errore nella creazione del task"
#: templates/maker/task_editor.html:1317 #: templates/maker/task_editor.html:1338
msgid "Task creato con successo" msgid "Task creato con successo"
msgstr "Task creato con successo" msgstr "Task creato con successo"
#: templates/maker/task_editor.html:1365 templates/maker/task_editor.html:1761 #: templates/maker/task_editor.html:1388 templates/maker/task_editor.html:1784
msgid "Errore nel salvataggio del task" msgid "Errore nel salvataggio del task"
msgstr "Errore nel salvataggio del task" msgstr "Errore nel salvataggio del task"
#: templates/maker/task_editor.html:1378 #: templates/maker/task_editor.html:1401
msgid "Task aggiornato" msgid "Task aggiornato"
msgstr "Task aggiornato" msgstr "Task aggiornato"
#: templates/maker/task_editor.html:1408 #: templates/maker/task_editor.html:1431
msgid "Task eliminato" msgid "Task eliminato"
msgstr "Task eliminato" msgstr "Task eliminato"
#: templates/maker/task_editor.html:1411 #: templates/maker/task_editor.html:1434
msgid "Errore nell'eliminazione del task" msgid "Errore nell'eliminazione del task"
msgstr "Errore nell'eliminazione del task" msgstr "Errore nell'eliminazione del task"
#: templates/maker/task_editor.html:1506 #: templates/maker/task_editor.html:1529
msgid "Errore nel riordinamento" msgid "Errore nel riordinamento"
msgstr "Errore nel riordinamento" msgstr "Errore nel riordinamento"
#: templates/maker/task_editor.html:1574 #: templates/maker/task_editor.html:1597
msgid "Errore nella creazione della misurazione" msgid "Errore nella creazione della misurazione"
msgstr "Errore nella creazione della misurazione" msgstr "Errore nella creazione della misurazione"
#: templates/maker/task_editor.html:1582 #: templates/maker/task_editor.html:1605
msgid "Misurazione aggiunta" msgid "Misurazione aggiunta"
msgstr "Misurazione aggiunta" msgstr "Misurazione aggiunta"
#: templates/maker/task_editor.html:1645 #: templates/maker/task_editor.html:1668
#: templates/measure/task_execute.html:976 #: templates/measure/task_execute.html:995
msgid "Errore nel salvataggio della misurazione" msgid "Errore nel salvataggio della misurazione"
msgstr "Errore nel salvataggio della misurazione" msgstr "Errore nel salvataggio della misurazione"
#: templates/maker/task_editor.html:1656 #: templates/maker/task_editor.html:1679
msgid "Misurazione aggiornata" msgid "Misurazione aggiornata"
msgstr "Misurazione aggiornata" msgstr "Misurazione aggiornata"
#: templates/maker/task_editor.html:1690 #: templates/maker/task_editor.html:1713
msgid "Misurazione eliminata" msgid "Misurazione eliminata"
msgstr "Misurazione eliminata" msgstr "Misurazione eliminata"
#: templates/maker/task_editor.html:1693 #: templates/maker/task_editor.html:1716
msgid "Errore nell'eliminazione della misurazione" msgid "Errore nell'eliminazione della misurazione"
msgstr "Errore nell'eliminazione della misurazione" msgstr "Errore nell'eliminazione della misurazione"
#: templates/maker/task_editor.html:1712 #: templates/maker/task_editor.html:1735
msgid "Formato file non supportato. Usa PNG, JPG o PDF." msgid "Formato file non supportato. Usa PNG, JPG o PDF."
msgstr "Formato file non supportato. Usa PNG, JPG o PDF." msgstr "Formato file non supportato. Usa PNG, JPG o PDF."
#: templates/maker/task_editor.html:1717 #: templates/maker/task_editor.html:1740
msgid "File troppo grande. Dimensione massima: 20MB." msgid "File troppo grande. Dimensione massima: 20MB."
msgstr "File troppo grande. Dimensione massima: 20MB." msgstr "File troppo grande. Dimensione massima: 20MB."
#: templates/maker/task_editor.html:1738 #: templates/maker/task_editor.html:1761
msgid "Errore durante il caricamento del file" msgid "Errore durante il caricamento del file"
msgstr "Errore durante il caricamento del file" msgstr "Errore durante il caricamento del file"
#: templates/maker/task_editor.html:1769 #: templates/maker/task_editor.html:1792
msgid "File caricato con successo" msgid "File caricato con successo"
msgstr "File caricato con successo" msgstr "File caricato con successo"
@@ -1774,13 +1795,13 @@ msgstr "Cerca"
#: templates/measure/task_complete.html:3 #: templates/measure/task_complete.html:3
#: templates/measure/task_complete.html:36 #: templates/measure/task_complete.html:36
#: templates/measure/task_execute.html:112 #: templates/measure/task_execute.html:112
#: templates/measure/task_execute.html:640 #: templates/measure/task_execute.html:659
#: templates/statistics/dashboard.html:139 #: templates/statistics/dashboard.html:139
msgid "Riepilogo" msgid "Riepilogo"
msgstr "Riepilogo" msgstr "Riepilogo"
#: templates/measure/task_complete.html:44 #: templates/measure/task_complete.html:44
#: templates/measure/task_execute.html:617 #: templates/measure/task_execute.html:636
msgid "Misurazioni Complete" msgid "Misurazioni Complete"
msgstr "Misurazioni Complete" msgstr "Misurazioni Complete"
@@ -1801,12 +1822,12 @@ msgid "Totale"
msgstr "Totale" msgstr "Totale"
#: templates/measure/task_complete.html:103 #: templates/measure/task_complete.html:103
#: templates/measure/task_execute.html:625 #: templates/measure/task_execute.html:644
msgid "Conformi" msgid "Conformi"
msgstr "Conformi" msgstr "Conformi"
#: templates/measure/task_complete.html:120 #: templates/measure/task_complete.html:120
#: templates/measure/task_execute.html:629 #: templates/measure/task_execute.html:648
msgid "Attenzione" msgid "Attenzione"
msgstr "Attenzione" msgstr "Attenzione"
@@ -1994,10 +2015,6 @@ msgstr "Immagine dettaglio misura"
msgid "Misurazione" msgid "Misurazione"
msgstr "Misurazione" msgstr "Misurazione"
#: templates/measure/task_execute.html:288
msgid "Misura"
msgstr "Misura"
#: templates/measure/task_execute.html:364 #: templates/measure/task_execute.html:364
msgid "Registrata" msgid "Registrata"
msgstr "Registrata" msgstr "Registrata"
@@ -2011,108 +2028,112 @@ msgid "Ciclo"
msgstr "Ciclo" msgstr "Ciclo"
#: templates/measure/task_execute.html:456 #: templates/measure/task_execute.html:456
msgid "Task di misura senza quote configurate: la ricetta è incompleta"
msgstr "Task di misura senza quote configurate: la ricetta è incompleta"
#: templates/measure/task_execute.html:475
msgid "Linea ferma" msgid "Linea ferma"
msgstr "Linea ferma" msgstr "Linea ferma"
#: templates/measure/task_execute.html:459 #: templates/measure/task_execute.html:478
msgid "Il conto alla rovescia è congelato a" msgid "Il conto alla rovescia è congelato a"
msgstr "Il conto alla rovescia è congelato a" msgstr "Il conto alla rovescia è congelato a"
#: templates/measure/task_execute.html:461 #: templates/measure/task_execute.html:480
msgid "serve il capoturno per riprendere" msgid "serve il capoturno per riprendere"
msgstr "serve il capoturno per riprendere" msgstr "serve il capoturno per riprendere"
#: templates/measure/task_execute.html:480 #: templates/measure/task_execute.html:499
msgid "Produzione non registrata sul server" msgid "Produzione non registrata sul server"
msgstr "Produzione non registrata sul server" msgstr "Produzione non registrata sul server"
#: templates/measure/task_execute.html:501 #: templates/measure/task_execute.html:520
#: templates/measure/task_execute.html:667 #: templates/measure/task_execute.html:686
msgid "Avvio Produzione" msgid "Avvio Produzione"
msgstr "Avvio Produzione" msgstr "Avvio Produzione"
#: templates/measure/task_execute.html:505 #: templates/measure/task_execute.html:524
msgid "Invia segnale al gestionale per avviare il timer della linea" msgid "Invia segnale al gestionale per avviare il timer della linea"
msgstr "Invia segnale al gestionale per avviare il timer della linea" msgstr "Invia segnale al gestionale per avviare il timer della linea"
#: templates/measure/task_execute.html:516 #: templates/measure/task_execute.html:535
msgid "Produzione avviata" msgid "Produzione avviata"
msgstr "Produzione avviata" msgstr "Produzione avviata"
#: templates/measure/task_execute.html:561 #: templates/measure/task_execute.html:580
msgid "Fine ciclo misura" msgid "Fine ciclo misura"
msgstr "Fine ciclo misura" msgstr "Fine ciclo misura"
#: templates/measure/task_execute.html:571 #: templates/measure/task_execute.html:590
#: templates/measure/task_execute.html:585 #: templates/measure/task_execute.html:604
msgid "Completato" msgid "Completato"
msgstr "Completato" msgstr "Completato"
#: templates/measure/task_execute.html:619 #: templates/measure/task_execute.html:638
msgid "Tutte le" msgid "Tutte le"
msgstr "Tutte le" msgstr "Tutte le"
#: templates/measure/task_execute.html:619 #: templates/measure/task_execute.html:638
msgid "misurazioni sono state registrate." msgid "misurazioni sono state registrate."
msgstr "misurazioni sono state registrate." msgstr "misurazioni sono state registrate."
#: templates/measure/task_execute.html:633 #: templates/measure/task_execute.html:652
msgid "Non Conf." msgid "Non Conf."
msgstr "Non Conf." msgstr "Non Conf."
#: templates/measure/task_execute.html:647 #: templates/measure/task_execute.html:666
msgid "Conferma ciclo" msgid "Conferma ciclo"
msgstr "Conferma ciclo" msgstr "Conferma ciclo"
#: templates/measure/task_execute.html:657 #: templates/measure/task_execute.html:676
msgid "Task successivo" msgid "Task successivo"
msgstr "Task successivo" msgstr "Task successivo"
#: templates/measure/task_execute.html:697 #: templates/measure/task_execute.html:716
msgid "Autorizzazione capoturno" msgid "Autorizzazione capoturno"
msgstr "Autorizzazione capoturno" msgstr "Autorizzazione capoturno"
#: templates/measure/task_execute.html:706 #: templates/measure/task_execute.html:725
msgid "Username capoturno" msgid "Username capoturno"
msgstr "Username capoturno" msgstr "Username capoturno"
#: templates/measure/task_execute.html:728 #: templates/measure/task_execute.html:747
msgid "Autorizza" msgid "Autorizza"
msgstr "Autorizza" msgstr "Autorizza"
#: templates/measure/task_execute.html:1020 #: templates/measure/task_execute.html:1039
msgid "Errore di rete. Riprovare." msgid "Errore di rete. Riprovare."
msgstr "Errore di rete. Riprovare." msgstr "Errore di rete. Riprovare."
#: templates/measure/task_execute.html:1097 #: templates/measure/task_execute.html:1116
msgid "Errore di comunicazione con il server" msgid "Errore di comunicazione con il server"
msgstr "Errore di comunicazione con il server" msgstr "Errore di comunicazione con il server"
#: templates/measure/task_execute.html:1248 #: templates/measure/task_execute.html:1284
msgid "Misurazione fuori tolleranza" msgid "Misurazione fuori tolleranza"
msgstr "Misurazione fuori tolleranza" msgstr "Misurazione fuori tolleranza"
#: templates/measure/task_execute.html:1249 #: templates/measure/task_execute.html:1285
msgid "Fermo linea richiesto" msgid "Fermo linea richiesto"
msgstr "Fermo linea richiesto" msgstr "Fermo linea richiesto"
#: templates/measure/task_execute.html:1250 #: templates/measure/task_execute.html:1286
msgid "Ripresa della produzione" msgid "Ripresa della produzione"
msgstr "Ripresa della produzione" msgstr "Ripresa della produzione"
#: templates/measure/task_execute.html:1251 #: templates/measure/task_execute.html:1287
msgid "Fine produzione richiesta" msgid "Fine produzione richiesta"
msgstr "Fine produzione richiesta" msgstr "Fine produzione richiesta"
#: templates/measure/task_execute.html:1280 #: templates/measure/task_execute.html:1316
msgid "Credenziali non valide o utente non autorizzato" msgid "Credenziali non valide o utente non autorizzato"
msgstr "Credenziali non valide o utente non autorizzato" msgstr "Credenziali non valide o utente non autorizzato"
#: templates/measure/task_execute.html:1312 #: templates/measure/task_execute.html:1348
msgid "Nessuna produzione aperta su questa stazione" msgid "Nessuna produzione aperta su questa stazione"
msgstr "Nessuna produzione aperta su questa stazione" msgstr "Nessuna produzione aperta su questa stazione"
#: templates/measure/task_execute.html:1329 #: templates/measure/task_execute.html:1365
msgid "Azione non riuscita" msgid "Azione non riuscita"
msgstr "Azione non riuscita" msgstr "Azione non riuscita"
@@ -2128,19 +2149,27 @@ msgstr "Task da eseguire"
msgid "misurazioni totali" msgid "misurazioni totali"
msgstr "misurazioni totali" msgstr "misurazioni totali"
#: templates/measure/task_list.html:180 #: templates/measure/task_list.html:175
msgid "Confronto profilo"
msgstr "Confronto profilo"
#: templates/measure/task_list.html:176
msgid "Misura camera"
msgstr "Misura camera"
#: templates/measure/task_list.html:198
msgid "Allegato" msgid "Allegato"
msgstr "Allegato" msgstr "Allegato"
#: templates/measure/task_list.html:204 #: templates/measure/task_list.html:222
msgid "Visualizza Task" msgid "Visualizza Task"
msgstr "Visualizza Task" msgstr "Visualizza Task"
#: templates/measure/task_list.html:227 #: templates/measure/task_list.html:245
msgid "Nessun task disponibile" msgid "Nessun task disponibile"
msgstr "Nessun task disponibile" msgstr "Nessun task disponibile"
#: templates/measure/task_list.html:230 #: templates/measure/task_list.html:248
msgid "Questa ricetta non ha ancora task definiti." msgid "Questa ricetta non ha ancora task definiti."
msgstr "Questa ricetta non ha ancora task definiti." msgstr "Questa ricetta non ha ancora task definiti."
+220 -192
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-28 17:30+0000\n" "POT-Creation-Date: 2026-07-28 18:13+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -231,11 +231,11 @@ msgstr ""
#: templates/admin/stations.html:665 templates/admin/stations.html:700 #: templates/admin/stations.html:665 templates/admin/stations.html:700
#: templates/admin/stations.html:723 templates/admin/users.html:497 #: templates/admin/stations.html:723 templates/admin/users.html:497
#: templates/admin/users.html:533 templates/maker/recipe_editor.html:571 #: templates/admin/users.html:533 templates/maker/recipe_editor.html:571
#: templates/maker/task_drawing.html:65 templates/maker/task_editor.html:1243 #: templates/maker/task_drawing.html:65 templates/maker/task_editor.html:1263
#: templates/maker/task_editor.html:1321 templates/maker/task_editor.html:1382 #: templates/maker/task_editor.html:1342 templates/maker/task_editor.html:1405
#: templates/maker/task_editor.html:1415 templates/maker/task_editor.html:1510 #: templates/maker/task_editor.html:1438 templates/maker/task_editor.html:1533
#: templates/maker/task_editor.html:1586 templates/maker/task_editor.html:1660 #: templates/maker/task_editor.html:1609 templates/maker/task_editor.html:1683
#: templates/maker/task_editor.html:1697 templates/maker/task_editor.html:1776 #: templates/maker/task_editor.html:1720 templates/maker/task_editor.html:1799
#: templates/statistics/dashboard.html:372 #: templates/statistics/dashboard.html:372
#: templates/statistics/dashboard.html:457 #: templates/statistics/dashboard.html:457
msgid "Errore di connessione al server" msgid "Errore di connessione al server"
@@ -285,7 +285,7 @@ msgid "Stato"
msgstr "" msgstr ""
#: templates/admin/stations.html:54 templates/admin/users.html:53 #: templates/admin/stations.html:54 templates/admin/users.html:53
#: templates/maker/task_editor.html:551 #: templates/maker/task_editor.html:571
msgid "Azioni" msgid "Azioni"
msgstr "" msgstr ""
@@ -315,13 +315,13 @@ msgid "Nessuna ricetta da azzerare"
msgstr "" msgstr ""
#: templates/admin/stations.html:113 templates/admin/users.html:100 #: templates/admin/stations.html:113 templates/admin/users.html:100
#: templates/maker/recipe_list.html:237 templates/maker/task_editor.html:602 #: templates/maker/recipe_list.html:237 templates/maker/task_editor.html:622
msgid "Modifica" msgid "Modifica"
msgstr "" msgstr ""
#: templates/admin/stations.html:120 templates/admin/stations.html:421 #: templates/admin/stations.html:120 templates/admin/stations.html:421
#: templates/maker/recipe_list.html:277 templates/maker/recipe_list.html:387 #: templates/maker/recipe_list.html:277 templates/maker/recipe_list.html:387
#: templates/maker/task_drawing.html:275 templates/maker/task_editor.html:610 #: templates/maker/task_drawing.html:275 templates/maker/task_editor.html:630
msgid "Elimina" msgid "Elimina"
msgstr "" msgstr ""
@@ -365,11 +365,11 @@ msgstr ""
#: templates/admin/stations.html:416 templates/admin/users.html:292 #: templates/admin/stations.html:416 templates/admin/users.html:292
#: templates/admin/users.html:323 templates/maker/recipe_editor.html:137 #: templates/admin/users.html:323 templates/maker/recipe_editor.html:137
#: templates/maker/recipe_editor.html:456 templates/maker/recipe_list.html:383 #: templates/maker/recipe_editor.html:456 templates/maker/recipe_list.html:383
#: templates/maker/task_editor.html:294 templates/maker/task_editor.html:403 #: templates/maker/task_editor.html:306 templates/maker/task_editor.html:415
#: templates/maker/task_editor.html:747 templates/maker/task_editor.html:866 #: templates/maker/task_editor.html:767 templates/maker/task_editor.html:886
#: templates/maker/task_editor.html:931 templates/maker/task_editor.html:1036 #: templates/maker/task_editor.html:951 templates/maker/task_editor.html:1056
#: templates/measure/select_recipe.html:367 #: templates/measure/select_recipe.html:367
#: templates/measure/task_execute.html:719 #: templates/measure/task_execute.html:738
msgid "Annulla" msgid "Annulla"
msgstr "" msgstr ""
@@ -513,7 +513,7 @@ msgstr ""
#: templates/admin/users.html:48 templates/admin/users.html:173 #: templates/admin/users.html:48 templates/admin/users.html:173
#: templates/admin/users.html:179 templates/auth/login.html:35 #: templates/admin/users.html:179 templates/auth/login.html:35
#: templates/auth/login.html:49 templates/auth/profile.html:36 #: templates/auth/login.html:49 templates/auth/profile.html:36
#: templates/measure/task_execute.html:704 #: templates/measure/task_execute.html:723
msgid "Username" msgid "Username"
msgstr "" msgstr ""
@@ -565,7 +565,7 @@ msgstr ""
#: templates/admin/users.html:206 templates/admin/users.html:214 #: templates/admin/users.html:206 templates/admin/users.html:214
#: templates/auth/login.html:57 templates/auth/login.html:71 #: templates/auth/login.html:57 templates/auth/login.html:71
#: templates/measure/task_execute.html:709 #: templates/measure/task_execute.html:728
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@@ -829,7 +829,7 @@ msgstr ""
msgid "Compila i dati della ricetta" msgid "Compila i dati della ricetta"
msgstr "" msgstr ""
#: templates/maker/recipe_editor.html:107 templates/maker/task_editor.html:396 #: templates/maker/recipe_editor.html:107 templates/maker/task_editor.html:408
msgid "Salva" msgid "Salva"
msgstr "" msgstr ""
@@ -843,7 +843,7 @@ msgstr ""
#: templates/maker/recipe_editor.html:128 templates/maker/recipe_list.html:246 #: templates/maker/recipe_editor.html:128 templates/maker/recipe_list.html:246
#: templates/maker/task_drawing.html:106 templates/maker/task_editor.html:130 #: templates/maker/task_drawing.html:106 templates/maker/task_editor.html:130
#: templates/measure/task_complete.html:168 #: templates/measure/task_complete.html:168
#: templates/measure/task_execute.html:532 templates/measure/task_list.html:2 #: templates/measure/task_execute.html:551 templates/measure/task_list.html:2
#: templates/measure/task_list.html:156 #: templates/measure/task_list.html:156
msgid "Task" msgid "Task"
msgstr "" msgstr ""
@@ -868,10 +868,10 @@ msgstr ""
msgid "Es. Coupling Assembly 256" msgid "Es. Coupling Assembly 256"
msgstr "" msgstr ""
#: templates/maker/recipe_editor.html:226 templates/maker/task_editor.html:283 #: templates/maker/recipe_editor.html:226 templates/maker/task_editor.html:295
#: templates/maker/task_editor.html:509 templates/maker/task_editor.html:527 #: templates/maker/task_editor.html:521 templates/maker/task_editor.html:547
#: templates/maker/task_editor.html:542 templates/maker/task_editor.html:660 #: templates/maker/task_editor.html:562 templates/maker/task_editor.html:680
#: templates/maker/task_editor.html:1025 #: templates/maker/task_editor.html:1045
#: templates/measure/task_complete.html:169 #: templates/measure/task_complete.html:169
msgid "Descrizione" msgid "Descrizione"
msgstr "" msgstr ""
@@ -905,7 +905,7 @@ msgstr ""
msgid "Caricamento in corso..." msgid "Caricamento in corso..."
msgstr "" msgstr ""
#: templates/maker/recipe_editor.html:302 templates/maker/task_editor.html:473 #: templates/maker/recipe_editor.html:302 templates/maker/task_editor.html:485
msgid "Sostituisci" msgid "Sostituisci"
msgstr "" msgstr ""
@@ -990,8 +990,8 @@ msgid "Errore durante eliminazione"
msgstr "" msgstr ""
#: templates/maker/recipe_list.html:55 templates/measure/select_recipe.html:55 #: templates/maker/recipe_list.html:55 templates/measure/select_recipe.html:55
#: templates/measure/task_execute.html:1102 #: templates/measure/task_execute.html:1121
#: templates/measure/task_execute.html:1301 #: templates/measure/task_execute.html:1337
msgid "Errore di connessione" msgid "Errore di connessione"
msgstr "" msgstr ""
@@ -1029,7 +1029,7 @@ msgid "ricette trovate"
msgstr "" msgstr ""
#: templates/maker/recipe_list.html:211 templates/maker/task_editor.html:222 #: templates/maker/recipe_list.html:211 templates/maker/task_editor.html:222
#: templates/maker/task_editor.html:1049 #: templates/maker/task_editor.html:1069
msgid "task" msgid "task"
msgstr "" msgstr ""
@@ -1105,7 +1105,7 @@ msgstr ""
msgid "misure" msgid "misure"
msgstr "" msgstr ""
#: templates/maker/recipe_preview.html:213 templates/maker/task_editor.html:448 #: templates/maker/recipe_preview.html:213 templates/maker/task_editor.html:460
msgid "Disegno Tecnico" msgid "Disegno Tecnico"
msgstr "" msgstr ""
@@ -1126,8 +1126,8 @@ msgstr ""
msgid "Punti di Misura" msgid "Punti di Misura"
msgstr "" msgstr ""
#: templates/maker/recipe_preview.html:299 templates/maker/task_editor.html:544 #: templates/maker/recipe_preview.html:299 templates/maker/task_editor.html:564
#: templates/maker/task_editor.html:686 #: templates/maker/task_editor.html:706
#: templates/measure/task_complete.html:170 #: templates/measure/task_complete.html:170
#: templates/measure/task_execute.html:300 #: templates/measure/task_execute.html:300
msgid "Nominale" msgid "Nominale"
@@ -1137,7 +1137,7 @@ msgstr ""
msgid "Nessun punto di misura definito per questo task" msgid "Nessun punto di misura definito per questo task"
msgstr "" msgstr ""
#: templates/maker/recipe_preview.html:383 templates/maker/task_editor.html:794 #: templates/maker/recipe_preview.html:383 templates/maker/task_editor.html:814
msgid "Nessun task definito" msgid "Nessun task definito"
msgstr "" msgstr ""
@@ -1281,7 +1281,7 @@ msgstr ""
msgid "Nuovo Task" msgid "Nuovo Task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:265 templates/maker/task_editor.html:1021 #: templates/maker/task_editor.html:265 templates/maker/task_editor.html:1041
msgid "Titolo" msgid "Titolo"
msgstr "" msgstr ""
@@ -1289,328 +1289,348 @@ msgstr ""
msgid "Es. Controllo dimensionale flangia" msgid "Es. Controllo dimensionale flangia"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:275 templates/maker/task_editor.html:503 #: templates/maker/task_editor.html:275 templates/maker/task_editor.html:532
#: templates/maker/task_editor.html:520 templates/maker/task_editor.html:1023 #: templates/maker/task_editor.html:563 templates/maker/task_editor.html:689
msgid "Direttiva"
msgstr ""
#: templates/maker/task_editor.html:279
msgid "Es. Seguire procedura ISO 2768"
msgstr ""
#: templates/maker/task_editor.html:287 templates/maker/task_editor.html:531
msgid "Descrizione opzionale..."
msgstr ""
#: templates/maker/task_editor.html:306
msgid "Crea Task"
msgstr ""
#: templates/maker/task_editor.html:336
msgid "Trascina per riordinare"
msgstr ""
#: templates/maker/task_editor.html:372
#: templates/maker/version_history.html:188
#: templates/measure/task_list.html:171
msgid "misurazioni"
msgstr ""
#: templates/maker/task_editor.html:382
msgid "Modifica task"
msgstr ""
#: templates/maker/task_editor.html:414
msgid "Espandi/Comprimi"
msgstr ""
#: templates/maker/task_editor.html:425
msgid "Elimina task"
msgstr ""
#: templates/maker/task_editor.html:467
msgid "Modifica Disegno"
msgstr ""
#: templates/maker/task_editor.html:489
msgid "Carica immagine o PDF"
msgstr ""
#: templates/maker/task_editor.html:524
msgid "Direttiva opzionale..."
msgstr ""
#: templates/maker/task_editor.html:541
msgid "#"
msgstr ""
#: templates/maker/task_editor.html:543 templates/maker/task_editor.html:669
msgid "Tipo" msgid "Tipo"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:545 templates/maker/task_editor.html:735 #: templates/maker/task_editor.html:277 templates/maker/task_editor.html:534
#: templates/measure/task_list.html:174
msgid "Nota"
msgstr ""
#: templates/maker/task_editor.html:278 templates/maker/task_editor.html:535
#: templates/measure/task_execute.html:288 templates/measure/task_list.html:172
msgid "Misura"
msgstr ""
#: templates/maker/task_editor.html:279 templates/maker/task_editor.html:536
#: templates/measure/task_list.html:173
msgid "Disegno"
msgstr ""
#: templates/maker/task_editor.html:282
msgid "Un task di misura resta tale anche prima di inserire le quote"
msgstr ""
#: templates/maker/task_editor.html:287 templates/maker/task_editor.html:515
#: templates/maker/task_editor.html:540 templates/maker/task_editor.html:1043
msgid "Direttiva"
msgstr ""
#: templates/maker/task_editor.html:291
msgid "Es. Seguire procedura ISO 2768"
msgstr ""
#: templates/maker/task_editor.html:299 templates/maker/task_editor.html:551
msgid "Descrizione opzionale..."
msgstr ""
#: templates/maker/task_editor.html:318
msgid "Crea Task"
msgstr ""
#: templates/maker/task_editor.html:348
msgid "Trascina per riordinare"
msgstr ""
#: templates/maker/task_editor.html:384
#: templates/maker/version_history.html:188
#: templates/measure/task_list.html:189
msgid "misurazioni"
msgstr ""
#: templates/maker/task_editor.html:394
msgid "Modifica task"
msgstr ""
#: templates/maker/task_editor.html:426
msgid "Espandi/Comprimi"
msgstr ""
#: templates/maker/task_editor.html:437
msgid "Elimina task"
msgstr ""
#: templates/maker/task_editor.html:479
msgid "Modifica Disegno"
msgstr ""
#: templates/maker/task_editor.html:501
msgid "Carica immagine o PDF"
msgstr ""
#: templates/maker/task_editor.html:544
msgid "Direttiva opzionale..."
msgstr ""
#: templates/maker/task_editor.html:561
msgid "#"
msgstr ""
#: templates/maker/task_editor.html:565 templates/maker/task_editor.html:755
msgid "UTL" msgid "UTL"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:546 templates/maker/task_editor.html:728 #: templates/maker/task_editor.html:566 templates/maker/task_editor.html:748
msgid "UWL" msgid "UWL"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:547 templates/maker/task_editor.html:721 #: templates/maker/task_editor.html:567 templates/maker/task_editor.html:741
msgid "LWL" msgid "LWL"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:548 templates/maker/task_editor.html:714 #: templates/maker/task_editor.html:568 templates/maker/task_editor.html:734
msgid "LTL" msgid "LTL"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:549 templates/maker/task_editor.html:694 #: templates/maker/task_editor.html:569 templates/maker/task_editor.html:714
#: templates/measure/task_complete.html:275 #: templates/measure/task_complete.html:275
msgid "Unita" msgid "Unita"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:550 #: templates/maker/task_editor.html:570
msgid "Tolleranze" msgid "Tolleranze"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:635 #: templates/maker/task_editor.html:655
msgid "Nessuna misurazione definita" msgid "Nessuna misurazione definita"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:638 #: templates/maker/task_editor.html:658
msgid "Aggiungi la prima misurazione per questo task" msgid "Aggiungi la prima misurazione per questo task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:647 #: templates/maker/task_editor.html:667
msgid "Modifica Misurazione" msgid "Modifica Misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:647 #: templates/maker/task_editor.html:667
msgid "Nuova Misurazione" msgid "Nuova Misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:652 #: templates/maker/task_editor.html:672
msgid "Marker #" msgid "Marker #"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:665 #: templates/maker/task_editor.html:685
msgid "Es. Diametro foro principale" msgid "Es. Diametro foro principale"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:673 #: templates/maker/task_editor.html:693
msgid "Lineare" msgid "Lineare"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:674 #: templates/maker/task_editor.html:694
msgid "Diametro" msgid "Diametro"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:675 #: templates/maker/task_editor.html:695
msgid "Raggio" msgid "Raggio"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:676 #: templates/maker/task_editor.html:696
msgid "Angolo" msgid "Angolo"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:677 #: templates/maker/task_editor.html:697
msgid "Rugosita" msgid "Rugosita"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:678 #: templates/maker/task_editor.html:698
msgid "Coppia" msgid "Coppia"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:679 #: templates/maker/task_editor.html:699
msgid "Forza" msgid "Forza"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:680 #: templates/maker/task_editor.html:700
msgid "Peso" msgid "Peso"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:681 #: templates/maker/task_editor.html:701
msgid "Altro" msgid "Altro"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:718 #: templates/maker/task_editor.html:738
msgid "Lim. Tol. Inf." msgid "Lim. Tol. Inf."
msgstr "" msgstr ""
#: templates/maker/task_editor.html:725 #: templates/maker/task_editor.html:745
msgid "Lim. Warn. Inf." msgid "Lim. Warn. Inf."
msgstr "" msgstr ""
#: templates/maker/task_editor.html:732 #: templates/maker/task_editor.html:752
msgid "Lim. Warn. Sup." msgid "Lim. Warn. Sup."
msgstr "" msgstr ""
#: templates/maker/task_editor.html:739 #: templates/maker/task_editor.html:759
msgid "Lim. Tol. Sup." msgid "Lim. Tol. Sup."
msgstr "" msgstr ""
#: templates/maker/task_editor.html:759 #: templates/maker/task_editor.html:779
msgid "Aggiorna Misurazione" msgid "Aggiorna Misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:759 templates/maker/task_editor.html:773 #: templates/maker/task_editor.html:779 templates/maker/task_editor.html:793
msgid "Aggiungi Misurazione" msgid "Aggiungi Misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:797 #: templates/maker/task_editor.html:817
msgid "Inizia aggiungendo il primo task di misurazione per questa ricetta" msgid "Inizia aggiungendo il primo task di misurazione per questa ricetta"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:804 #: templates/maker/task_editor.html:824
msgid "Aggiungi Primo Task" msgid "Aggiungi Primo Task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:847 #: templates/maker/task_editor.html:867
msgid "Conferma Eliminazione Task" msgid "Conferma Eliminazione Task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:852 #: templates/maker/task_editor.html:872
msgid "Sei sicuro di voler eliminare il task" msgid "Sei sicuro di voler eliminare il task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:857 #: templates/maker/task_editor.html:877
msgid "Verranno eliminate anche" msgid "Verranno eliminate anche"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:859 #: templates/maker/task_editor.html:879
msgid "misurazioni associate." msgid "misurazioni associate."
msgstr "" msgstr ""
#: templates/maker/task_editor.html:870 #: templates/maker/task_editor.html:890
msgid "Elimina Task" msgid "Elimina Task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:917 #: templates/maker/task_editor.html:937
msgid "Conferma Eliminazione Misurazione" msgid "Conferma Eliminazione Misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:921 #: templates/maker/task_editor.html:941
msgid "Sei sicuro di voler eliminare la misurazione" msgid "Sei sicuro di voler eliminare la misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:935 #: templates/maker/task_editor.html:955
msgid "Elimina Misurazione" msgid "Elimina Misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:967 #: templates/maker/task_editor.html:987
msgid "Importa da Scheda Tecnica" msgid "Importa da Scheda Tecnica"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:968 #: templates/maker/task_editor.html:988
msgid "Carica un PDF e l'AI estrarrà i task automaticamente" msgid "Carica un PDF e l'AI estrarrà i task automaticamente"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:982 #: templates/maker/task_editor.html:1002
msgid "Clicca per caricare un PDF" msgid "Clicca per caricare un PDF"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:983 #: templates/maker/task_editor.html:1003
msgid "Max 20MB" msgid "Max 20MB"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:994 #: templates/maker/task_editor.html:1014
msgid "Analisi in corso con AI..." msgid "Analisi in corso con AI..."
msgstr "" msgstr ""
#: templates/maker/task_editor.html:995 #: templates/maker/task_editor.html:1015
msgid "Potrebbe richiedere fino a 30 secondi" msgid "Potrebbe richiedere fino a 30 secondi"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1001 #: templates/maker/task_editor.html:1021
msgid "Riprova" msgid "Riprova"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1007 #: templates/maker/task_editor.html:1027
msgid "task suggeriti — modifica o rimuovi prima di confermare" msgid "task suggeriti — modifica o rimuovi prima di confermare"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1049 #: templates/maker/task_editor.html:1069
msgid "Crea" msgid "Crea"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1234 #: templates/maker/task_editor.html:1254
msgid "Errore nell'analisi del PDF" msgid "Errore nell'analisi del PDF"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1238 #: templates/maker/task_editor.html:1258
msgid "Nessun task identificato nel PDF" msgid "Nessun task identificato nel PDF"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1283 #: templates/maker/task_editor.html:1303
msgid "task creati dalla scheda tecnica" msgid "task creati dalla scheda tecnica"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1309 #: templates/maker/task_editor.html:1330
msgid "Errore nella creazione del task" msgid "Errore nella creazione del task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1317 #: templates/maker/task_editor.html:1338
msgid "Task creato con successo" msgid "Task creato con successo"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1365 templates/maker/task_editor.html:1761 #: templates/maker/task_editor.html:1388 templates/maker/task_editor.html:1784
msgid "Errore nel salvataggio del task" msgid "Errore nel salvataggio del task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1378 #: templates/maker/task_editor.html:1401
msgid "Task aggiornato" msgid "Task aggiornato"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1408 #: templates/maker/task_editor.html:1431
msgid "Task eliminato" msgid "Task eliminato"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1411 #: templates/maker/task_editor.html:1434
msgid "Errore nell'eliminazione del task" msgid "Errore nell'eliminazione del task"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1506 #: templates/maker/task_editor.html:1529
msgid "Errore nel riordinamento" msgid "Errore nel riordinamento"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1574 #: templates/maker/task_editor.html:1597
msgid "Errore nella creazione della misurazione" msgid "Errore nella creazione della misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1582 #: templates/maker/task_editor.html:1605
msgid "Misurazione aggiunta" msgid "Misurazione aggiunta"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1645 #: templates/maker/task_editor.html:1668
#: templates/measure/task_execute.html:976 #: templates/measure/task_execute.html:995
msgid "Errore nel salvataggio della misurazione" msgid "Errore nel salvataggio della misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1656 #: templates/maker/task_editor.html:1679
msgid "Misurazione aggiornata" msgid "Misurazione aggiornata"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1690 #: templates/maker/task_editor.html:1713
msgid "Misurazione eliminata" msgid "Misurazione eliminata"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1693 #: templates/maker/task_editor.html:1716
msgid "Errore nell'eliminazione della misurazione" msgid "Errore nell'eliminazione della misurazione"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1712 #: templates/maker/task_editor.html:1735
msgid "Formato file non supportato. Usa PNG, JPG o PDF." msgid "Formato file non supportato. Usa PNG, JPG o PDF."
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1717 #: templates/maker/task_editor.html:1740
msgid "File troppo grande. Dimensione massima: 20MB." msgid "File troppo grande. Dimensione massima: 20MB."
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1738 #: templates/maker/task_editor.html:1761
msgid "Errore durante il caricamento del file" msgid "Errore durante il caricamento del file"
msgstr "" msgstr ""
#: templates/maker/task_editor.html:1769 #: templates/maker/task_editor.html:1792
msgid "File caricato con successo" msgid "File caricato con successo"
msgstr "" msgstr ""
@@ -1736,13 +1756,13 @@ msgstr ""
#: templates/measure/task_complete.html:3 #: templates/measure/task_complete.html:3
#: templates/measure/task_complete.html:36 #: templates/measure/task_complete.html:36
#: templates/measure/task_execute.html:112 #: templates/measure/task_execute.html:112
#: templates/measure/task_execute.html:640 #: templates/measure/task_execute.html:659
#: templates/statistics/dashboard.html:139 #: templates/statistics/dashboard.html:139
msgid "Riepilogo" msgid "Riepilogo"
msgstr "" msgstr ""
#: templates/measure/task_complete.html:44 #: templates/measure/task_complete.html:44
#: templates/measure/task_execute.html:617 #: templates/measure/task_execute.html:636
msgid "Misurazioni Complete" msgid "Misurazioni Complete"
msgstr "" msgstr ""
@@ -1762,12 +1782,12 @@ msgid "Totale"
msgstr "" msgstr ""
#: templates/measure/task_complete.html:103 #: templates/measure/task_complete.html:103
#: templates/measure/task_execute.html:625 #: templates/measure/task_execute.html:644
msgid "Conformi" msgid "Conformi"
msgstr "" msgstr ""
#: templates/measure/task_complete.html:120 #: templates/measure/task_complete.html:120
#: templates/measure/task_execute.html:629 #: templates/measure/task_execute.html:648
msgid "Attenzione" msgid "Attenzione"
msgstr "" msgstr ""
@@ -1953,10 +1973,6 @@ msgstr ""
msgid "Misurazione" msgid "Misurazione"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:288
msgid "Misura"
msgstr ""
#: templates/measure/task_execute.html:364 #: templates/measure/task_execute.html:364
msgid "Registrata" msgid "Registrata"
msgstr "" msgstr ""
@@ -1970,108 +1986,112 @@ msgid "Ciclo"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:456 #: templates/measure/task_execute.html:456
msgid "Task di misura senza quote configurate: la ricetta è incompleta"
msgstr ""
#: templates/measure/task_execute.html:475
msgid "Linea ferma" msgid "Linea ferma"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:459 #: templates/measure/task_execute.html:478
msgid "Il conto alla rovescia è congelato a" msgid "Il conto alla rovescia è congelato a"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:461 #: templates/measure/task_execute.html:480
msgid "serve il capoturno per riprendere" msgid "serve il capoturno per riprendere"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:480 #: templates/measure/task_execute.html:499
msgid "Produzione non registrata sul server" msgid "Produzione non registrata sul server"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:501 #: templates/measure/task_execute.html:520
#: templates/measure/task_execute.html:667 #: templates/measure/task_execute.html:686
msgid "Avvio Produzione" msgid "Avvio Produzione"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:505 #: templates/measure/task_execute.html:524
msgid "Invia segnale al gestionale per avviare il timer della linea" msgid "Invia segnale al gestionale per avviare il timer della linea"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:516 #: templates/measure/task_execute.html:535
msgid "Produzione avviata" msgid "Produzione avviata"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:561 #: templates/measure/task_execute.html:580
msgid "Fine ciclo misura" msgid "Fine ciclo misura"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:571 #: templates/measure/task_execute.html:590
#: templates/measure/task_execute.html:585 #: templates/measure/task_execute.html:604
msgid "Completato" msgid "Completato"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:619 #: templates/measure/task_execute.html:638
msgid "Tutte le" msgid "Tutte le"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:619 #: templates/measure/task_execute.html:638
msgid "misurazioni sono state registrate." msgid "misurazioni sono state registrate."
msgstr "" msgstr ""
#: templates/measure/task_execute.html:633 #: templates/measure/task_execute.html:652
msgid "Non Conf." msgid "Non Conf."
msgstr "" msgstr ""
#: templates/measure/task_execute.html:647 #: templates/measure/task_execute.html:666
msgid "Conferma ciclo" msgid "Conferma ciclo"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:657 #: templates/measure/task_execute.html:676
msgid "Task successivo" msgid "Task successivo"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:697 #: templates/measure/task_execute.html:716
msgid "Autorizzazione capoturno" msgid "Autorizzazione capoturno"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:706 #: templates/measure/task_execute.html:725
msgid "Username capoturno" msgid "Username capoturno"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:728 #: templates/measure/task_execute.html:747
msgid "Autorizza" msgid "Autorizza"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1020 #: templates/measure/task_execute.html:1039
msgid "Errore di rete. Riprovare." msgid "Errore di rete. Riprovare."
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1097 #: templates/measure/task_execute.html:1116
msgid "Errore di comunicazione con il server" msgid "Errore di comunicazione con il server"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1248 #: templates/measure/task_execute.html:1284
msgid "Misurazione fuori tolleranza" msgid "Misurazione fuori tolleranza"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1249 #: templates/measure/task_execute.html:1285
msgid "Fermo linea richiesto" msgid "Fermo linea richiesto"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1250 #: templates/measure/task_execute.html:1286
msgid "Ripresa della produzione" msgid "Ripresa della produzione"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1251 #: templates/measure/task_execute.html:1287
msgid "Fine produzione richiesta" msgid "Fine produzione richiesta"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1280 #: templates/measure/task_execute.html:1316
msgid "Credenziali non valide o utente non autorizzato" msgid "Credenziali non valide o utente non autorizzato"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1312 #: templates/measure/task_execute.html:1348
msgid "Nessuna produzione aperta su questa stazione" msgid "Nessuna produzione aperta su questa stazione"
msgstr "" msgstr ""
#: templates/measure/task_execute.html:1329 #: templates/measure/task_execute.html:1365
msgid "Azione non riuscita" msgid "Azione non riuscita"
msgstr "" msgstr ""
@@ -2087,19 +2107,27 @@ msgstr ""
msgid "misurazioni totali" msgid "misurazioni totali"
msgstr "" msgstr ""
#: templates/measure/task_list.html:180 #: templates/measure/task_list.html:175
msgid "Confronto profilo"
msgstr ""
#: templates/measure/task_list.html:176
msgid "Misura camera"
msgstr ""
#: templates/measure/task_list.html:198
msgid "Allegato" msgid "Allegato"
msgstr "" msgstr ""
#: templates/measure/task_list.html:204 #: templates/measure/task_list.html:222
msgid "Visualizza Task" msgid "Visualizza Task"
msgstr "" msgstr ""
#: templates/measure/task_list.html:227 #: templates/measure/task_list.html:245
msgid "Nessun task disponibile" msgid "Nessun task disponibile"
msgstr "" msgstr ""
#: templates/measure/task_list.html:230 #: templates/measure/task_list.html:248
msgid "Questa ricetta non ha ancora task definiti." msgid "Questa ricetta non ha ancora task definiti."
msgstr "" msgstr ""