Phase2: Invoicecomputation/AdminpricingUI/Ainvoicemgnt
Some checks failed
Build and Push / build (push) Failing after 28s
Some checks failed
Build and Push / build (push) Failing after 28s
This commit is contained in:
@@ -384,7 +384,8 @@
|
||||
"spendChf": "Kosten (CHF)",
|
||||
"resumeRequestBadge": "Wieder",
|
||||
"resumeRequestTooltip": "Reaktivierungsanfrage für einen bestehenden Tenant. Bei Genehmigung wird der Tenant wieder aktiviert; keine Provisionierung läuft.",
|
||||
"openclawTool": "OpenClaw-Versionen"
|
||||
"openclawTool": "OpenClaw-Versionen",
|
||||
"billingTool": "Abrechnung →"
|
||||
},
|
||||
"channelUsers": {
|
||||
"title": "Autorisierte Benutzer",
|
||||
@@ -553,5 +554,105 @@
|
||||
"defaultPrefix": "Standard:",
|
||||
"saveOverride": "Override speichern",
|
||||
"clearOverride": "Override entfernen"
|
||||
},
|
||||
"adminBilling": {
|
||||
"title": "Abrechnungsverwaltung",
|
||||
"subtitle": "Plattform-Preise verwalten, Rechnungen generieren und den Rechnungsstatus aller Organisationen prüfen.",
|
||||
"backToAdmin": "Zurück zur Verwaltung",
|
||||
"backToBilling": "Zurück zur Abrechnung",
|
||||
"backToInvoices": "Zurück zu den Rechnungen",
|
||||
"totalOpenBalance": "Offener Saldo gesamt",
|
||||
"orgsWithBalance": "Organisationen mit Saldo",
|
||||
"overdueInvoices": "Überfällige Rechnungen",
|
||||
"pricingTitle": "Preise",
|
||||
"pricingDesc": "Plattform- & Skill-Preise, MWST-Satz.",
|
||||
"pricingPageDesc": "Plattformweite Preise und Skill-Tagespreise bearbeiten.",
|
||||
"generateTitle": "Rechnung erstellen",
|
||||
"generateDesc": "Rechnung für eine Organisation und einen Monat berechnen und ausstellen.",
|
||||
"generatePageDesc": "Organisation, Periode und Sprache wählen. Die Vorschau zeigt die berechneten Positionen; mit Bestätigen wird die Rechnung ausgestellt und das PDF erzeugt.",
|
||||
"invoicesTitle": "Rechnungen",
|
||||
"invoicesDesc": "Alle Rechnungen anzeigen, als bezahlt markieren, PDFs herunterladen.",
|
||||
"invoicesPageDesc": "Alle von der Plattform ausgestellten Rechnungen. Mit dem Statusfilter offene oder überfällige Positionen einsehen.",
|
||||
"balancesTitle": "Organisationen mit offenem Saldo",
|
||||
"orgIdCol": "Zitadel-Org-ID",
|
||||
"openCountCol": "Offen",
|
||||
"overdueCountCol": "Überfällig",
|
||||
"totalOpenCol": "Gesamt offen",
|
||||
"platformPricingTitle": "Plattform-Preise",
|
||||
"monthlyFeeLabel": "Monatliche Tenant-Gebühr",
|
||||
"setupFeeLabel": "Einrichtungsgebühr Tenant",
|
||||
"threemaMessageLabel": "Threema pro Nachricht",
|
||||
"vatRateLabel": "MWST-Satz (CH/LI)",
|
||||
"save": "Speichern",
|
||||
"saving": "Speichere…",
|
||||
"savedOk": "Gespeichert",
|
||||
"skillPricingTitle": "Skill-Preise",
|
||||
"skillPricingDesc": "Tagespreis pro Skill. Ein zu beliebigem Zeitpunkt an einem UTC-Tag aktivierter Skill zählt als ein abrechenbarer Tag.",
|
||||
"skillCol": "Skill",
|
||||
"dailyPriceCol": "Tagespreis",
|
||||
"actionsCol": "",
|
||||
"remove": "Entfernen",
|
||||
"noSkillsPriced": "Noch keine Skills bepreist.",
|
||||
"addSkillLabel": "Skill hinzufügen",
|
||||
"dailyPriceLabel": "Tagespreis",
|
||||
"add": "Hinzufügen",
|
||||
"confirmDeleteSkillPrice": "Preis für {skill} entfernen?",
|
||||
"clickToEdit": "Zum Bearbeiten klicken",
|
||||
"generateFormTitle": "Rechnung erstellen",
|
||||
"noOrgsToGenerate": "Keine Organisationen mit Tenants gefunden.",
|
||||
"orgLabel": "Organisation",
|
||||
"noBillingAddrTag": "keine Rechnungsadresse",
|
||||
"noBillingAddrWarning": "Diese Organisation hat keine Rechnungsadresse hinterlegt. Der Kunde muss /settings/billing ausfüllen, bevor eine Rechnung ausgestellt werden kann.",
|
||||
"tenantsLabel": "Tenants",
|
||||
"yearLabel": "Jahr",
|
||||
"monthLabel": "Monat",
|
||||
"localeLabel": "PDF-Sprache",
|
||||
"localeAuto": "Automatisch",
|
||||
"previewBtn": "Vorschau",
|
||||
"commitBtn": "Bestätigen & ausstellen",
|
||||
"computing": "Berechne…",
|
||||
"confirmGenerate": "Diese Rechnung ausstellen? Es wird eine Rechnungsnummer vergeben und das PDF erzeugt.",
|
||||
"previewTitle": "Entwurfsvorschau",
|
||||
"warningsTitle": "Hinweise",
|
||||
"noLinesGenerated": "Keine abrechenbaren Positionen für diese Periode.",
|
||||
"descCol": "Beschreibung",
|
||||
"qtyCol": "Menge",
|
||||
"unitPriceCol": "Einzelpreis",
|
||||
"amountCol": "Betrag (CHF)",
|
||||
"subtotal": "Zwischensumme",
|
||||
"vat": "MWST",
|
||||
"total": "Total",
|
||||
"statusFilterLabel": "Status",
|
||||
"allStatuses": "Alle",
|
||||
"monthFilterLabel": "Periode",
|
||||
"clearFilter": "Zurücksetzen",
|
||||
"loading": "Lade…",
|
||||
"noInvoicesFound": "Keine Rechnungen entsprechen den aktuellen Filtern.",
|
||||
"invoiceNumberCol": "Nummer",
|
||||
"orgCol": "Organisation",
|
||||
"periodCol": "Periode",
|
||||
"statusCol": "Status",
|
||||
"totalCol": "Total",
|
||||
"dueCol": "Fällig",
|
||||
"status_draft": "Entwurf",
|
||||
"status_open": "Offen",
|
||||
"status_paid": "Bezahlt",
|
||||
"status_overdue": "Überfällig",
|
||||
"status_void": "Storniert",
|
||||
"status_uncollectible": "Uneinbringlich",
|
||||
"dueOnLabel": "Fällig",
|
||||
"totalLabel": "Total",
|
||||
"downloadPdfBtn": "PDF herunterladen",
|
||||
"markPaidBtn": "Als bezahlt markieren",
|
||||
"paidNotePlaceholder": "Optionale Notiz (z. B. Bankreferenz, Eingangsdatum)",
|
||||
"confirm": "Bestätigen",
|
||||
"cancel": "Abbrechen",
|
||||
"deleteBtn": "Löschen",
|
||||
"deleting": "Lösche…",
|
||||
"deleteHint": "Rechnung hart löschen (Test-Tool). Die Nummer bleibt vergeben.",
|
||||
"confirmDeleteInvoice": "Rechnung {num} löschen? Dies ist eine harte Löschung — die Rechnungsnummer bleibt verbraucht.",
|
||||
"paidOnLabel": "Bezahlt am",
|
||||
"lineItemsTitle": "Positionen",
|
||||
"billToSnapshotTitle": "Rechnungsempfänger"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,7 +384,8 @@
|
||||
"spendChf": "Spend (CHF)",
|
||||
"resumeRequestBadge": "Resume",
|
||||
"resumeRequestTooltip": "Reactivation request for an existing tenant. Approving will un-suspend the tenant; no provisioning runs.",
|
||||
"openclawTool": "OpenClaw versions"
|
||||
"openclawTool": "OpenClaw versions",
|
||||
"billingTool": "Billing →"
|
||||
},
|
||||
"channelUsers": {
|
||||
"title": "Authorized Users",
|
||||
@@ -553,5 +554,105 @@
|
||||
"defaultPrefix": "Default:",
|
||||
"saveOverride": "Save override",
|
||||
"clearOverride": "Clear override"
|
||||
},
|
||||
"adminBilling": {
|
||||
"title": "Billing administration",
|
||||
"subtitle": "Manage platform pricing, generate invoices, and review billing status across all organizations.",
|
||||
"backToAdmin": "Back to Admin",
|
||||
"backToBilling": "Back to Billing",
|
||||
"backToInvoices": "Back to Invoices",
|
||||
"totalOpenBalance": "Total open balance",
|
||||
"orgsWithBalance": "Orgs with balance",
|
||||
"overdueInvoices": "Overdue invoices",
|
||||
"pricingTitle": "Pricing",
|
||||
"pricingDesc": "Platform & skill prices, VAT rate.",
|
||||
"pricingPageDesc": "Edit platform-wide pricing and per-skill daily rates.",
|
||||
"generateTitle": "Generate invoice",
|
||||
"generateDesc": "Compute and issue an invoice for a given org & month.",
|
||||
"generatePageDesc": "Pick an org, period and locale. Preview shows the computed lines; commit issues the invoice and renders the PDF.",
|
||||
"invoicesTitle": "Invoices",
|
||||
"invoicesDesc": "Browse all issued invoices, mark paid, download PDFs.",
|
||||
"invoicesPageDesc": "All invoices issued by the platform. Use the status filter to focus on open or overdue items.",
|
||||
"balancesTitle": "Orgs with open balance",
|
||||
"orgIdCol": "Zitadel org ID",
|
||||
"openCountCol": "Open",
|
||||
"overdueCountCol": "Overdue",
|
||||
"totalOpenCol": "Total open",
|
||||
"platformPricingTitle": "Platform pricing",
|
||||
"monthlyFeeLabel": "Tenant monthly fee",
|
||||
"setupFeeLabel": "Tenant setup fee",
|
||||
"threemaMessageLabel": "Threema per message",
|
||||
"vatRateLabel": "VAT rate (CH/LI)",
|
||||
"save": "Save",
|
||||
"saving": "Saving…",
|
||||
"savedOk": "Saved",
|
||||
"skillPricingTitle": "Skill pricing",
|
||||
"skillPricingDesc": "Per-skill daily price. A skill enabled at any point during a UTC day counts as one billable day.",
|
||||
"skillCol": "Skill",
|
||||
"dailyPriceCol": "Daily price",
|
||||
"actionsCol": "",
|
||||
"remove": "Remove",
|
||||
"noSkillsPriced": "No skills are priced yet.",
|
||||
"addSkillLabel": "Add skill",
|
||||
"dailyPriceLabel": "Daily price",
|
||||
"add": "Add",
|
||||
"confirmDeleteSkillPrice": "Remove pricing for {skill}?",
|
||||
"clickToEdit": "Click to edit",
|
||||
"generateFormTitle": "Generate invoice",
|
||||
"noOrgsToGenerate": "No organizations with tenants found.",
|
||||
"orgLabel": "Organization",
|
||||
"noBillingAddrTag": "no billing address",
|
||||
"noBillingAddrWarning": "This org has no billing address on file. The customer must complete /settings/billing before an invoice can be issued.",
|
||||
"tenantsLabel": "tenants",
|
||||
"yearLabel": "Year",
|
||||
"monthLabel": "Month",
|
||||
"localeLabel": "PDF language",
|
||||
"localeAuto": "Auto",
|
||||
"previewBtn": "Preview",
|
||||
"commitBtn": "Commit & issue",
|
||||
"computing": "Computing…",
|
||||
"confirmGenerate": "Issue this invoice? This action allocates an invoice number and renders the PDF.",
|
||||
"previewTitle": "Draft preview",
|
||||
"warningsTitle": "Warnings",
|
||||
"noLinesGenerated": "No billable lines for this period.",
|
||||
"descCol": "Description",
|
||||
"qtyCol": "Qty",
|
||||
"unitPriceCol": "Unit price",
|
||||
"amountCol": "Amount (CHF)",
|
||||
"subtotal": "Subtotal",
|
||||
"vat": "VAT",
|
||||
"total": "Total",
|
||||
"statusFilterLabel": "Status",
|
||||
"allStatuses": "All",
|
||||
"monthFilterLabel": "Period",
|
||||
"clearFilter": "Clear",
|
||||
"loading": "Loading…",
|
||||
"noInvoicesFound": "No invoices match the current filters.",
|
||||
"invoiceNumberCol": "Number",
|
||||
"orgCol": "Organization",
|
||||
"periodCol": "Period",
|
||||
"statusCol": "Status",
|
||||
"totalCol": "Total",
|
||||
"dueCol": "Due",
|
||||
"status_draft": "Draft",
|
||||
"status_open": "Open",
|
||||
"status_paid": "Paid",
|
||||
"status_overdue": "Overdue",
|
||||
"status_void": "Void",
|
||||
"status_uncollectible": "Uncollectible",
|
||||
"dueOnLabel": "Due",
|
||||
"totalLabel": "Total",
|
||||
"downloadPdfBtn": "Download PDF",
|
||||
"markPaidBtn": "Mark as paid",
|
||||
"paidNotePlaceholder": "Optional note (e.g. bank reference, deposit date)",
|
||||
"confirm": "Confirm",
|
||||
"cancel": "Cancel",
|
||||
"deleteBtn": "Delete",
|
||||
"deleting": "Deleting…",
|
||||
"deleteHint": "Hard-delete this invoice (testing tool). Number is consumed.",
|
||||
"confirmDeleteInvoice": "Delete invoice {num}? This is a hard delete — the invoice number stays consumed.",
|
||||
"paidOnLabel": "Paid",
|
||||
"lineItemsTitle": "Line items",
|
||||
"billToSnapshotTitle": "Billed to"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,7 +384,8 @@
|
||||
"spendChf": "Coûts (CHF)",
|
||||
"resumeRequestBadge": "Reprise",
|
||||
"resumeRequestTooltip": "Demande de réactivation d'un locataire existant. L'approbation le réactivera ; aucun provisionnement ne s'exécute.",
|
||||
"openclawTool": "Versions OpenClaw"
|
||||
"openclawTool": "Versions OpenClaw",
|
||||
"billingTool": "Facturation →"
|
||||
},
|
||||
"channelUsers": {
|
||||
"title": "Utilisateurs autorisés",
|
||||
@@ -553,5 +554,105 @@
|
||||
"defaultPrefix": "Défaut :",
|
||||
"saveOverride": "Enregistrer la surcharge",
|
||||
"clearOverride": "Supprimer la surcharge"
|
||||
},
|
||||
"adminBilling": {
|
||||
"title": "Administration de la facturation",
|
||||
"subtitle": "Gérer les tarifs de la plateforme, générer des factures et examiner le statut de facturation des organisations.",
|
||||
"backToAdmin": "Retour à l'administration",
|
||||
"backToBilling": "Retour à la facturation",
|
||||
"backToInvoices": "Retour aux factures",
|
||||
"totalOpenBalance": "Solde ouvert total",
|
||||
"orgsWithBalance": "Organisations avec solde",
|
||||
"overdueInvoices": "Factures en retard",
|
||||
"pricingTitle": "Tarifs",
|
||||
"pricingDesc": "Tarifs plateforme & skills, taux TVA.",
|
||||
"pricingPageDesc": "Modifier les tarifs de la plateforme et les prix journaliers par skill.",
|
||||
"generateTitle": "Générer une facture",
|
||||
"generateDesc": "Calculer et émettre une facture pour une organisation et un mois.",
|
||||
"generatePageDesc": "Choisir une organisation, une période et une langue. L'aperçu affiche les lignes calculées; valider émet la facture et génère le PDF.",
|
||||
"invoicesTitle": "Factures",
|
||||
"invoicesDesc": "Parcourir les factures, marquer comme payées, télécharger les PDF.",
|
||||
"invoicesPageDesc": "Toutes les factures émises par la plateforme. Utiliser le filtre de statut pour cibler les éléments ouverts ou en retard.",
|
||||
"balancesTitle": "Organisations avec solde ouvert",
|
||||
"orgIdCol": "ID org Zitadel",
|
||||
"openCountCol": "Ouvert",
|
||||
"overdueCountCol": "En retard",
|
||||
"totalOpenCol": "Total ouvert",
|
||||
"platformPricingTitle": "Tarifs plateforme",
|
||||
"monthlyFeeLabel": "Forfait mensuel tenant",
|
||||
"setupFeeLabel": "Frais de configuration tenant",
|
||||
"threemaMessageLabel": "Threema par message",
|
||||
"vatRateLabel": "Taux TVA (CH/LI)",
|
||||
"save": "Enregistrer",
|
||||
"saving": "Enregistrement…",
|
||||
"savedOk": "Enregistré",
|
||||
"skillPricingTitle": "Tarifs des skills",
|
||||
"skillPricingDesc": "Prix journalier par skill. Un skill activé à tout moment au cours d'une journée UTC compte comme un jour facturable.",
|
||||
"skillCol": "Skill",
|
||||
"dailyPriceCol": "Prix/jour",
|
||||
"actionsCol": "",
|
||||
"remove": "Retirer",
|
||||
"noSkillsPriced": "Aucun skill n'a encore de prix.",
|
||||
"addSkillLabel": "Ajouter un skill",
|
||||
"dailyPriceLabel": "Prix/jour",
|
||||
"add": "Ajouter",
|
||||
"confirmDeleteSkillPrice": "Retirer le prix pour {skill}?",
|
||||
"clickToEdit": "Cliquer pour modifier",
|
||||
"generateFormTitle": "Générer une facture",
|
||||
"noOrgsToGenerate": "Aucune organisation avec tenants trouvée.",
|
||||
"orgLabel": "Organisation",
|
||||
"noBillingAddrTag": "pas d'adresse de facturation",
|
||||
"noBillingAddrWarning": "Cette organisation n'a pas d'adresse de facturation enregistrée. Le client doit compléter /settings/billing avant qu'une facture puisse être émise.",
|
||||
"tenantsLabel": "tenants",
|
||||
"yearLabel": "Année",
|
||||
"monthLabel": "Mois",
|
||||
"localeLabel": "Langue PDF",
|
||||
"localeAuto": "Auto",
|
||||
"previewBtn": "Aperçu",
|
||||
"commitBtn": "Valider & émettre",
|
||||
"computing": "Calcul…",
|
||||
"confirmGenerate": "Émettre cette facture? Cette action attribue un numéro de facture et génère le PDF.",
|
||||
"previewTitle": "Aperçu du brouillon",
|
||||
"warningsTitle": "Avertissements",
|
||||
"noLinesGenerated": "Aucune ligne facturable pour cette période.",
|
||||
"descCol": "Description",
|
||||
"qtyCol": "Qté",
|
||||
"unitPriceCol": "Prix unitaire",
|
||||
"amountCol": "Montant (CHF)",
|
||||
"subtotal": "Sous-total",
|
||||
"vat": "TVA",
|
||||
"total": "Total",
|
||||
"statusFilterLabel": "Statut",
|
||||
"allStatuses": "Tous",
|
||||
"monthFilterLabel": "Période",
|
||||
"clearFilter": "Effacer",
|
||||
"loading": "Chargement…",
|
||||
"noInvoicesFound": "Aucune facture ne correspond aux filtres.",
|
||||
"invoiceNumberCol": "Numéro",
|
||||
"orgCol": "Organisation",
|
||||
"periodCol": "Période",
|
||||
"statusCol": "Statut",
|
||||
"totalCol": "Total",
|
||||
"dueCol": "Échéance",
|
||||
"status_draft": "Brouillon",
|
||||
"status_open": "Ouverte",
|
||||
"status_paid": "Payée",
|
||||
"status_overdue": "En retard",
|
||||
"status_void": "Annulée",
|
||||
"status_uncollectible": "Irrécouvrable",
|
||||
"dueOnLabel": "Échéance",
|
||||
"totalLabel": "Total",
|
||||
"downloadPdfBtn": "Télécharger le PDF",
|
||||
"markPaidBtn": "Marquer comme payée",
|
||||
"paidNotePlaceholder": "Note facultative (ex. référence bancaire, date de paiement)",
|
||||
"confirm": "Confirmer",
|
||||
"cancel": "Annuler",
|
||||
"deleteBtn": "Supprimer",
|
||||
"deleting": "Suppression…",
|
||||
"deleteHint": "Suppression définitive (outil de test). Le numéro reste utilisé.",
|
||||
"confirmDeleteInvoice": "Supprimer la facture {num}? Suppression définitive — le numéro reste utilisé.",
|
||||
"paidOnLabel": "Payée le",
|
||||
"lineItemsTitle": "Lignes",
|
||||
"billToSnapshotTitle": "Destinataire"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,7 +384,8 @@
|
||||
"spendChf": "Costi (CHF)",
|
||||
"resumeRequestBadge": "Ripresa",
|
||||
"resumeRequestTooltip": "Richiesta di riattivazione di un tenant esistente. L'approvazione lo riattiverà; non viene eseguito alcun provisioning.",
|
||||
"openclawTool": "Versioni OpenClaw"
|
||||
"openclawTool": "Versioni OpenClaw",
|
||||
"billingTool": "Fatturazione →"
|
||||
},
|
||||
"channelUsers": {
|
||||
"title": "Utenti autorizzati",
|
||||
@@ -553,5 +554,105 @@
|
||||
"defaultPrefix": "Predefinito:",
|
||||
"saveOverride": "Salva override",
|
||||
"clearOverride": "Rimuovi override"
|
||||
},
|
||||
"adminBilling": {
|
||||
"title": "Amministrazione fatturazione",
|
||||
"subtitle": "Gestire prezzi della piattaforma, generare fatture e verificare lo stato di fatturazione delle organizzazioni.",
|
||||
"backToAdmin": "Torna ad amministrazione",
|
||||
"backToBilling": "Torna alla fatturazione",
|
||||
"backToInvoices": "Torna alle fatture",
|
||||
"totalOpenBalance": "Saldo aperto totale",
|
||||
"orgsWithBalance": "Organizzazioni con saldo",
|
||||
"overdueInvoices": "Fatture scadute",
|
||||
"pricingTitle": "Prezzi",
|
||||
"pricingDesc": "Prezzi piattaforma & skill, aliquota IVA.",
|
||||
"pricingPageDesc": "Modificare i prezzi della piattaforma e i prezzi giornalieri per skill.",
|
||||
"generateTitle": "Genera fattura",
|
||||
"generateDesc": "Calcolare ed emettere una fattura per organizzazione e mese.",
|
||||
"generatePageDesc": "Scegli organizzazione, periodo e lingua. L'anteprima mostra le righe calcolate; conferma emette la fattura e genera il PDF.",
|
||||
"invoicesTitle": "Fatture",
|
||||
"invoicesDesc": "Sfoglia le fatture, segna come pagate, scarica i PDF.",
|
||||
"invoicesPageDesc": "Tutte le fatture emesse dalla piattaforma. Usa il filtro di stato per focalizzarti su voci aperte o scadute.",
|
||||
"balancesTitle": "Organizzazioni con saldo aperto",
|
||||
"orgIdCol": "ID org Zitadel",
|
||||
"openCountCol": "Aperte",
|
||||
"overdueCountCol": "Scadute",
|
||||
"totalOpenCol": "Totale aperto",
|
||||
"platformPricingTitle": "Prezzi piattaforma",
|
||||
"monthlyFeeLabel": "Canone mensile tenant",
|
||||
"setupFeeLabel": "Spese di attivazione tenant",
|
||||
"threemaMessageLabel": "Threema per messaggio",
|
||||
"vatRateLabel": "Aliquota IVA (CH/LI)",
|
||||
"save": "Salva",
|
||||
"saving": "Salvataggio…",
|
||||
"savedOk": "Salvato",
|
||||
"skillPricingTitle": "Prezzi skill",
|
||||
"skillPricingDesc": "Prezzo giornaliero per skill. Una skill attiva in qualsiasi momento di un giorno UTC conta come un giorno fatturabile.",
|
||||
"skillCol": "Skill",
|
||||
"dailyPriceCol": "Prezzo/giorno",
|
||||
"actionsCol": "",
|
||||
"remove": "Rimuovi",
|
||||
"noSkillsPriced": "Nessuna skill ha ancora un prezzo.",
|
||||
"addSkillLabel": "Aggiungi skill",
|
||||
"dailyPriceLabel": "Prezzo/giorno",
|
||||
"add": "Aggiungi",
|
||||
"confirmDeleteSkillPrice": "Rimuovere il prezzo per {skill}?",
|
||||
"clickToEdit": "Clicca per modificare",
|
||||
"generateFormTitle": "Genera fattura",
|
||||
"noOrgsToGenerate": "Nessuna organizzazione con tenant trovata.",
|
||||
"orgLabel": "Organizzazione",
|
||||
"noBillingAddrTag": "nessun indirizzo di fatturazione",
|
||||
"noBillingAddrWarning": "Questa organizzazione non ha un indirizzo di fatturazione registrato. Il cliente deve completare /settings/billing prima che una fattura possa essere emessa.",
|
||||
"tenantsLabel": "tenant",
|
||||
"yearLabel": "Anno",
|
||||
"monthLabel": "Mese",
|
||||
"localeLabel": "Lingua PDF",
|
||||
"localeAuto": "Auto",
|
||||
"previewBtn": "Anteprima",
|
||||
"commitBtn": "Conferma & emetti",
|
||||
"computing": "Calcolo…",
|
||||
"confirmGenerate": "Emettere questa fattura? L'operazione assegna un numero di fattura e genera il PDF.",
|
||||
"previewTitle": "Anteprima bozza",
|
||||
"warningsTitle": "Avvisi",
|
||||
"noLinesGenerated": "Nessuna riga fatturabile per questo periodo.",
|
||||
"descCol": "Descrizione",
|
||||
"qtyCol": "Qtà",
|
||||
"unitPriceCol": "Prezzo unitario",
|
||||
"amountCol": "Importo (CHF)",
|
||||
"subtotal": "Subtotale",
|
||||
"vat": "IVA",
|
||||
"total": "Totale",
|
||||
"statusFilterLabel": "Stato",
|
||||
"allStatuses": "Tutti",
|
||||
"monthFilterLabel": "Periodo",
|
||||
"clearFilter": "Pulisci",
|
||||
"loading": "Caricamento…",
|
||||
"noInvoicesFound": "Nessuna fattura corrisponde ai filtri.",
|
||||
"invoiceNumberCol": "Numero",
|
||||
"orgCol": "Organizzazione",
|
||||
"periodCol": "Periodo",
|
||||
"statusCol": "Stato",
|
||||
"totalCol": "Totale",
|
||||
"dueCol": "Scadenza",
|
||||
"status_draft": "Bozza",
|
||||
"status_open": "Aperta",
|
||||
"status_paid": "Pagata",
|
||||
"status_overdue": "Scaduta",
|
||||
"status_void": "Annullata",
|
||||
"status_uncollectible": "Inesigibile",
|
||||
"dueOnLabel": "Scadenza",
|
||||
"totalLabel": "Totale",
|
||||
"downloadPdfBtn": "Scarica PDF",
|
||||
"markPaidBtn": "Segna come pagata",
|
||||
"paidNotePlaceholder": "Nota opzionale (es. riferimento bancario, data di pagamento)",
|
||||
"confirm": "Conferma",
|
||||
"cancel": "Annulla",
|
||||
"deleteBtn": "Elimina",
|
||||
"deleting": "Eliminazione…",
|
||||
"deleteHint": "Eliminazione definitiva (strumento di test). Il numero rimane consumato.",
|
||||
"confirmDeleteInvoice": "Eliminare la fattura {num}? Eliminazione definitiva — il numero rimane consumato.",
|
||||
"paidOnLabel": "Pagata il",
|
||||
"lineItemsTitle": "Righe",
|
||||
"billToSnapshotTitle": "Destinatario"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user