feat: complete release readiness work

- consolidate API ownership and remove dead vendor code

- add Stripe billing, learning paths, and public CV hardening

- add migration, recovery, security, audit, and browser gates
This commit is contained in:
cesnimda
2026-07-31 16:54:16 +02:00
parent a23c3dfc97
commit ce76046a29
1634 changed files with 6889 additions and 135429 deletions
+20
View File
@@ -144,6 +144,9 @@ export const translations = {
settingsUsageTokens: "{used} of {limit} estimated tokens",
settingsUsageStorage: "{used} of {limit} attachment storage",
settingsUsageReset: "AI limits reset at the start of each calendar month.",
settingsBillingUpgrade: "Upgrade to Premium",
settingsBillingManage: "Manage billing",
settingsBillingUnavailable: "Billing is temporarily unavailable.",
settingsSubtitle: "Preferences and admin tools.",
settingsTabGeneral: "General",
settingsTabFollowUps: "Follow-ups",
@@ -1038,6 +1041,13 @@ export const translations = {
matchScoreNoneYet: "No matches found yet.",
matchScoreAllCovered: "Every keyword is covered.",
matchScoreSectionCoverage: "Where your CV covers this role",
matchScoreLearningPath: "Learning path",
matchScoreLearningPathHint: "Job-specific skill gaps from the deterministic match. Verify real evidence before adding a skill to your profile.",
matchScoreMarkLearned: "Mark learned",
matchScoreLearned: "Learned",
matchScoreDismiss: "Dismiss",
matchScoreDismissedCount: "{count} dismissed",
matchScoreLearningUpdateFailed: "Could not update the learning recommendation.",
jobDetailsStrategySnapshot: "Strategy snapshot",
jobDetailsGenerateStrategySnapshot: "Generate strategy snapshot",
jobDetailsStrategySnapshotEmpty: "Generate a snapshot to see fit, positioning, and immediate priorities in one place.",
@@ -1232,6 +1242,9 @@ export const translations = {
settingsUsageTokens: "{used} av {limit} estimerte tokener",
settingsUsageStorage: "{used} av {limit} vedleggslagring",
settingsUsageReset: "KI-grensene nullstilles ved starten av hver kalendermåned.",
settingsBillingUpgrade: "Oppgrader til Premium",
settingsBillingManage: "Administrer betaling",
settingsBillingUnavailable: "Betaling er midlertidig utilgjengelig.",
settingsSubtitle: "Preferanser og adminverktøy.",
settingsTabGeneral: "Generelt",
settingsTabFollowUps: "Oppfølging",
@@ -2126,6 +2139,13 @@ export const translations = {
matchScoreNoneYet: "Ingen treff ennå.",
matchScoreAllCovered: "Alle nøkkelord er dekket.",
matchScoreSectionCoverage: "Hvor CV-en dekker denne rollen",
matchScoreLearningPath: "Læringssti",
matchScoreLearningPathHint: "Jobbspesifikke ferdighetsgap fra den deterministiske matchen. Bekreft reell erfaring før du legger en ferdighet til profilen.",
matchScoreMarkLearned: "Marker som lært",
matchScoreLearned: "Lært",
matchScoreDismiss: "Avvis",
matchScoreDismissedCount: "{count} avvist",
matchScoreLearningUpdateFailed: "Kunne ikke oppdatere læringsanbefalingen.",
jobDetailsStrategySnapshot: "Strategioversikt",
jobDetailsGenerateStrategySnapshot: "Generer strategioversikt",
jobDetailsStrategySnapshotEmpty: "Generer en oversikt for å se match, posisjonering og viktigste prioriteringer på ett sted.",