fix(i18n): localize application workflows

Use stable checklist and interview keys for system copy while preserving user-authored content. Localize creation-tab errors, language selectors, match bands, dates, and selected-CV context.
This commit is contained in:
cesnimda
2026-08-29 16:51:59 +02:00
parent 9edcbfc5de
commit a704c75440
11 changed files with 173 additions and 37 deletions
+44
View File
@@ -79,6 +79,8 @@ export const translations = {
noWord: "No",
createAndAddAnother: "Create & add another",
loading: "Loading...",
languageEnglish: "English",
languageNorwegianBokmal: "Norsk bokmål",
discoverJobs: "Discover jobs",
discoverJobsSubtitle: "Search official job-board feeds and save opportunities to your tracker.",
jobDetails: "Job details",
@@ -103,6 +105,15 @@ export const translations = {
interviewPrepCategory: "Category",
interviewPrepAddLabel: "Add a question, topic or note",
interviewPrepAdd: "Add",
interviewPrepLoadFailed: "Could not load interview preparation.",
interviewPrepUpdateFailed: "Could not update interview preparation.",
interviewPrepAnswerSaveFailed: "Could not save this answer.",
interviewCategoryCompanyResearch: "Company research",
interviewCategoryTechnical: "Technical preparation",
interviewCategoryBehavioural: "Behavioural questions",
interviewCategoryStar: "STAR examples",
interviewCategoryQuestions: "Questions to ask them",
interviewCategoryNotes: "Notes",
interviewAiTitle: "AI interview coach",
interviewAiSubtitle: "Uses the linked CV, job advert and application analysis. Suggestions never overwrite your notes.",
interviewAiUsing: "Using",
@@ -134,7 +145,10 @@ export const translations = {
interviewFollowUpOpenTasks: "{count} open follow-up tasks on the checklist.",
interviewFollowUpDate: "Follow up on",
interviewFollowUpEmpty: "No follow-up scheduled. Applications without one can go quiet.",
interviewFollowUpLoadFailed: "Could not load follow-up.",
interviewFollowUpSaveFailed: "Could not save the follow-up.",
intelligenceMilestones: "Milestones",
intelligenceLoadFailed: "Could not load this section.",
intelligenceTimeline: "Timeline",
intelligenceTimelineSubtitle: "Everything recorded for this application, newest first.",
intelligenceTimelineEmpty: "Nothing has happened yet. Activity appears here as the application moves forward.",
@@ -170,6 +184,10 @@ export const translations = {
intelligenceRelevantProjects: "Relevant projects",
intelligenceSuggestions: "Suggestions",
assetsCvSubtitle: "The CV variant used for this application. Variants tailor the master career profile without duplicating it.",
assetsLoadFailed: "Could not load this section.",
assetsAttachCvFailed: "Could not change the attached CV.",
assetsDuplicateCvFailed: "Could not create a tailored CV copy.",
assetsTailoredCopyName: "{name} — tailored copy",
assetsNoCvVariants: "No CV variants yet. Build one in the CV builder; it starts from the master career profile, so your history stays reusable.",
assetsAttachedCv: "Attached CV variant",
assetsAttachedCvHelp: "Changing this only changes which CV the application uses. The CV itself is untouched.",
@@ -189,6 +207,10 @@ export const translations = {
assetsCoverPlaceholder: "Write it yourself, start from the template, or generate a tailored draft.",
assetsDiscardChanges: "Discard changes",
assetsStartTemplate: "Start from template",
assetsCoverSaveFailed: "Could not save the cover letter.",
assetsCoverRestoreFailed: "Could not restore that version.",
assetsDraftsSaveFailed: "Could not save the application drafts.",
coverAiGenerateFailed: "Could not generate a cover-letter suggestion.",
cvEditorBack: "Back to CVs",
cvEditorName: "CV name",
cvEditorNameRequired: "Enter a name before saving.",
@@ -1865,6 +1887,8 @@ export const translations = {
noWord: "Nei",
createAndAddAnother: "Opprett og legg til en til",
loading: "Laster...",
languageEnglish: "Engelsk",
languageNorwegianBokmal: "Norsk bokmål",
discoverJobs: "Finn jobber",
discoverJobsSubtitle: "Søk i offisielle jobbportaler og lagre muligheter i oversikten din.",
jobDetails: "Jobbdetaljer",
@@ -1889,6 +1913,15 @@ export const translations = {
interviewPrepCategory: "Kategori",
interviewPrepAddLabel: "Legg til spørsmål, tema eller notat",
interviewPrepAdd: "Legg til",
interviewPrepLoadFailed: "Kunne ikke laste intervjuforberedelsen.",
interviewPrepUpdateFailed: "Kunne ikke oppdatere intervjuforberedelsen.",
interviewPrepAnswerSaveFailed: "Kunne ikke lagre dette svaret.",
interviewCategoryCompanyResearch: "Selskapsresearch",
interviewCategoryTechnical: "Teknisk forberedelse",
interviewCategoryBehavioural: "Atferdsbaserte spørsmål",
interviewCategoryStar: "STAR-eksempler",
interviewCategoryQuestions: "Spørsmål du kan stille",
interviewCategoryNotes: "Notater",
interviewAiTitle: "AI-intervjutrening",
interviewAiSubtitle: "Bruker tilknyttet CV, stillingsannonse og søknadsanalyse. Forslag overskriver aldri notatene dine.",
interviewAiUsing: "Bruker",
@@ -1920,7 +1953,10 @@ export const translations = {
interviewFollowUpOpenTasks: "{count} åpne oppfølgingsoppgaver i sjekklisten.",
interviewFollowUpDate: "Følg opp den",
interviewFollowUpEmpty: "Ingen oppfølging er planlagt. Søknader uten oppfølging kan bli stille.",
interviewFollowUpLoadFailed: "Kunne ikke laste oppfølgingen.",
interviewFollowUpSaveFailed: "Kunne ikke lagre oppfølgingen.",
intelligenceMilestones: "Milepæler",
intelligenceLoadFailed: "Kunne ikke laste denne delen.",
intelligenceTimeline: "Tidslinje",
intelligenceTimelineSubtitle: "Alt som er registrert for søknaden, nyeste først.",
intelligenceTimelineEmpty: "Ingenting har skjedd ennå. Aktivitet vises her når søknaden går videre.",
@@ -1956,6 +1992,10 @@ export const translations = {
intelligenceRelevantProjects: "Relevante prosjekter",
intelligenceSuggestions: "Forslag",
assetsCvSubtitle: "CV-varianten som brukes for denne søknaden. Varianter tilpasser karriereprofilen uten å duplisere den.",
assetsLoadFailed: "Kunne ikke laste denne delen.",
assetsAttachCvFailed: "Kunne ikke endre den tilknyttede CV-en.",
assetsDuplicateCvFailed: "Kunne ikke opprette en tilpasset CV-kopi.",
assetsTailoredCopyName: "{name} — tilpasset kopi",
assetsNoCvVariants: "Ingen CV-varianter ennå. Bygg en i CV-byggeren; den starter fra karriereprofilen, slik at historikken kan gjenbrukes.",
assetsAttachedCv: "Tilknyttet CV-variant",
assetsAttachedCvHelp: "Dette endrer bare hvilken CV søknaden bruker. Selve CV-en forblir urørt.",
@@ -1975,6 +2015,10 @@ export const translations = {
assetsCoverPlaceholder: "Skriv selv, start fra malen eller generer et tilpasset utkast.",
assetsDiscardChanges: "Forkast endringer",
assetsStartTemplate: "Start fra mal",
assetsCoverSaveFailed: "Kunne ikke lagre søknadsbrevet.",
assetsCoverRestoreFailed: "Kunne ikke gjenopprette denne versjonen.",
assetsDraftsSaveFailed: "Kunne ikke lagre søknadsutkastene.",
coverAiGenerateFailed: "Kunne ikke generere et forslag til søknadsbrev.",
cvEditorBack: "Tilbake til CV-er",
cvEditorName: "CV-navn",
cvEditorNameRequired: "Skriv inn et navn før du lagrer.",