Merge origin/main into improvement-dashboard-customization
Resolve sv.json conflict: take Swedish subcategory translations from main and loan keys from PR branch. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+131
-95
@@ -199,7 +199,8 @@
|
||||
"archivedToast": "Uppgiften arkiverades.",
|
||||
"kanbanArchived": "Arkiverad",
|
||||
"reminderNeedsDueDate": "Ange ett förfallodatum för att aktivera påminnelser för uppgiften.",
|
||||
"emptyAction": "Skapa uppgift"
|
||||
"emptyAction": "Skapa uppgift",
|
||||
"navLabelOverdue": "Uppgifter, {{count}} försenade"
|
||||
},
|
||||
"shopping": {
|
||||
"title": "Shopping",
|
||||
@@ -295,7 +296,7 @@
|
||||
"savedRecipePlaceholder": "Välj recept",
|
||||
"saveAsRecipe": "Spara som recept",
|
||||
"recipeScaleLabel": "Skala ingredienser",
|
||||
"deletedToast": "Meal deleted"
|
||||
"deletedToast": "Måltid borttagen"
|
||||
},
|
||||
"calendar": {
|
||||
"title": "Kalender",
|
||||
@@ -372,13 +373,23 @@
|
||||
"reset": "Återställ till original",
|
||||
"resetToast": "Ändringar återställda."
|
||||
},
|
||||
"iconLabel": "Icon",
|
||||
"invalidDate": "Use a valid date in the selected date format.",
|
||||
"attachmentLabel": "Attachment",
|
||||
"attachmentHint": "Attach a local image, PDF, or document. Images will be shown in the event popup.",
|
||||
"attachmentFallback": "Attachment",
|
||||
"attachmentReadError": "The attachment could not be read.",
|
||||
"attachmentTooLarge": "Attachment may be at most 5 MB."
|
||||
"iconLabel": "Ikon",
|
||||
"invalidDate": "Använd ett giltigt datum i det valda datumformatet.",
|
||||
"attachmentLabel": "Fastsättning",
|
||||
"attachmentHint": "Bifoga en lokal bild, PDF eller dokument. Bilder kommer att visas i evenemangets popup.",
|
||||
"attachmentFallback": "Fastsättning",
|
||||
"attachmentReadError": "Bilagan kunde inte läsas.",
|
||||
"attachmentTooLarge": "Bilaga får vara högst 5 MB.",
|
||||
"colorBlue": "Blå",
|
||||
"colorGreen": "Grön",
|
||||
"colorOrange": "Orange",
|
||||
"colorRed": "Röd",
|
||||
"colorPurple": "Lila",
|
||||
"colorCoral": "Korall",
|
||||
"colorSkyBlue": "Himmelsblå",
|
||||
"colorYellow": "Gul",
|
||||
"colorGray": "Grå",
|
||||
"colorCyan": "Cyan"
|
||||
},
|
||||
"notes": {
|
||||
"title": "Anteckningar",
|
||||
@@ -417,7 +428,15 @@
|
||||
"formatCode": "Kod",
|
||||
"formatQuote": "Citationstecken",
|
||||
"formatDivider": "Delare",
|
||||
"emptyAction": "Skapa anteckning"
|
||||
"emptyAction": "Skapa anteckning",
|
||||
"colorYellow": "Gul",
|
||||
"colorAmber": "Amber",
|
||||
"colorGreen": "Grön",
|
||||
"colorTeal": "Teal",
|
||||
"colorBlue": "Blå",
|
||||
"colorPurple": "Lila",
|
||||
"colorOrange": "Orange",
|
||||
"colorWhite": "Vit"
|
||||
},
|
||||
"contacts": {
|
||||
"title": "Kontakter",
|
||||
@@ -524,53 +543,53 @@
|
||||
"catGovernmentBenefits": "Socialförmåner",
|
||||
"catOtherIncome": "Övrig inkomst",
|
||||
"loadingIndicator": "Laddar…",
|
||||
"subcategoryLabel": "Subcategory",
|
||||
"catHousing": "Housing / Home",
|
||||
"subcategoryLabel": "Underkategori",
|
||||
"catHousing": "Bostad / Hem",
|
||||
"catTransport": "Transport",
|
||||
"catPersonalHealth": "Personal Care / Health",
|
||||
"catShoppingClothing": "Shopping and Clothing",
|
||||
"catFinancialOther": "Financial Services and Other",
|
||||
"subcatRentMortgage": "Rent / Mortgage",
|
||||
"subcatCondominium": "Condominium fees",
|
||||
"subcatUtilities": "Electricity / Water / Gas",
|
||||
"subcatInternetTvPhone": "Internet / TV / Phone",
|
||||
"subcatRenovationMaintenance": "Renovation / Maintenance",
|
||||
"subcatCleaning": "Cleaning",
|
||||
"subcatGroceries": "Groceries",
|
||||
"subcatRestaurantsBars": "Restaurants / Bars",
|
||||
"subcatSnacksFastFood": "Snacks / Fast Food",
|
||||
"subcatBakery": "Bakery",
|
||||
"subcatFuel": "Fuel",
|
||||
"subcatParkingTolls": "Parking / Tolls",
|
||||
"subcatPublicTransport": "Public transport",
|
||||
"subcatAppsTaxi": "Apps / Taxi",
|
||||
"subcatMaintenanceInsurance": "Maintenance / Insurance",
|
||||
"subcatPharmacy": "Pharmacy",
|
||||
"subcatHealthInsurance": "Health insurance",
|
||||
"subcatGymSports": "Gym / Sports",
|
||||
"subcatBeautyCosmetics": "Beauty / Cosmetics",
|
||||
"subcatTravel": "Travel",
|
||||
"catPersonalHealth": "Personlig vård / Hälsa",
|
||||
"catShoppingClothing": "Shopping och kläder",
|
||||
"catFinancialOther": "Finansiella tjänster och annat",
|
||||
"subcatRentMortgage": "Hyra / inteckning",
|
||||
"subcatCondominium": "Bostadsrättsavgifter",
|
||||
"subcatUtilities": "El / vatten / gas",
|
||||
"subcatInternetTvPhone": "Internet / TV / Telefon",
|
||||
"subcatRenovationMaintenance": "Renovering/underhåll",
|
||||
"subcatCleaning": "Rengöring",
|
||||
"subcatGroceries": "Specerier",
|
||||
"subcatRestaurantsBars": "Restauranger/barer",
|
||||
"subcatSnacksFastFood": "Snacks / Snabbmat",
|
||||
"subcatBakery": "Bageri",
|
||||
"subcatFuel": "Bränsle",
|
||||
"subcatParkingTolls": "Parkering / vägtullar",
|
||||
"subcatPublicTransport": "Kollektivtrafik",
|
||||
"subcatAppsTaxi": "Appar / Taxi",
|
||||
"subcatMaintenanceInsurance": "Underhåll / Försäkring",
|
||||
"subcatPharmacy": "Apotek",
|
||||
"subcatHealthInsurance": "Sjukförsäkring",
|
||||
"subcatGymSports": "Gym / Sport",
|
||||
"subcatBeautyCosmetics": "Skönhet / Kosmetika",
|
||||
"subcatTravel": "Resa",
|
||||
"subcatStreaming": "Streaming",
|
||||
"subcatEvents": "Events",
|
||||
"subcatHobbies": "Hobbies",
|
||||
"subcatClothesShoes": "Clothes / Shoes",
|
||||
"subcatElectronics": "Electronics",
|
||||
"subcatGifts": "Gifts",
|
||||
"subcatCoursesCollege": "Courses / College",
|
||||
"subcatSchoolSupplies": "School supplies",
|
||||
"subcatLanguages": "Languages",
|
||||
"subcatEvents": "Händelser",
|
||||
"subcatHobbies": "Hobbyer",
|
||||
"subcatClothesShoes": "Kläder / skor",
|
||||
"subcatElectronics": "Elektronik",
|
||||
"subcatGifts": "Gåvor",
|
||||
"subcatCoursesCollege": "Kurser / College",
|
||||
"subcatSchoolSupplies": "Skolmaterial",
|
||||
"subcatLanguages": "Språk",
|
||||
"subcatLoansInterest": "Lån / Ränta",
|
||||
"subcatBankFees": "Bank fees",
|
||||
"subcatInsuranceOther": "Insurance",
|
||||
"subcatInvestments": "Investments",
|
||||
"subcatTaxes": "Taxes",
|
||||
"metaLoadError": "Budget categories could not be loaded.",
|
||||
"addCategory": "+ category",
|
||||
"addSubcategory": "+ subcategory",
|
||||
"newCategoryPrompt": "Name of the new category:",
|
||||
"newSubcategoryPrompt": "Name of the new subcategory:",
|
||||
"categoryAddedToast": "Category added.",
|
||||
"subcategoryAddedToast": "Subcategory added.",
|
||||
"subcatBankFees": "Bankavgifter",
|
||||
"subcatInsuranceOther": "Försäkring",
|
||||
"subcatInvestments": "Investeringar",
|
||||
"subcatTaxes": "Skatter",
|
||||
"metaLoadError": "Budgetkategorier kunde inte läsas in.",
|
||||
"addCategory": "+ kategori",
|
||||
"addSubcategory": "+ underkategori",
|
||||
"newCategoryPrompt": "Namn på den nya kategorin:",
|
||||
"newSubcategoryPrompt": "Namn på den nya underkategorin:",
|
||||
"categoryAddedToast": "Kategori tillagd.",
|
||||
"subcategoryAddedToast": "Underkategori har lagts till.",
|
||||
"emptyAction": "Lägg till post",
|
||||
"loansTitle": "Lån",
|
||||
"loansSummary": "{{count}} aktiva · {{amount}} kvar",
|
||||
@@ -765,28 +784,28 @@
|
||||
"currencyLabel": "Valuta",
|
||||
"currencyHint": "Ställer in valutan som används i hela budgetavsnittet.",
|
||||
"currencySaved": "Valuta sparad.",
|
||||
"apiTokensTitle": "API Tokens",
|
||||
"apiTokensTitle": "API-tokens",
|
||||
"apiTokensCardTitle": "Access Tokens",
|
||||
"apiTokensHint": "Create API tokens for external integrations. The full token is shown only once after creation.",
|
||||
"apiTokenNameLabel": "Token name",
|
||||
"apiTokenExpiresLabel": "Expiration date",
|
||||
"apiTokenExpiresHint": "Leave empty to create a token without expiration.",
|
||||
"apiTokenCreatedLabel": "New API token",
|
||||
"apiTokenCreatedHint": "Store this token securely. It cannot be shown again.",
|
||||
"apiTokenCreate": "Create token",
|
||||
"apiTokenInvalidExpiration": "Please enter a valid expiration date.",
|
||||
"apiTokenCreatedToast": "API token created.",
|
||||
"apiTokenRevokedToast": "API token revoked.",
|
||||
"apiTokenRevokeConfirm": "Revoke API token \"{{name}}\"?",
|
||||
"apiTokenRevoke": "Revoke token",
|
||||
"apiTokenRevoked": "Revoked",
|
||||
"apiTokenExpired": "Expired",
|
||||
"apiTokenActive": "Active",
|
||||
"apiTokensHint": "Skapa API-tokens för externa integrationer. Den fullständiga token visas endast en gång efter skapandet.",
|
||||
"apiTokenNameLabel": "Tokennamn",
|
||||
"apiTokenExpiresLabel": "Utgångsdatum",
|
||||
"apiTokenExpiresHint": "Lämna tomt för att skapa en token utan utgång.",
|
||||
"apiTokenCreatedLabel": "Ny API-token",
|
||||
"apiTokenCreatedHint": "Förvara denna token säkert. Den kan inte visas igen.",
|
||||
"apiTokenCreate": "Skapa token",
|
||||
"apiTokenInvalidExpiration": "Ange ett giltigt utgångsdatum.",
|
||||
"apiTokenCreatedToast": "API-token skapad.",
|
||||
"apiTokenRevokedToast": "API-token har återkallats.",
|
||||
"apiTokenRevokeConfirm": "Återkalla API-token \"{{name}}\"?",
|
||||
"apiTokenRevoke": "Återkalla token",
|
||||
"apiTokenRevoked": "Återkallad",
|
||||
"apiTokenExpired": "Utgått",
|
||||
"apiTokenActive": "Aktiv",
|
||||
"apiTokenPrefix": "Prefix",
|
||||
"apiTokenExpires": "Expires",
|
||||
"apiTokenNeverExpires": "No expiration",
|
||||
"apiTokenLastUsed": "Last used",
|
||||
"apiTokenNeverUsed": "Never used",
|
||||
"apiTokenExpires": "Upphör att gälla",
|
||||
"apiTokenNeverExpires": "Inget utgångsdatum",
|
||||
"apiTokenLastUsed": "Senast använd",
|
||||
"apiTokenNeverUsed": "Aldrig använd",
|
||||
"ics": {
|
||||
"title": "ICS-prenumerationer",
|
||||
"add": "Lägg till prenumeration",
|
||||
@@ -842,7 +861,7 @@
|
||||
"backupRestoring": "Återställer...",
|
||||
"backupRestoredToast": "Databasen återställd. Laddar om...",
|
||||
"backupCliTitle": "CLI / Docker Compose-återställning",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliHint": "För driftåterställningar, stoppa appen, montera säkerhetskopian i en tillfällig container och byt ut databasfilen.",
|
||||
"backupCliBackupHint": "Du kan också skapa en backup direkt med Docker Compose:"
|
||||
},
|
||||
"login": {
|
||||
@@ -951,7 +970,8 @@
|
||||
"deleteConfirm": "Ta bort födelsedagen för \"{{name}}\"?",
|
||||
"ageNoteToday": "Fyller {{age}} år idag.",
|
||||
"ageNoteTomorrow": "Fyller {{age}} år i morgon.",
|
||||
"ageNoteDays": "Fyller {{age}} år om {{days}} dagar."
|
||||
"ageNoteDays": "Fyller {{age}} år om {{days}} dagar.",
|
||||
"photoOptional": "Valfritt: Du kan spara utan profilbild."
|
||||
},
|
||||
"reminders": {
|
||||
"sectionTitle": "Påminnelse",
|
||||
@@ -973,33 +993,41 @@
|
||||
"notificationEnabled": "Notiser aktiva",
|
||||
"notificationDenied": "Notiser blockerade",
|
||||
"notificationHint": "Få notiser även när appen är öppen.",
|
||||
"offset2days": "2 days before",
|
||||
"offset1week": "1 week before",
|
||||
"offset2weeks": "2 weeks before",
|
||||
"offsetCustom": "Custom...",
|
||||
"customAmountLabel": "Number",
|
||||
"customUnitLabel": "Unit",
|
||||
"customMinutes": "Minutes",
|
||||
"customHours": "Hours",
|
||||
"customDays": "Days",
|
||||
"customWeeks": "Weeks"
|
||||
"offset2days": "2 dagar innan",
|
||||
"offset1week": "1 vecka innan",
|
||||
"offset2weeks": "2 veckor innan",
|
||||
"offsetCustom": "Anpassad...",
|
||||
"customAmountLabel": "Antal",
|
||||
"customUnitLabel": "Enhet",
|
||||
"customMinutes": "Minuter",
|
||||
"customHours": "Timmar",
|
||||
"customDays": "dagar",
|
||||
"customWeeks": "Veckor"
|
||||
},
|
||||
"onboarding": {
|
||||
"step1Title": "Welcome to Oikos",
|
||||
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more – all in one place.",
|
||||
"step1Title": "Välkommen till Oikos",
|
||||
"step1Body": "Din personliga familjeplanerare. Uppgifter, kalender, shopping och mer – allt på ett ställe.",
|
||||
"step2Title": "Navigering och moduler",
|
||||
"step2Body": "Nere på skärmen når du direkt Dashboard och Kalender. Med ···-knappen öppnar du fler moduler som Kök, Anteckningar och Kontakter.",
|
||||
"step2Body": "Nere på skärmen når du direkt Översikt och Kalender. Med ···-knappen öppnar du fler moduler som Kök, Anteckningar och Kontakter.",
|
||||
"step3Title": "Kom igång snabbt",
|
||||
"step3Body": "Med +-knappen skapar du nya poster var som helst. Svep listobjekt åt vänster eller höger för snabbåtgärder.",
|
||||
"next": "Next",
|
||||
"done": "Get started",
|
||||
"skip": "Skip"
|
||||
"next": "Nästa",
|
||||
"done": "Kom igång",
|
||||
"skip": "Skippa"
|
||||
},
|
||||
"offline": {
|
||||
"banner": "Offline – reconnecting…"
|
||||
"banner": "Offline – återansluter…"
|
||||
},
|
||||
"emptyHint": {
|
||||
"recipes": "Skapa recept och koppla dem till din måltidsplanering."
|
||||
"recipes": "Skapa recept och koppla dem till din måltidsplanering.",
|
||||
"tasks": "Tryck på + för att skapa din första uppgift. Svep ett kort åt vänster för att ta bort.",
|
||||
"calendar": "Koppla Google Kalender under Inställningar → Integrationer för automatisk synkronisering.",
|
||||
"shopping": "Lägg till artiklar och svep för att markera eller ta bort.",
|
||||
"notes": "Tryck på + för en ny anteckning. Anteckningar söks i fulltext.",
|
||||
"contacts": "Lägg till viktiga kontakter — läkare, skola, nödfall — för snabb åtkomst.",
|
||||
"budget": "Skapa kategorier och registrera inkomster och utgifter.",
|
||||
"meals": "Planera måltider för veckan och koppla recept.",
|
||||
"birthdays": "Lägg in födelsedagar — du får en påminnelse i tid."
|
||||
},
|
||||
"documents": {
|
||||
"title": "Dokument",
|
||||
@@ -1063,6 +1091,14 @@
|
||||
"selectedFileLabel": "Vald: {{name}}"
|
||||
},
|
||||
"shortcuts": {
|
||||
"goKitchen": "Kök"
|
||||
"goKitchen": "Kök",
|
||||
"search": "Öppna sökning",
|
||||
"new": "Skapa ny post",
|
||||
"help": "Tangentbordsgenvägar",
|
||||
"goDash": "Översikt",
|
||||
"goTasks": "Uppgifter",
|
||||
"goCal": "Kalender",
|
||||
"goShop": "Inköpslista",
|
||||
"goNotes": "Anteckningar"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user