@@ -133,17 +157,19 @@ export const AllPlansModal = memo(function AllPlansModal(props: IAllPlansModal)
- Back
+ {t('common.BACK')}
)}
{selectedTab == 'Calendar'
- ? showCustomPlan && selectedFuturePlan
- ? `PLAN FOR ${new Date(selectedFuturePlan.date).toLocaleDateString('en-GB')}`
- : `PLANS`
- : `${selectedTab}'S PLAN`}
+ ? showCustomPlan && selectedPlan
+ ? t('common.plan.FOR_DATE', {
+ date: new Date(selectedPlan.date).toLocaleDateString('en-GB')
+ })
+ : t('common.plan.PLURAL')
+ : `${selectedTab === 'Today' ? t('common.plan.FOR_TODAY') : selectedTab === 'Tomorrow' ? t('common.plan.FOR_TOMORROW') : ''}`}
@@ -154,25 +180,33 @@ export const AllPlansModal = memo(function AllPlansModal(props: IAllPlansModal)
className={`flex justify-center gap-4 items-center hover:text-primary cursor-pointer ${selectedTab === tab ? 'text-primary font-medium' : ''}`}
onClick={() => handleTabClick(tab)}
>
- {tab}
+
+ {tab === 'Today'
+ ? t('common.TODAY')
+ : tab === 'Tomorrow'
+ ? t('common.TOMORROW')
+ : t('common.CALENDAR')}
+
{index + 1 < tabs.length && }
))}
+
{t('dailyPlan.TASK_TIME')}
diff --git a/apps/web/lib/features/team/user-team-card/user-team-card-menu.tsx b/apps/web/lib/features/team/user-team-card/user-team-card-menu.tsx
index 0e331efcd..ff074df9b 100644
--- a/apps/web/lib/features/team/user-team-card/user-team-card-menu.tsx
+++ b/apps/web/lib/features/team/user-team-card/user-team-card-menu.tsx
@@ -194,7 +194,7 @@ function DropdownMenu({ edition, memberInfo }: Props) {
'font-normal whitespace-nowrap text-sm hover:font-semibold hover:transition-all'
)}
>
- See Plan
+ {t('common.plan.SEE_PLANS')}
diff --git a/apps/web/lib/features/user-profile-plans.tsx b/apps/web/lib/features/user-profile-plans.tsx
index f7a3655ac..e02acb305 100644
--- a/apps/web/lib/features/user-profile-plans.tsx
+++ b/apps/web/lib/features/user-profile-plans.tsx
@@ -14,7 +14,7 @@ import { useAuthenticateUser, useCanSeeActivityScreen, useDailyPlan, useUserProf
import { useDateRange } from '@app/hooks/useDateRange';
import { filterDailyPlan } from '@app/hooks/useFilterDateRange';
import { useLocalStorageState } from '@app/hooks/useLocalStorageState';
-import { HAS_VISITED_OUTSTANDING_TAB } from '@app/constants';
+import { HAS_VISITED_OUTSTANDING_TASKS } from '@app/constants';
import { IDailyPlan, ITeamTask } from '@app/interfaces';
import { dataDailyPlanState } from '@app/stores';
import { fullWidthState } from '@app/stores/fullWidth';
@@ -37,6 +37,7 @@ import { FutureTasks } from './task/daily-plan/future-tasks';
import ViewsHeaderTabs from './task/daily-plan/views-header-tabs';
import TaskBlockCard from './task/task-block-card';
import { TaskCard } from './task/task-card';
+import moment from 'moment';
export type FilterTabs = 'Today Tasks' | 'Future Tasks' | 'Past Tasks' | 'All Tasks' | 'Outstanding';
type FilterOutstanding = 'ALL' | 'DATE';
@@ -92,7 +93,10 @@ export function UserProfilePlans() {
setCurrentDataDailyPlan(futurePlans);
setFilterFuturePlanData(filterDailyPlan(date as any, futurePlans));
} else if (currentTab === 'Outstanding') {
- window.localStorage.setItem(HAS_VISITED_OUTSTANDING_TAB, JSON.stringify(true));
+ window.localStorage.setItem(
+ HAS_VISITED_OUTSTANDING_TASKS,
+ new Date(moment().format('YYYY-MM-DD')).toISOString().split('T')[0]
+ );
}
}, [currentTab, setCurrentDataDailyPlan, date, currentDataDailyPlan, futurePlans, pastPlans, sortedPlans]);
diff --git a/apps/web/locales/ar.json b/apps/web/locales/ar.json
index 366a8a383..b00789f45 100644
--- a/apps/web/locales/ar.json
+++ b/apps/web/locales/ar.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "أضف لاحقًا",
"DAILYPLAN": "مخطط",
"INVITATION_SENT": "تم إرسال دعوة بنجاح",
- "INVITATION_SENT_TO_USER": "تم إرسال دعوة فريق إلى {email}."
+ "INVITATION_SENT_TO_USER": "تم إرسال دعوة فريق إلى {email}.",
+ "CALENDAR": "تقويم",
+ "SELECT": "اختر",
+ "SAVE_CHANGES": "حفظ التغييرات",
+ "plan": {
+ "SINGULAR": "خطة",
+ "PLURAL": "خطط",
+ "CHOOSE_DATE": "اختر تاريخًا لتتمكن من رؤية خطة",
+ "PLAN_NOT_FOUND": "لم يتم العثور على خطة",
+ "FOR_DATE": "خطة لِـ {date}",
+ "FOR_TODAY": "خطة اليوم",
+ "FOR_TOMORROW": "خطة الغد",
+ "EDIT_PLAN": "تعديل الخطة",
+ "TRACKED_TIME": "الوقت المتعقب",
+ "SEE_PLANS": "عرض الخطط",
+ "ADD_PLAN": "إضافة خطة"
+ },
+ "timesheets": {
+ "SINGULAR": "ورقة الحضور",
+ "PLURAL": "ورقات الحضور"
+ }
},
"hotkeys": {
"HELP": "مساعدة",
@@ -537,6 +557,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "وقت العمل المخطط له اليوم",
"TASKS_WITH_NO_ESTIMATIONS": "تاكس مع عدم وجود تقديرات زمنية",
"START_WORKING_BUTTON": "ابدأ العمل",
+ "TIMER_RUNNING": "المؤقت قيد التشغيل بالفعل",
"WARNING_PLAN_ESTIMATION": "رجى تصحيح ساعات العمل المخطط لها أو إعادة تقدير المهمة (المهام)"
}
},
diff --git a/apps/web/locales/bg.json b/apps/web/locales/bg.json
index 578d64818..923b4e5e0 100644
--- a/apps/web/locales/bg.json
+++ b/apps/web/locales/bg.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Добави по-късно",
"DAILYPLAN": "Планирано",
"INVITATION_SENT": "Покана е изпратена успешно",
- "INVITATION_SENT_TO_USER": "Покана е изпратена на {email}."
+ "INVITATION_SENT_TO_USER": "Покана е изпратена на {email}.",
+ "CALENDAR": "Календар",
+ "SELECT": "Изберете",
+ "SAVE_CHANGES": "Запази промените",
+ "plan": {
+ "SINGULAR": "План",
+ "PLURAL": "Планове",
+ "CHOOSE_DATE": "Изберете дата, за да видите план",
+ "PLAN_NOT_FOUND": "Не е намерен план",
+ "FOR_DATE": "ПЛАН ЗА {date}",
+ "FOR_TODAY": "Днешният план",
+ "FOR_TOMORROW": "Утрешният план",
+ "EDIT_PLAN": "Редактиране на план",
+ "TRACKED_TIME": "Проследено време",
+ "SEE_PLANS": "Виж планове",
+ "ADD_PLAN": "Добави план"
+ },
+ "timesheets": {
+ "SINGULAR": "Работен лист",
+ "PLURAL": "Работни листове"
+ }
},
"hotkeys": {
"HELP": "Помощ",
@@ -537,6 +557,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Планирано работно време за днес",
"TASKS_WITH_NO_ESTIMATIONS": "Такси без оценки на времето",
"START_WORKING_BUTTON": "Започнете работа",
+ "TIMER_RUNNING": "Таймерът вече работи",
"WARNING_PLAN_ESTIMATION": "Моля, коригирайте планираните работни часове или преоценете задачата(ите) "
}
},
diff --git a/apps/web/locales/de.json b/apps/web/locales/de.json
index 43e1088b2..d6786ffc5 100644
--- a/apps/web/locales/de.json
+++ b/apps/web/locales/de.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Später hinzufügen",
"DAILYPLAN": "Plan dzienny",
"INVITATION_SENT": "Einladung erfolgreich gesendet",
- "INVITATION_SENT_TO_USER": "Eine Teameinladung wurde an {email} gesendet."
+ "INVITATION_SENT_TO_USER": "Eine Teameinladung wurde an {email} gesendet.",
+ "CALENDAR": "Kalender",
+ "SELECT": "Auswählen",
+ "SAVE_CHANGES": "Änderungen speichern",
+ "plan": {
+ "SINGULAR": "Plan",
+ "PLURAL": "Pläne",
+ "CHOOSE_DATE": "Wählen Sie ein Datum, um einen Plan zu sehen",
+ "PLAN_NOT_FOUND": "Plan nicht gefunden",
+ "FOR_DATE": "PLAN FÜR {date}",
+ "FOR_TODAY": "Heutiger Plan",
+ "FOR_TOMORROW": "Morgenplan",
+ "EDIT_PLAN": "Plan bearbeiten",
+ "TRACKED_TIME": "Verfolgte Zeit",
+ "SEE_PLANS": "Pläne anzeigen",
+ "ADD_PLAN": "Plan hinzufügen"
+ },
+ "timesheets": {
+ "SINGULAR": "Stundenzettel",
+ "PLURAL": "Stundenzettel"
+ }
},
"hotkeys": {
"HELP": "Hilfe",
@@ -537,6 +557,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Für heute geplante Arbeitszeit",
"TASKS_WITH_NO_ESTIMATIONS": "Taks ohne Zeitvorgaben",
"START_WORKING_BUTTON": "Mit der Arbeit beginnen",
+ "TIMER_RUNNING": "Der Timer läuft bereits",
"WARNING_PLAN_ESTIMATION": "Bitte korrigieren Sie die geplanten Arbeitsstunden oder schätzen Sie die Aufgabe(n) neu ein."
}
},
diff --git a/apps/web/locales/en.json b/apps/web/locales/en.json
index 2febfb13e..e326b98df 100644
--- a/apps/web/locales/en.json
+++ b/apps/web/locales/en.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Add later",
"DAILYPLAN": "Planned",
"INVITATION_SENT": "Invitation Sent Successfully",
- "INVITATION_SENT_TO_USER": "A team invitation has been sent to {email}."
+ "INVITATION_SENT_TO_USER": "A team invitation has been sent to {email}.",
+ "CALENDAR": "Calendar",
+ "SELECT": "Select",
+ "SAVE_CHANGES": "Save changes",
+ "plan": {
+ "SINGULAR": "Plan",
+ "PLURAL": "Plans",
+ "CHOOSE_DATE": "Select a date to be able to see a plan",
+ "PLAN_NOT_FOUND": "Plan not found",
+ "FOR_DATE": "PLAN FOR {date}",
+ "FOR_TODAY": "Today's plan",
+ "FOR_TOMORROW": "Tomorrow's plan",
+ "EDIT_PLAN": "Edit Plan",
+ "TRACKED_TIME": "Tracked time",
+ "SEE_PLANS": "See plans",
+ "ADD_PLAN": "Add Plan"
+ },
+ "timesheets": {
+ "SINGULAR": "Timesheet",
+ "PLURAL": "Timesheets"
+ }
},
"hotkeys": {
"HELP": "Help",
@@ -537,6 +557,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Working time planned for today",
"TASKS_WITH_NO_ESTIMATIONS": "Tasks with no time estimations",
"START_WORKING_BUTTON": "Start working",
+ "TIMER_RUNNING": "The timer is already running",
"WARNING_PLAN_ESTIMATION": "Please correct planned work hours or re-estimate task(s)"
}
},
diff --git a/apps/web/locales/es.json b/apps/web/locales/es.json
index fa97289f2..5ff10e4d1 100644
--- a/apps/web/locales/es.json
+++ b/apps/web/locales/es.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Agregar más tarde",
"DAILYPLAN": "Planificado",
"INVITATION_SENT": "Invitación enviada con éxito",
- "INVITATION_SENT_TO_USER": "Se ha enviado una invitación de equipo a {email}."
+ "INVITATION_SENT_TO_USER": "Se ha enviado una invitación de equipo a {email}.",
+ "CALENDAR": "Calendario",
+ "SELECT": "Seleccionar",
+ "SAVE_CHANGES": "Guardar cambios",
+ "plan": {
+ "SINGULAR": "Plan",
+ "PLURAL": "Planes",
+ "CHOOSE_DATE": "Seleccione una fecha para poder ver un plan",
+ "PLAN_NOT_FOUND": "Plan no encontrado",
+ "FOR_DATE": "PLAN PARA {date}",
+ "FOR_TODAY": "Plan de hoy",
+ "EDIT_PLAN": "Editar Plan",
+ "ADD_PLAN": "Agregar Plan",
+ "TRACKED_TIME": "Tiempo registrado",
+ "SEE_PLANS": "Ver planes",
+ "FOR_TOMORROW": "Plan de mañana"
+ },
+ "timesheets": {
+ "SINGULAR": "Hoja de horas",
+ "PLURAL": "Hojas de horas"
+ }
},
"hotkeys": {
"HELP": "Ayuda",
@@ -537,6 +557,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Tiempo de trabajo previsto para hoy",
"TASKS_WITH_NO_ESTIMATIONS": "Tarea sin estimación de tiempo",
"START_WORKING_BUTTON": "Empezar a trabajar",
+ "TIMER_RUNNING": "El temporizador ya está en ejecución",
"WARNING_PLAN_ESTIMATION": "Por favor, corrija las horas de trabajo previstas o reevalúe la(s) tarea(s)"
}
},
diff --git a/apps/web/locales/fr.json b/apps/web/locales/fr.json
index b422827f3..1b1fce02c 100644
--- a/apps/web/locales/fr.json
+++ b/apps/web/locales/fr.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Ajouter plus tard",
"DAILYPLAN": "Planifié",
"INVITATION_SENT": "Invitation envoyée avec succès",
- "INVITATION_SENT_TO_USER": "Une invitation a été envoyée à {email}."
+ "INVITATION_SENT_TO_USER": "Une invitation a été envoyée à {email}.",
+ "CALENDAR": "Calendrier",
+ "SELECT": "Sélectionner",
+ "SAVE_CHANGES": "Enregistrer les modifications",
+ "plan": {
+ "SINGULAR": "Plan",
+ "PLURAL": "Plans",
+ "CHOOSE_DATE": "Sélectionnez une date pour pouvoir voir un plan",
+ "PLAN_NOT_FOUND": "Plan non trouvé",
+ "FOR_DATE": "PLAN POUR {date}",
+ "FOR_TODAY": "Le plan d'aujourd'hui",
+ "FOR_TOMORROW": "Le plan de demain",
+ "EDIT_PLAN": "Modifier le plan",
+ "TRACKED_TIME": "Temps suivi",
+ "SEE_PLANS": "Voir les plans",
+ "ADD_PLAN": "Ajouter un plan"
+ },
+ "timesheets": {
+ "SINGULAR": "Feuille de temps",
+ "PLURAL": "Feuilles de temps"
+ }
},
"hotkeys": {
"HELP": "Aide",
@@ -520,6 +540,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Temps de travail prévu pour aujourd'hui",
"TASKS_WITH_NO_ESTIMATIONS": "Tâches sans estimations de temps",
"START_WORKING_BUTTON": "Commencer à travailler",
+ "TIMER_RUNNING": "Le minuteur fonctionne déjà",
"WARNING_PLAN_ESTIMATION": "Veuillez corriger les heures de travail prévues ou réévaluer la/les tâche(s)"
},
"TIME_ACTIVITY": "Activité",
diff --git a/apps/web/locales/he.json b/apps/web/locales/he.json
index 36c0a130c..296206f2c 100644
--- a/apps/web/locales/he.json
+++ b/apps/web/locales/he.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "הוסף מאוחר יותר",
"DAILYPLAN": "מְתוּכנָן",
"INVITATION_SENT": "ההזמנה נשלחה בהצלחה",
- "INVITATION_SENT_TO_USER": "ההזמנה נשלחה ל{email}."
+ "INVITATION_SENT_TO_USER": "ההזמנה נשלחה ל{email}.",
+ "CALENDAR": "לוח שנה",
+ "SELECT": "בחר",
+ "SAVE_CHANGES": "שמור שינויים",
+ "plan": {
+ "SINGULAR": "תכנית",
+ "PLURAL": "תכניות",
+ "CHOOSE_DATE": "בחר תאריך כדי לראות תוכנית",
+ "PLAN_NOT_FOUND": "התוכנית לא נמצאה",
+ "FOR_DATE": "תכנית ל-{date}",
+ "FOR_TODAY": "תכנית להיום",
+ "FOR_TOMORROW": "תכנית למחר",
+ "EDIT_PLAN": "ערוך תוכנית",
+ "TRACKED_TIME": "זמן מעקב",
+ "SEE_PLANS": "ראה תוכניות",
+ "ADD_PLAN": "הוסף תוכנית"
+ },
+ "timesheets": {
+ "SINGULAR": "דוח שעות",
+ "PLURAL": "דוחות שעות"
+ }
},
"hotkeys": {
"HELP": "עזרה",
@@ -537,6 +557,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "זמן עבודה מתוכנן להיום",
"TASKS_WITH_NO_ESTIMATIONS": "משימות בלי הערכת זמן",
"START_WORKING_BUTTON": "התחל לעבוד",
+ "TIMER_RUNNING": "הטיימר כבר פועל",
"WARNING_PLAN_ESTIMATION": "נא לתקן את שעות העבודה המתוכננות או להעריך מחדש את המשימות"
}
},
diff --git a/apps/web/locales/it.json b/apps/web/locales/it.json
index 09de582a1..3fd71133b 100644
--- a/apps/web/locales/it.json
+++ b/apps/web/locales/it.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Aggiungi dopo",
"DAILYPLAN": "Pianificato",
"INVITATION_SENT": "Invito inviato con successo",
- "INVITATION_SENT_TO_USER": "Un invito alla squadra è stato inviato a {email}."
+ "INVITATION_SENT_TO_USER": "Un invito alla squadra è stato inviato a {email}.",
+ "timesheets": {
+ "SINGULAR": "Scheda attività",
+ "PLURAL": "Schede attività"
+ },
+ "CALENDAR": "Calendario",
+ "SELECT": "Seleziona",
+ "SAVE_CHANGES": "Salva modifiche",
+ "plan": {
+ "SINGULAR": "Piano",
+ "PLURAL": "Piani",
+ "CHOOSE_DATE": "Seleziona una data per poter vedere un piano",
+ "PLAN_NOT_FOUND": "Piano non trovato",
+ "FOR_DATE": "PIANO PER {date}",
+ "FOR_TODAY": "Piano di oggi",
+ "FOR_TOMORROW": "Piano di domani",
+ "EDIT_PLAN": "Modifica Piano",
+ "TRACKED_TIME": "Tempo tracciato",
+ "SEE_PLANS": "Vedi piani",
+ "ADD_PLAN": "Aggiungi Piano"
+ }
},
"hotkeys": {
"HELP": "Aiuto",
@@ -520,6 +540,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Tempo di lavoro pianificato per oggi",
"TASKS_WITH_NO_ESTIMATIONS": "Compiti senza stime di tempo",
"START_WORKING_BUTTON": "Inizia a lavorare",
+ "TIMER_RUNNING": "Il timer è già in esecuzione",
"WARNING_PLAN_ESTIMATION": "Correggere le ore di lavoro previste o rivalutare il/i compito/i."
},
"TIME_ACTIVITY": "Attività",
diff --git a/apps/web/locales/nl.json b/apps/web/locales/nl.json
index d529bc994..2049eede7 100644
--- a/apps/web/locales/nl.json
+++ b/apps/web/locales/nl.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Later toevoegen",
"DAILYPLAN": "Gepland",
"INVITATION_SENT": "Uitnodiging verzonden",
- "INVITATION_SENT_TO_USER": "Een teamuitnodiging is verzonden naar {email}."
+ "INVITATION_SENT_TO_USER": "Een teamuitnodiging is verzonden naar {email}.",
+ "timesheets": {
+ "SINGULAR": "Urenstaat",
+ "PLURAL": "Urenstaten"
+ },
+ "CALENDAR": "Kalender",
+ "SELECT": "Selecteren",
+ "SAVE_CHANGES": "Wijzigingen opslaan",
+ "plan": {
+ "SINGULAR": "Plan",
+ "PLURAL": "Plannen",
+ "CHOOSE_DATE": "Selecteer een datum om een plan te kunnen zien",
+ "PLAN_NOT_FOUND": "Plan niet gevonden",
+ "FOR_DATE": "PLAN VOOR {date}",
+ "FOR_TODAY": "Vandaag's plan",
+ "FOR_TOMORROW": "Morgen's plan",
+ "EDIT_PLAN": "Plan bewerken",
+ "TRACKED_TIME": "Gegeneraliseerde tijd",
+ "SEE_PLANS": "Plannen bekijken",
+ "ADD_PLAN": "Plan toevoegen"
+ }
},
"hotkeys": {
"HELP": "Help",
@@ -537,6 +557,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Geplande werktijd voor vandaag",
"TASKS_WITH_NO_ESTIMATIONS": "Taken zonder tijdschattingen",
"START_WORKING_BUTTON": "Begin met werken",
+ "TIMER_RUNNING": "De timer loopt al",
"WARNING_PLAN_ESTIMATION": "Corrigeer de geplande werkuren of schat de taak(en) opnieuw in"
}
},
diff --git a/apps/web/locales/pl.json b/apps/web/locales/pl.json
index b3c753449..9d4c0a5c4 100644
--- a/apps/web/locales/pl.json
+++ b/apps/web/locales/pl.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Dodaj później",
"DAILYPLAN": "Planowane",
"INVITATION_SENT": "Zaproszenie wysłane",
- "INVITATION_SENT_TO_USER": "Zaproszenie zespołu zostało wysłane do {email}."
+ "INVITATION_SENT_TO_USER": "Zaproszenie zespołu zostało wysłane do {email}.",
+ "timesheets": {
+ "SINGULAR": "Karta pracy",
+ "PLURAL": "Karty pracy"
+ },
+ "CALENDAR": "Kalendarz",
+ "SELECT": "Wybierz",
+ "SAVE_CHANGES": "Zapisz zmiany",
+ "plan": {
+ "SINGULAR": "Plan",
+ "PLURAL": "Plany",
+ "CHOOSE_DATE": "Wybierz datę, aby móc zobaczyć plan",
+ "PLAN_NOT_FOUND": "Plan nie znaleziony",
+ "FOR_DATE": "PLAN NA {date}",
+ "FOR_TODAY": "Dzienny plan",
+ "FOR_TOMORROW": "Jutro plan",
+ "EDIT_PLAN": "Edytuj plan",
+ "TRACKED_TIME": "Śledzony czas",
+ "SEE_PLANS": "Zobacz plany",
+ "ADD_PLAN": "Dodaj plan"
+ }
},
"hotkeys": {
"HELP": "Pomoc",
@@ -520,6 +540,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Zaplanowany czas pracy na dziś",
"TASKS_WITH_NO_ESTIMATIONS": "Zadania bez oszacowania czasu",
"START_WORKING_BUTTON": "Rozpocznij pracę",
+ "TIMER_RUNNING": "Timer już działa",
"WARNING_PLAN_ESTIMATION": "Popraw planowane godziny pracy lub ponownie oszacuj zadania"
},
"TIME_ACTIVITY": "Aktywność",
diff --git a/apps/web/locales/pt.json b/apps/web/locales/pt.json
index efcbf1bc8..763c20dc7 100644
--- a/apps/web/locales/pt.json
+++ b/apps/web/locales/pt.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Adicionar depois",
"DAILYPLAN": "Planeado",
"INVITATION_SENT": "Convite enviado com sucesso",
- "INVITATION_SENT_TO_USER": "Um convite de equipe foi enviado para {email}."
+ "INVITATION_SENT_TO_USER": "Um convite de equipe foi enviado para {email}.",
+ "timesheets": {
+ "SINGULAR": "Folha de ponto",
+ "PLURAL": "Folhas de ponto"
+ },
+ "CALENDAR": "Calendário",
+ "SELECT": "Selecionar",
+ "SAVE_CHANGES": "Salvar alterações",
+ "plan": {
+ "SINGULAR": "Plano",
+ "PLURAL": "Planos",
+ "CHOOSE_DATE": "Selecione uma data para poder ver um plano",
+ "PLAN_NOT_FOUND": "Plano não encontrado",
+ "FOR_DATE": "PLANO PARA {date}",
+ "FOR_TODAY": "Plano de hoje",
+ "FOR_TOMORROW": "Plano de amanhã",
+ "EDIT_PLAN": "Editar Plano",
+ "TRACKED_TIME": "Tempo rastreado",
+ "SEE_PLANS": "Ver planos",
+ "ADD_PLAN": "Adicionar Plano"
+ }
},
"hotkeys": {
"HELP": "Ajuda",
@@ -520,6 +540,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Tempo de trabalho planejado para hoje",
"TASKS_WITH_NO_ESTIMATIONS": "Tarefas sem estimativas de tempo",
"START_WORKING_BUTTON": "Começar a trabalhar",
+ "TIMER_RUNNING": "O temporizador já está em execução",
"WARNING_PLAN_ESTIMATION": "Corrigir as horas de trabalho planeadas ou fazer uma nova estimativa da(s) tarefa(s)"
},
"TIME_ACTIVITY": "Atividade",
diff --git a/apps/web/locales/ru.json b/apps/web/locales/ru.json
index defbb101c..36ae292c6 100644
--- a/apps/web/locales/ru.json
+++ b/apps/web/locales/ru.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "Добавить позже",
"DAILYPLAN": "Планируется",
"INVITATION_SENT": "Приглашение отправлено успешно",
- "INVITATION_SENT_TO_USER": "Приглашение к команде было отправлено на {email}."
+ "INVITATION_SENT_TO_USER": "Приглашение к команде было отправлено на {email}.",
+ "timesheets": {
+ "SINGULAR": "Табель",
+ "PLURAL": "Табели"
+ },
+ "CALENDAR": "Календарь",
+ "SELECT": "Выбрать",
+ "SAVE_CHANGES": "Сохранить изменения",
+ "plan": {
+ "SINGULAR": "План",
+ "PLURAL": "Планы",
+ "CHOOSE_DATE": "Выберите дату, чтобы увидеть план",
+ "PLAN_NOT_FOUND": "План не найден",
+ "FOR_DATE": "ПЛАН НА {date}",
+ "FOR_TODAY": "Сегодняшний план",
+ "FOR_TOMORROW": "Завтрашний план",
+ "EDIT_PLAN": "Редактировать план",
+ "TRACKED_TIME": "Отслеживаемое время",
+ "SEE_PLANS": "Посмотреть планы",
+ "ADD_PLAN": "Agregar Plan"
+ }
},
"hotkeys": {
"HELP": "Помощь",
@@ -520,6 +540,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "Запланированное время работы на сегодня",
"TASKS_WITH_NO_ESTIMATIONS": "Задачи без оценки времени",
"START_WORKING_BUTTON": "Начать работу",
+ "TIMER_RUNNING": "Таймер уже запущен",
"WARNING_PLAN_ESTIMATION": "Пожалуйста, исправьте запланированные часы работы или пересчитайте задание(я)"
},
"TIME_ACTIVITY": "Активность",
diff --git a/apps/web/locales/zh.json b/apps/web/locales/zh.json
index d60241854..5feaa682c 100644
--- a/apps/web/locales/zh.json
+++ b/apps/web/locales/zh.json
@@ -202,7 +202,27 @@
"SKIP_ADD_LATER": "稍后添加",
"DAILYPLAN": "計劃中",
"INVITATION_SENT": "邀请已发送",
- "INVITATION_SENT_TO_USER": "团队邀请已发送给 {email}。"
+ "INVITATION_SENT_TO_USER": "团队邀请已发送给 {email}。",
+ "timesheets": {
+ "SINGULAR": "时间表",
+ "PLURAL": "时间表"
+ },
+ "CALENDAR": "日历",
+ "SELECT": "Select",
+ "SAVE_CHANGES": "保存更改",
+ "plan": {
+ "SINGULAR": "计划",
+ "PLURAL": "计划",
+ "CHOOSE_DATE": "选择一个日期以查看计划",
+ "PLAN_NOT_FOUND": "未找到计划",
+ "FOR_DATE": "针对日期 {date}",
+ "FOR_TODAY": "今天的计划",
+ "FOR_TOMORROW": "明天的计划",
+ "EDIT_PLAN": "编辑计划",
+ "TRACKED_TIME": "跟踪时间",
+ "SEE_PLANS": "查看计划",
+ "ADD_PLAN": "添加计划"
+ }
},
"hotkeys": {
"HELP": "帮助",
@@ -537,6 +557,7 @@
"WORK_TIME_PLANNED_PLACEHOLDER": "今天计划的工作时间",
"TASKS_WITH_NO_ESTIMATIONS": "没有时间估算的任务",
"START_WORKING_BUTTON": "开始工作",
+ "TIMER_RUNNING": "计时器已经在运行",
"WARNING_PLAN_ESTIMATION": "请更正计划工时或重新估算任务工时"
}
},
diff --git a/northflank-template.json b/northflank-template.json
index 1caa83873..06769f1dc 100644
--- a/northflank-template.json
+++ b/northflank-template.json
@@ -1,59 +1,86 @@
{
- "apiVersion": "v1",
- "spec": {
- "kind": "Workflow",
- "spec": {
- "type": "sequential",
- "steps": [
- {
- "kind": "DeploymentService",
- "spec": {
- "deployment": {
- "instances": 1,
- "docker": {
- "configType": "default"
- },
- "external": {
- "imagePath": "ghcr.io/ever-co/ever-teams-webapp:latest"
- }
- },
- "runtimeEnvironment": {},
- "runtimeFiles": {},
- "billing": {
- "deploymentPlan": "nf-compute-10"
- },
- "name": "ever-teams-web",
- "ports": [
- {
- "internalPort": 3030,
- "protocol": "HTTP",
- "public": true,
- "name": "p01",
- "domains": [],
- "security": {
- "policies": [],
- "credentials": []
- },
- "disableNfDomain": false
- }
- ]
- }
- }
- ]
- }
- },
- "name": "ever-teams-template",
- "description": "Open Work and Project Management Platform.",
- "project": {
- "spec": {
- "name": "Ever Teams Template",
- "region": "europe-west",
- "description": "Open Work and Project Management Platform.",
- "color": "#3826A6",
- "networking": {
- "allowedIngressProjects": []
- }
- }
- },
- "$schema": "https://api.northflank.com/v1/schemas/template"
-}
+ "apiVersion": "v1.2",
+ "spec": {
+ "kind": "Workflow",
+ "spec": {
+ "type": "sequential",
+ "steps": [
+ {
+ "kind": "Project",
+ "ref": "project",
+ "spec": {
+ "name": "Ever Teams Template",
+ "region": "europe-west",
+ "description": "Open Work and Project Management Platform.",
+ "color": "#3826A6",
+ "networking": {
+ "allowedIngressProjects": []
+ }
+ }
+ },
+ {
+ "kind": "Workflow",
+ "spec": {
+ "type": "sequential",
+ "steps": [
+ {
+ "kind": "DeploymentService",
+ "spec": {
+ "deployment": {
+ "instances": 1,
+ "docker": {
+ "configType": "default"
+ },
+ "external": {
+ "imagePath": "ghcr.io/ever-co/ever-teams-webapp:latest"
+ }
+ },
+ "runtimeEnvironment": {},
+ "runtimeFiles": {},
+ "billing": {
+ "deploymentPlan": "nf-compute-10"
+ },
+ "name": "ever-teams-web",
+ "ports": [
+ {
+ "internalPort": 3030,
+ "protocol": "HTTP",
+ "public": true,
+ "name": "p01",
+ "domains": [],
+ "security": {
+ "policies": [],
+ "credentials": []
+ },
+ "disableNfDomain": false
+ }
+ ]
+ }
+ }
+ ],
+ "context": {
+ "projectId": "${refs.project.id}"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "name": "ever-teams-template",
+ "description": "Open Work and Project Management Platform.",
+ "options": {
+ "autorun": false,
+ "concurrencyPolicy": "allow"
+ },
+ "gitops": {
+ "repoUrl": "https://github.com/ever-co/ever-teams",
+ "vcsService": "github",
+ "vcsLinkId": "6561e62d6069fdc2fe81dffc",
+ "installationId": 44402628,
+ "branch": "develop",
+ "filePath": "/northflank-template.json",
+ "templateSha": "8b67d68a7666047ccd64928875f0a88fb762035b",
+ "templateSHA": "12e71fb141d67d0a4d61dec6962c3d1ec57f98fc"
+ },
+ "$schema": "https://api.northflank.com/v1/schemas/template"
+}
\ No newline at end of file