Skip to content

Commit 9d899e2

Browse files
committed
fix(web): restore locale key parity
1 parent 5ec2371 commit 9d899e2

6 files changed

Lines changed: 505 additions & 0 deletions

File tree

web/src/i18n/locales/es-ES.ts

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,8 @@ const esES = {
175175
more: 'Más ({{count}})',
176176
less: 'Menos',
177177
noItems: 'Sin elementos',
178+
179+
apiKeyStoredSecurely: 'Secret shown only when created',
178180
},
179181
notFound: {
180182
title: 'Página no encontrada',
@@ -324,6 +326,11 @@ const esES = {
324326
fallbackList: 'Modelos de respaldo',
325327
addFallback: 'Añadir modelo de respaldo',
326328
},
329+
330+
ownerMustBindSpace:
331+
'The Workspace owner must connect Space for LangBot Models.',
332+
usesOwnerSpaceBilling:
333+
"Uses the Workspace owner's Space billing and credits.",
327334
},
328335
bots: {
329336
title: 'Bots',
@@ -1315,6 +1322,13 @@ const esES = {
13151322
'Establece una contraseña para iniciar sesión con correo y contraseña',
13161323
spaceEmailMismatch:
13171324
'El correo de inicio de sesión de Space no coincide con el correo de la cuenta local',
1325+
1326+
space_account_not_registeredTitle: 'Account not registered',
1327+
space_account_not_registered:
1328+
'No local account is registered for this Space email. Ask the Workspace owner for an invitation.',
1329+
space_account_binding_requiredTitle: 'Space connection required',
1330+
space_account_binding_required:
1331+
'This local account must connect Space from Account settings before using Space login.',
13181332
},
13191333
monitoring: {
13201334
title: 'Panel de control',
@@ -1573,6 +1587,8 @@ const esES = {
15731587
api: 'API',
15741588
storage: 'Almacenamiento',
15751589
account: 'Cuenta',
1590+
1591+
workspace: 'Workspace',
15761592
},
15771593
},
15781594
storageAnalysis: {
@@ -1894,6 +1910,90 @@ const esES = {
18941910
unsupportedFileType:
18951911
'Tipo de archivo no admitido. Solo se admiten archivos .zip y .lbpkg',
18961912
},
1913+
1914+
workspace: {
1915+
title: 'Workspace',
1916+
description: 'Manage members, roles, and invitation links',
1917+
selectTitle: 'Choose a Workspace',
1918+
selectDescription: 'Select where you want to continue in LangBot.',
1919+
selectionLoadFailed:
1920+
'Your Workspaces could not be loaded. Please try again.',
1921+
switchWorkspace: 'Switch Workspace',
1922+
settings: 'Workspace Settings',
1923+
currentPlan: 'Current plan',
1924+
planUnavailable: 'Unavailable',
1925+
upgradePlan: 'Change or upgrade plan',
1926+
ossSingletonDescription:
1927+
'This self-hosted instance has one Workspace and can include multiple users.',
1928+
cloudManagedDescription:
1929+
'This Workspace is hosted by LangBot Cloud. Manage members here; billing opens in Cloud.',
1930+
loadFailed: 'Failed to load Workspace information',
1931+
members: 'Members',
1932+
you: 'You',
1933+
inviteMember: 'Invite a member',
1934+
inviteDescription:
1935+
'Create a one-time link to add another user to this Workspace.',
1936+
emailPlaceholder: 'member@example.com',
1937+
createInvitation: 'Create invitation',
1938+
invitationCreated: 'Invitation created',
1939+
delivery: {
1940+
sent: 'Invitation sent',
1941+
link_only: 'Invitation link created',
1942+
failed: 'Invitation link created, but email could not be sent',
1943+
},
1944+
invitationCreateFailed: 'Failed to create invitation',
1945+
oneTimeLinkWarning: 'Copy this link now. It is shown only once.',
1946+
copyInvitation: 'Copy invitation link',
1947+
invitationCopied: 'Invitation link copied',
1948+
pendingInvitations: 'Pending invitations',
1949+
expiresAt: 'Expires {{date}}',
1950+
revokeInvitation: 'Revoke invitation',
1951+
invitationRevoked: 'Invitation revoked',
1952+
invitationRevokeFailed: 'Failed to revoke invitation',
1953+
acceptInvitation: 'Accept invitation',
1954+
invitedToWorkspace: 'You were invited to {{workspace}}',
1955+
checkingInvitation: 'Checking this invitation...',
1956+
invitationMissing: 'This invitation link is missing required information.',
1957+
invitationExpired: 'This invitation has expired.',
1958+
invitationAlreadyRevoked: 'This invitation was revoked.',
1959+
invitationAlreadyUsed: 'This invitation was already used.',
1960+
invitationInvalid: 'This invitation is invalid or no longer available.',
1961+
invitationAccepted: 'Invitation accepted',
1962+
invitationAcceptFailed: 'Failed to accept invitation',
1963+
invitationEmailMismatch:
1964+
'This invitation belongs to a different email address.',
1965+
existingAccountLoginRequired:
1966+
'An account already exists for this email. Sign in to continue.',
1967+
acceptAsCurrentAccount: 'Accept with current account',
1968+
authenticatedInvitationNotice:
1969+
'Sign out first, then sign in with the invited account. Your invitation will be preserved.',
1970+
logoutAndReturn: 'Sign out and return to this invitation',
1971+
switchAccount: 'Switch account',
1972+
registerAndAccept: 'Create account and accept',
1973+
alreadyHaveAccount: 'I already have an account',
1974+
confirmPassword: 'Confirm password',
1975+
passwordMinimum: 'Password must contain at least 8 characters.',
1976+
passwordMismatch: 'The passwords do not match.',
1977+
backToLogin: 'Back to sign in',
1978+
memberUpdated: 'Member role updated',
1979+
memberUpdateFailed: 'Failed to update member role',
1980+
removeMember: 'Remove member',
1981+
removeMemberConfirm: 'Remove this member from the Workspace?',
1982+
memberRemoved: 'Member removed',
1983+
memberRemoveFailed: 'Failed to remove member',
1984+
transferOwnership: 'Transfer ownership',
1985+
types: {
1986+
personal: 'Personal',
1987+
team: 'Team',
1988+
},
1989+
roles: {
1990+
owner: 'Owner',
1991+
admin: 'Admin',
1992+
developer: 'Developer',
1993+
operator: 'Operator',
1994+
viewer: 'Viewer',
1995+
},
1996+
},
18971997
};
18981998

18991999
export default esES;

web/src/i18n/locales/ja-JP.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,6 +1378,11 @@ const jaJP = {
13781378
operator: 'オペレーター',
13791379
viewer: '閲覧者',
13801380
},
1381+
1382+
settings: 'Workspace Settings',
1383+
currentPlan: 'Current plan',
1384+
planUnavailable: 'Unavailable',
1385+
upgradePlan: 'Change or upgrade plan',
13811386
},
13821387
monitoring: {
13831388
title: 'ダッシュボード',

web/src/i18n/locales/ru-RU.ts

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ const ruRU = {
172172
less: 'Свернуть',
173173
noItems: 'Нет элементов',
174174
termsOfService: 'Условия обслуживания',
175+
176+
apiKeyStoredSecurely: 'Secret shown only when created',
175177
},
176178
notFound: {
177179
title: 'Страница не найдена',
@@ -323,6 +325,11 @@ const ruRU = {
323325
fallbackList: 'Резервные модели',
324326
addFallback: 'Добавить резервную модель',
325327
},
328+
329+
ownerMustBindSpace:
330+
'The Workspace owner must connect Space for LangBot Models.',
331+
usesOwnerSpaceBilling:
332+
"Uses the Workspace owner's Space billing and credits.",
326333
},
327334
bots: {
328335
title: 'Боты',
@@ -1292,6 +1299,13 @@ const ruRU = {
12921299
setPasswordHint: 'Установите пароль для входа с email и паролем',
12931300
spaceEmailMismatch:
12941301
'Email входа через Space не совпадает с email локальной учётной записи',
1302+
1303+
space_account_not_registeredTitle: 'Account not registered',
1304+
space_account_not_registered:
1305+
'No local account is registered for this Space email. Ask the Workspace owner for an invitation.',
1306+
space_account_binding_requiredTitle: 'Space connection required',
1307+
space_account_binding_required:
1308+
'This local account must connect Space from Account settings before using Space login.',
12951309
},
12961310
monitoring: {
12971311
title: 'Мониторинг',
@@ -1549,6 +1563,8 @@ const ruRU = {
15491563
api: 'API',
15501564
storage: 'Хранилище',
15511565
account: 'Аккаунт',
1566+
1567+
workspace: 'Workspace',
15521568
},
15531569
},
15541570
storageAnalysis: {
@@ -1862,6 +1878,90 @@ const ruRU = {
18621878
unsupportedFileType:
18631879
'Неподдерживаемый тип файла. Поддерживаются только файлы .zip и .lbpkg',
18641880
},
1881+
1882+
workspace: {
1883+
title: 'Workspace',
1884+
description: 'Manage members, roles, and invitation links',
1885+
selectTitle: 'Choose a Workspace',
1886+
selectDescription: 'Select where you want to continue in LangBot.',
1887+
selectionLoadFailed:
1888+
'Your Workspaces could not be loaded. Please try again.',
1889+
switchWorkspace: 'Switch Workspace',
1890+
settings: 'Workspace Settings',
1891+
currentPlan: 'Current plan',
1892+
planUnavailable: 'Unavailable',
1893+
upgradePlan: 'Change or upgrade plan',
1894+
ossSingletonDescription:
1895+
'This self-hosted instance has one Workspace and can include multiple users.',
1896+
cloudManagedDescription:
1897+
'This Workspace is hosted by LangBot Cloud. Manage members here; billing opens in Cloud.',
1898+
loadFailed: 'Failed to load Workspace information',
1899+
members: 'Members',
1900+
you: 'You',
1901+
inviteMember: 'Invite a member',
1902+
inviteDescription:
1903+
'Create a one-time link to add another user to this Workspace.',
1904+
emailPlaceholder: 'member@example.com',
1905+
createInvitation: 'Create invitation',
1906+
invitationCreated: 'Invitation created',
1907+
delivery: {
1908+
sent: 'Invitation sent',
1909+
link_only: 'Invitation link created',
1910+
failed: 'Invitation link created, but email could not be sent',
1911+
},
1912+
invitationCreateFailed: 'Failed to create invitation',
1913+
oneTimeLinkWarning: 'Copy this link now. It is shown only once.',
1914+
copyInvitation: 'Copy invitation link',
1915+
invitationCopied: 'Invitation link copied',
1916+
pendingInvitations: 'Pending invitations',
1917+
expiresAt: 'Expires {{date}}',
1918+
revokeInvitation: 'Revoke invitation',
1919+
invitationRevoked: 'Invitation revoked',
1920+
invitationRevokeFailed: 'Failed to revoke invitation',
1921+
acceptInvitation: 'Accept invitation',
1922+
invitedToWorkspace: 'You were invited to {{workspace}}',
1923+
checkingInvitation: 'Checking this invitation...',
1924+
invitationMissing: 'This invitation link is missing required information.',
1925+
invitationExpired: 'This invitation has expired.',
1926+
invitationAlreadyRevoked: 'This invitation was revoked.',
1927+
invitationAlreadyUsed: 'This invitation was already used.',
1928+
invitationInvalid: 'This invitation is invalid or no longer available.',
1929+
invitationAccepted: 'Invitation accepted',
1930+
invitationAcceptFailed: 'Failed to accept invitation',
1931+
invitationEmailMismatch:
1932+
'This invitation belongs to a different email address.',
1933+
existingAccountLoginRequired:
1934+
'An account already exists for this email. Sign in to continue.',
1935+
acceptAsCurrentAccount: 'Accept with current account',
1936+
authenticatedInvitationNotice:
1937+
'Sign out first, then sign in with the invited account. Your invitation will be preserved.',
1938+
logoutAndReturn: 'Sign out and return to this invitation',
1939+
switchAccount: 'Switch account',
1940+
registerAndAccept: 'Create account and accept',
1941+
alreadyHaveAccount: 'I already have an account',
1942+
confirmPassword: 'Confirm password',
1943+
passwordMinimum: 'Password must contain at least 8 characters.',
1944+
passwordMismatch: 'The passwords do not match.',
1945+
backToLogin: 'Back to sign in',
1946+
memberUpdated: 'Member role updated',
1947+
memberUpdateFailed: 'Failed to update member role',
1948+
removeMember: 'Remove member',
1949+
removeMemberConfirm: 'Remove this member from the Workspace?',
1950+
memberRemoved: 'Member removed',
1951+
memberRemoveFailed: 'Failed to remove member',
1952+
transferOwnership: 'Transfer ownership',
1953+
types: {
1954+
personal: 'Personal',
1955+
team: 'Team',
1956+
},
1957+
roles: {
1958+
owner: 'Owner',
1959+
admin: 'Admin',
1960+
developer: 'Developer',
1961+
operator: 'Operator',
1962+
viewer: 'Viewer',
1963+
},
1964+
},
18651965
};
18661966

18671967
export default ruRU;

0 commit comments

Comments
 (0)