chore(i18n): update i18n (#15191)

#### PR Dependency Tree


* **PR #15191** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Updated sign-in, sign-up, and email content to show the correct server
name for cloud and self-hosted setups.
* Added clearer workspace status messages for syncing, local workspaces,
and server-connected workspaces.
* Introduced localized text updates for more languages, including new
locale coverage.

* **Bug Fixes**
* Replaced outdated “Cloud” wording throughout the app with more
accurate “Sync” and self-hosted terminology.
* Improved account deletion, password reset, sharing, and storage
prompts for clearer user guidance.
* Updated workspace status labels and tooltips to better reflect the
current server connection.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-07-03 18:37:20 +08:00
committed by GitHub
parent cebd7296b1
commit c36b5b201e
42 changed files with 306 additions and 1067 deletions
@@ -4,6 +4,7 @@ import {
ServerFeature,
} from '@affine/graphql';
import { DEFAULT_SELF_HOSTED_SERVER_NAME } from './server-name';
import type { ServerConfig, ServerMetadata } from './types';
export const BUILD_IN_SERVERS: (ServerMetadata & { config: ServerConfig })[] =
@@ -16,7 +17,7 @@ export const BUILD_IN_SERVERS: (ServerMetadata & { config: ServerConfig })[] =
// this is ok for web app, but not for desktop app
// since we never build desktop app in selfhosted mode, so it's fine
config: {
serverName: 'Affine Selfhost',
serverName: DEFAULT_SELF_HOSTED_SERVER_NAME,
features: [],
oauthProviders: [],
type: ServerDeploymentType.Selfhosted,
@@ -37,7 +38,7 @@ export const BUILD_IN_SERVERS: (ServerMetadata & { config: ServerConfig })[] =
? 'http://localhost:8080'
: location.origin,
config: {
serverName: 'Affine Cloud',
serverName: 'AFFiNE Cloud',
features: [
ServerFeature.Indexer,
ServerFeature.Copilot,
@@ -70,7 +71,7 @@ export const BUILD_IN_SERVERS: (ServerMetadata & { config: ServerConfig })[] =
: 'https://app.affine.pro'
: location.origin,
config: {
serverName: 'Affine Cloud',
serverName: 'AFFiNE Cloud',
features: [
ServerFeature.Indexer,
ServerFeature.Copilot,
@@ -103,7 +104,7 @@ export const BUILD_IN_SERVERS: (ServerMetadata & { config: ServerConfig })[] =
: 'https://insider.affine.pro'
: location.origin,
config: {
serverName: 'Affine Cloud',
serverName: 'AFFiNE Cloud',
features: [
ServerFeature.Indexer,
ServerFeature.Copilot,
@@ -132,7 +133,7 @@ export const BUILD_IN_SERVERS: (ServerMetadata & { config: ServerConfig })[] =
id: 'affine-cloud',
baseUrl: 'https://insider.affine.pro',
config: {
serverName: 'Affine Cloud',
serverName: 'AFFiNE Cloud',
features: [
ServerFeature.Indexer,
ServerFeature.Copilot,
@@ -163,7 +164,7 @@ export const BUILD_IN_SERVERS: (ServerMetadata & { config: ServerConfig })[] =
? 'https://affine.fail'
: location.origin,
config: {
serverName: 'Affine Cloud',
serverName: 'AFFiNE Cloud',
features: [
ServerFeature.Indexer,
ServerFeature.Copilot,
@@ -12,6 +12,10 @@ export {
type RealtimeLiveQueryOptions,
} from './realtime/live-query';
export { ServerScope } from './scopes/server';
export {
DEFAULT_SELF_HOSTED_SERVER_NAME,
getSelfHostedServerName,
} from './server-name';
export { AccessTokenService } from './services/access-token';
export { AuthService } from './services/auth';
export { CaptchaService } from './services/captcha';
@@ -0,0 +1,7 @@
export const DEFAULT_SELF_HOSTED_SERVER_NAME = 'AFFiNE Self-hosted';
export function getSelfHostedServerName(serverName?: string | null) {
return serverName && serverName !== DEFAULT_SELF_HOSTED_SERVER_NAME
? `${DEFAULT_SELF_HOSTED_SERVER_NAME} (${serverName})`
: DEFAULT_SELF_HOSTED_SERVER_NAME;
}
@@ -131,7 +131,7 @@ export class DesktopApiService extends Service {
targetServer = defaultServerService.server;
}
if (!targetServer) {
throw new Error('Affine Cloud server not found');
throw new Error('AFFiNE Cloud server not found');
}
const authService = targetServer.scope.get(AuthService);