feat(core): add self host team plan (#9569)

This commit is contained in:
JimmFly
2025-02-07 03:35:24 +00:00
parent 5710e8c639
commit e68bdbde3e
37 changed files with 1702 additions and 72 deletions

View File

@@ -1,26 +1,26 @@
{
"ar": 92,
"ar": 90,
"ca": 5,
"da": 5,
"de": 92,
"el-GR": 92,
"de": 90,
"el-GR": 90,
"en": 100,
"es-AR": 92,
"es-CL": 94,
"es": 92,
"fa": 92,
"fr": 92,
"es-AR": 90,
"es-CL": 92,
"es": 90,
"fa": 90,
"fr": 90,
"hi": 2,
"it-IT": 92,
"it-IT": 90,
"it": 1,
"ja": 92,
"ko": 67,
"pl": 92,
"pt-BR": 92,
"ru": 92,
"sv-SE": 92,
"uk": 92,
"ja": 90,
"ko": 65,
"pl": 90,
"pt-BR": 90,
"ru": 90,
"sv-SE": 90,
"uk": 90,
"ur": 2,
"zh-Hans": 92,
"zh-Hant": 92
"zh-Hans": 90,
"zh-Hant": 90
}

View File

@@ -4185,6 +4185,26 @@ export function useAFFiNEI18N(): {
* `Congratulations! Your workspace has been successfully upgraded to a Team Workspace. Now you can invite unlimited members to collaborate in this workspace.`
*/
["com.affine.payment.upgrade-success-page.team.text-1"](): string;
/**
* `Thank you for your purchase!`
*/
["com.affine.payment.license-success.title"](): string;
/**
* `Thank you for purchasing the AFFiNE self-hosted license.`
*/
["com.affine.payment.license-success.text-1"](): string;
/**
* `You can use this key to upgrade in Settings > Workspace > Billing > Upgrade`
*/
["com.affine.payment.license-success.hint"](): string;
/**
* `Open AFFiNE`
*/
["com.affine.payment.license-success.open-affine"](): string;
/**
* `Copied key to clipboard`
*/
["com.affine.payment.license-success.copy"](): string;
/**
* `Close`
*/
@@ -5413,6 +5433,116 @@ export function useAFFiNEI18N(): {
* `Cancel Plan`
*/
["com.affine.settings.workspace.billing.team-workspace.cancel-plan"](): string;
/**
* `License`
*/
["com.affine.settings.workspace.license"](): string;
/**
* `Manage license information and invoices for the self host team workspace.`
*/
["com.affine.settings.workspace.license.description"](): string;
/**
* `Get teams plan for your self hosted workspace.`
*/
["com.affine.settings.workspace.license.benefit.team.title"](): string;
/**
* `Need more seats? Best for scalable teams.`
*/
["com.affine.settings.workspace.license.benefit.team.subtitle"](): string;
/**
* `Everything in Self Hosted FOSS`
*/
["com.affine.settings.workspace.license.benefit.team.g1"](): string;
/**
* `{{initialQuota}} initial storage + {{quotaPerSeat}} per seat`
*/
["com.affine.settings.workspace.license.benefit.team.g2"](options: Readonly<{
initialQuota: string;
quotaPerSeat: string;
}>): string;
/**
* `{{quota}} of maximum file size`
*/
["com.affine.settings.workspace.license.benefit.team.g3"](options: {
readonly quota: string;
}): string;
/**
* `Unlimited team members (10+ seats)`
*/
["com.affine.settings.workspace.license.benefit.team.g4"](): string;
/**
* `Multiple admin roles`
*/
["com.affine.settings.workspace.license.benefit.team.g5"](): string;
/**
* `Priority customer support`
*/
["com.affine.settings.workspace.license.benefit.team.g6"](): string;
/**
* `Lean more`
*/
["com.affine.settings.workspace.license.lean-more"](): string;
/**
* `Selfhosted workspace`
*/
["com.affine.settings.workspace.license.self-host"](): string;
/**
* `Self-host Team Workspace`
*/
["com.affine.settings.workspace.license.self-host-team"](): string;
/**
* `This license will expire on {{expirationDate}}, with {{leftDays}} days remaining.`
*/
["com.affine.settings.workspace.license.self-host-team.team.description"](options: Readonly<{
expirationDate: string;
leftDays: string;
}>): string;
/**
* `Basic version: {{memberCount}} seats. For more, purchase or use activation key.`
*/
["com.affine.settings.workspace.license.self-host-team.free.description"](options: {
readonly memberCount: string;
}): string;
/**
* `Seats`
*/
["com.affine.settings.workspace.license.self-host-team.seats"](): string;
/**
* `Active key`
*/
["com.affine.settings.workspace.license.self-host-team.active-key"](): string;
/**
* `Deactivate`
*/
["com.affine.settings.workspace.license.self-host-team.deactivate-license"](): string;
/**
* `Buy more seat`
*/
["com.affine.settings.workspace.license.buy-more-seat"](): string;
/**
* `Activate License`
*/
["com.affine.settings.workspace.license.activate-modal.title"](): string;
/**
* `Enter license key to activate this self host workspace.`
*/
["com.affine.settings.workspace.license.activate-modal.description"](): string;
/**
* `License activated successfully.`
*/
["com.affine.settings.workspace.license.activate-success"](): string;
/**
* `Deactivate License`
*/
["com.affine.settings.workspace.license.deactivate-modal.title"](): string;
/**
* `Are you sure you want to deactivate this license?`
*/
["com.affine.settings.workspace.license.deactivate-modal.description"](): string;
/**
* `License deactivated successfully.`
*/
["com.affine.settings.workspace.license.deactivate-success"](): string;
/**
* `Local`
*/
@@ -6811,6 +6941,12 @@ export function useAFFiNEI18N(): {
* `You must verify your email before accessing this resource.`
*/
["error.EMAIL_VERIFICATION_REQUIRED"](): string;
/**
* `Space {{spaceId}} permission not found.`
*/
["error.WORKSPACE_PERMISSION_NOT_FOUND"](options: {
readonly spaceId: string;
}): string;
/**
* `Space {{spaceId}} not found.`
*/
@@ -6847,6 +6983,10 @@ export function useAFFiNEI18N(): {
["error.SPACE_OWNER_NOT_FOUND"](options: {
readonly spaceId: string;
}): string;
/**
* `Space should have only one owner.`
*/
["error.SPACE_SHOULD_HAVE_ONLY_ONE_OWNER"](): string;
/**
* `Doc {{docId}} under Space {{spaceId}} not found.`
*/
@@ -6895,6 +7035,27 @@ export function useAFFiNEI18N(): {
* `Expected to revoke a public page, not a Space.`
*/
["error.EXPECT_TO_REVOKE_PUBLIC_PAGE"](): string;
/**
* `Expect grant roles on doc {{docId}} under Space {{spaceId}}, not a Space.`
*/
["error.EXPECT_TO_GRANT_DOC_USER_ROLES"](options: Readonly<{
docId: string;
spaceId: string;
}>): string;
/**
* `Expect revoke roles on doc {{docId}} under Space {{spaceId}}, not a Space.`
*/
["error.EXPECT_TO_REVOKE_DOC_USER_ROLES"](options: Readonly<{
docId: string;
spaceId: string;
}>): string;
/**
* `Expect update roles on doc {{docId}} under Space {{spaceId}}, not a Space.`
*/
["error.EXPECT_TO_UPDATE_DOC_USER_ROLE"](options: Readonly<{
docId: string;
spaceId: string;
}>): string;
/**
* `Page is not public.`
*/
@@ -6907,6 +7068,10 @@ export function useAFFiNEI18N(): {
* `Failed to store doc snapshot.`
*/
["error.FAILED_TO_UPSERT_SNAPSHOT"](): string;
/**
* `A Team workspace is required to perform this action.`
*/
["error.ACTION_FORBIDDEN_ON_NON_TEAM_WORKSPACE"](): string;
/**
* `Unsupported subscription plan: {{plan}}.`
*/
@@ -7376,6 +7541,12 @@ export const TypedTrans: {
["com.affine.payment.upgrade-success-page.team.text-2"]: ComponentType<TypedTransProps<Readonly<{}>, {
["1"]: JSX.Element;
}>>;
/**
* `If you have any questions, please contact our <1>customer support</1>.`
*/
["com.affine.payment.license-success.text-2"]: ComponentType<TypedTransProps<Readonly<{}>, {
["1"]: JSX.Element;
}>>;
/**
* `This action deletes the old Favorites section. <b>Your documents are safe</b>, ensure you've moved your frequently accessed documents to the new personal Favorites section.`
*/
@@ -7415,6 +7586,12 @@ export const TypedTrans: {
["1"]: JSX.Element;
["2"]: JSX.Element;
}>>;
/**
* `If you encounter any issues, please contact our <1>customer support</1>.`
*/
["com.affine.settings.workspace.license.activate-modal.tips"]: ComponentType<TypedTransProps<Readonly<{}>, {
["1"]: JSX.Element;
}>>;
/**
* `The "<1>{{ name }}</1>" property will be removed. This action cannot be undone.`
*/

View File

@@ -1038,6 +1038,12 @@
"com.affine.payment.upgrade-success-page.title": "Upgrade successful!",
"com.affine.payment.upgrade-success-page.team.text-1": "Congratulations! Your workspace has been successfully upgraded to a Team Workspace. Now you can invite unlimited members to collaborate in this workspace.",
"com.affine.payment.upgrade-success-page.team.text-2": "If you have any questions, please contact our <1>customer support</1>.",
"com.affine.payment.license-success.title": "Thank you for your purchase!",
"com.affine.payment.license-success.text-1": "Thank you for purchasing the AFFiNE self-hosted license.",
"com.affine.payment.license-success.text-2": "If you have any questions, please contact our <1>customer support</1>.",
"com.affine.payment.license-success.hint": "You can use this key to upgrade in Settings > Workspace > Billing > Upgrade",
"com.affine.payment.license-success.open-affine": "Open AFFiNE",
"com.affine.payment.license-success.copy": "Copied key to clipboard",
"com.affine.peek-view-controls.close": "Close",
"com.affine.peek-view-controls.open-doc": "Open this doc",
"com.affine.peek-view-controls.open-doc-in-new-tab": "Open in new tab",
@@ -1350,6 +1356,32 @@
"com.affine.settings.workspace.billing.team-workspace.not-renewed": "Your subscription will end on {{date}}",
"com.affine.settings.workspace.billing.team-workspace.next-billing-date": "Next billing date: {{date}}",
"com.affine.settings.workspace.billing.team-workspace.cancel-plan": "Cancel Plan",
"com.affine.settings.workspace.license": "License",
"com.affine.settings.workspace.license.description": "Manage license information and invoices for the self host team workspace.",
"com.affine.settings.workspace.license.benefit.team.title": "Get teams plan for your self hosted workspace.",
"com.affine.settings.workspace.license.benefit.team.subtitle": "Need more seats? Best for scalable teams.",
"com.affine.settings.workspace.license.benefit.team.g1": "Everything in Self Hosted FOSS",
"com.affine.settings.workspace.license.benefit.team.g2": "{{initialQuota}} initial storage + {{quotaPerSeat}} per seat",
"com.affine.settings.workspace.license.benefit.team.g3": "{{quota}} of maximum file size",
"com.affine.settings.workspace.license.benefit.team.g4": "Unlimited team members (10+ seats)",
"com.affine.settings.workspace.license.benefit.team.g5": "Multiple admin roles",
"com.affine.settings.workspace.license.benefit.team.g6": "Priority customer support",
"com.affine.settings.workspace.license.lean-more": "Lean more",
"com.affine.settings.workspace.license.self-host": "Selfhosted workspace",
"com.affine.settings.workspace.license.self-host-team": "Self-host Team Workspace",
"com.affine.settings.workspace.license.self-host-team.team.description": "This license will expire on {{expirationDate}}, with {{leftDays}} days remaining.",
"com.affine.settings.workspace.license.self-host-team.free.description": "Basic version: {{memberCount}} seats. For more, purchase or use activation key.",
"com.affine.settings.workspace.license.self-host-team.seats": "Seats",
"com.affine.settings.workspace.license.self-host-team.active-key": "Active key",
"com.affine.settings.workspace.license.self-host-team.deactivate-license": "Deactivate",
"com.affine.settings.workspace.license.buy-more-seat": "Buy more seat",
"com.affine.settings.workspace.license.activate-modal.title": "Activate License",
"com.affine.settings.workspace.license.activate-modal.description": "Enter license key to activate this self host workspace.",
"com.affine.settings.workspace.license.activate-modal.tips": "If you encounter any issues, please contact our <1>customer support</1>.",
"com.affine.settings.workspace.license.activate-success": "License activated successfully.",
"com.affine.settings.workspace.license.deactivate-modal.title": "Deactivate License",
"com.affine.settings.workspace.license.deactivate-modal.description": "Are you sure you want to deactivate this license?",
"com.affine.settings.workspace.license.deactivate-success": "License deactivated successfully.",
"com.affine.settings.workspace.state.local": "Local",
"com.affine.settings.workspace.state.sync-affine-cloud": "Sync with AFFiNE Cloud",
"com.affine.settings.workspace.state.self-hosted": "Self-Hosted Server",
@@ -1695,12 +1727,14 @@
"error.ACTION_FORBIDDEN": "You are not allowed to perform this action.",
"error.ACCESS_DENIED": "You do not have permission to access this resource.",
"error.EMAIL_VERIFICATION_REQUIRED": "You must verify your email before accessing this resource.",
"error.WORKSPACE_PERMISSION_NOT_FOUND": "Space {{spaceId}} permission not found.",
"error.SPACE_NOT_FOUND": "Space {{spaceId}} not found.",
"error.MEMBER_NOT_FOUND_IN_SPACE": "Member not found in Space {{spaceId}}.",
"error.NOT_IN_SPACE": "You should join in Space {{spaceId}} before broadcasting messages.",
"error.ALREADY_IN_SPACE": "You have already joined in Space {{spaceId}}.",
"error.SPACE_ACCESS_DENIED": "You do not have permission to access Space {{spaceId}}.",
"error.SPACE_OWNER_NOT_FOUND": "Owner of Space {{spaceId}} not found.",
"error.SPACE_SHOULD_HAVE_ONLY_ONE_OWNER": "Space should have only one owner.",
"error.DOC_NOT_FOUND": "Doc {{docId}} under Space {{spaceId}} not found.",
"error.DOC_ACCESS_DENIED": "You do not have permission to access doc {{docId}} under Space {{spaceId}}.",
"error.VERSION_REJECTED": "Your client with version {{version}} is rejected by remote sync server. Please upgrade to {{serverVersion}}.",
@@ -1709,9 +1743,13 @@
"error.BLOB_NOT_FOUND": "Blob {{blobId}} not found in Space {{spaceId}}.",
"error.EXPECT_TO_PUBLISH_PAGE": "Expected to publish a page, not a Space.",
"error.EXPECT_TO_REVOKE_PUBLIC_PAGE": "Expected to revoke a public page, not a Space.",
"error.EXPECT_TO_GRANT_DOC_USER_ROLES": "Expect grant roles on doc {{docId}} under Space {{spaceId}}, not a Space.",
"error.EXPECT_TO_REVOKE_DOC_USER_ROLES": "Expect revoke roles on doc {{docId}} under Space {{spaceId}}, not a Space.",
"error.EXPECT_TO_UPDATE_DOC_USER_ROLE": "Expect update roles on doc {{docId}} under Space {{spaceId}}, not a Space.",
"error.PAGE_IS_NOT_PUBLIC": "Page is not public.",
"error.FAILED_TO_SAVE_UPDATES": "Failed to store doc updates.",
"error.FAILED_TO_UPSERT_SNAPSHOT": "Failed to store doc snapshot.",
"error.ACTION_FORBIDDEN_ON_NON_TEAM_WORKSPACE": "A Team workspace is required to perform this action.",
"error.UNSUPPORTED_SUBSCRIPTION_PLAN": "Unsupported subscription plan: {{plan}}.",
"error.FAILED_TO_CHECKOUT": "Failed to create checkout session.",
"error.INVALID_CHECKOUT_PARAMETERS": "Invalid checkout parameters provided.",