feat(billing): implement robust in-app subscription cancellation & fix CI/CD socket port typo

This commit is contained in:
Antigravity
2026-05-28 20:50:11 +00:00
parent f5608372dc
commit 457c6fa626
22 changed files with 656 additions and 460 deletions

View File

@@ -3355,7 +3355,7 @@
"turnInto_taskList": "Task List",
"turnInto_blockquote": "Quote",
"turnInto_codeBlock": "Code Block",
"turnInto_database": "Database",
"turnInto_database": "Inline database",
"copyRef": "Copy block reference",
"copied": "Reference copied!",
"copyRefFailed": "Could not copy block reference",
@@ -3414,6 +3414,52 @@
"analyticsNoData": "No analysis data available.",
"analyticsCompletion": "Completion Rate",
"analyticsDistribution": "Distribution",
"analyticsTotalRows": "Total Rows"
"analyticsTotalRows": "Total Rows",
"analyticsShort": "Analytics",
"turnIntoLabel": "Inline database",
"columnAdded": "Column added!",
"columnRemoved": "Column removed",
"propertyName": "Property {{index}}",
"convertNotebookNameRequired": "Please enter a name for the notebook.",
"convertNotebookError": "Could not create the notebook.",
"convertSchemaError": "Could not enable structured view.",
"convertPropertyError": "Could not add property.",
"convertNoteError": "Could not create note.",
"convertSuccess": "Conversion complete! Linked notebook created.",
"convertGenericError": "Something went wrong.",
"echoNameRequired": "Enter a name for this row first to search for semantic connections.",
"echoSearchError": "An error occurred while searching.",
"echoNoMatch": "No matching notes containing \"{{query}}\" were found in your workspace.",
"convertToNotebook": "Convert to notebook",
"linkToNotebook": "Link to a notebook",
"convertModalTitle": "Convert to structured notebook",
"convertModalDesc": "This local table will become a real notebook. Each row becomes a note and your columns become reusable properties.",
"convertNotebookNameLabel": "New notebook name",
"convertNotebookNamePlaceholder": "e.g. My reading list, Project tracker",
"cancel": "Cancel",
"converting": "Converting…",
"createNotebook": "Create notebook",
"deleteColumn": "Delete column",
"addColumn": "Add column",
"deleteRow": "Delete row",
"semanticEcho": "Semantic resonances",
"close": "Close",
"insertCitation": "Insert link in editor",
"keywordMatch": "Keyword",
"emptyTable": "No rows in the table.",
"addRow": "Add row",
"colTypeText": "Text",
"colTypeCheckbox": "Checkbox",
"colTypeSelect": "Select",
"selectOptionsPlaceholder": "Options separated by commas",
"namePlaceholder": "Enter a name…",
"or": "or",
"createLocalDb": "Create a standalone local database",
"switchToLocalDb": "Switch to local database",
"untitled": "Untitled",
"citationInserted": "Link inserted in the editor!",
"notesLoadError": "Error loading notes",
"defaultOption1": "Option 1",
"defaultOption2": "Option 2"
}
}

View File

@@ -3359,7 +3359,7 @@
"turnInto_taskList": "Liste de tâches",
"turnInto_blockquote": "Citation",
"turnInto_codeBlock": "Bloc de code",
"turnInto_database": "Base de données",
"turnInto_database": "Base de données inline",
"copyRef": "Copier la référence du bloc",
"copied": "Référence copiée !",
"copyRefFailed": "Impossible de copier la référence du bloc",
@@ -3418,6 +3418,52 @@
"analyticsNoData": "Aucune donnée d'analyse disponible.",
"analyticsCompletion": "Taux de complétion",
"analyticsDistribution": "Répartition",
"analyticsTotalRows": "Total des lignes"
"analyticsTotalRows": "Total des lignes",
"analyticsShort": "Analyses",
"turnIntoLabel": "Base de données inline",
"columnAdded": "Colonne ajoutée !",
"columnRemoved": "Colonne supprimée",
"propertyName": "Propriété {{index}}",
"convertNotebookNameRequired": "Veuillez entrer un nom pour le carnet.",
"convertNotebookError": "Erreur lors de la création du carnet.",
"convertSchemaError": "Erreur lors de l'activation de la structure.",
"convertPropertyError": "Erreur d'ajout de propriété.",
"convertNoteError": "Erreur de création de note.",
"convertSuccess": "Conversion réussie ! Base liée créée.",
"convertGenericError": "Une erreur est survenue.",
"echoNameRequired": "Veuillez d'abord saisir un nom pour cette ligne afin de rechercher des résonances sémantiques.",
"echoSearchError": "Une erreur est survenue lors de la recherche.",
"echoNoMatch": "Aucune note correspondante contenant « {{query}} » n'a été trouvée dans votre espace de travail.",
"convertToNotebook": "Convertir en carnet",
"linkToNotebook": "Lier à un carnet",
"convertModalTitle": "Convertir en carnet structuré",
"convertModalDesc": "Ce tableau local va être converti en carnet réel. Chaque ligne deviendra une note et vos colonnes seront configurées comme propriétés réutilisables.",
"convertNotebookNameLabel": "Nom du nouveau carnet",
"convertNotebookNamePlaceholder": "ex. Mes lectures, Suivi de projets",
"cancel": "Annuler",
"converting": "Conversion…",
"createNotebook": "Créer le carnet",
"deleteColumn": "Supprimer la colonne",
"addColumn": "Ajouter une colonne",
"deleteRow": "Supprimer la ligne",
"semanticEcho": "Résonances sémantiques",
"close": "Fermer",
"insertCitation": "Insérer le lien dans l'éditeur",
"keywordMatch": "Mot-clé",
"emptyTable": "Aucune ligne dans le tableau.",
"addRow": "Ajouter une ligne",
"colTypeText": "Texte",
"colTypeCheckbox": "Case",
"colTypeSelect": "Liste",
"selectOptionsPlaceholder": "Options séparées par des virgules",
"namePlaceholder": "Saisir un nom…",
"or": "ou",
"createLocalDb": "Créer une base locale autonome",
"switchToLocalDb": "Passer en base locale",
"untitled": "Sans titre",
"citationInserted": "Citation insérée dans l'éditeur !",
"notesLoadError": "Erreur de chargement des notes",
"defaultOption1": "Option 1",
"defaultOption2": "Option 2"
}
}