Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .changeset/two-factor-lockout-and-object-translations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
"@objectstack/platform-objects": patch
---

fix(i18n): ship the missing object-translation keys for the better-auth 1.7 and ADR-0105 D6 fields (#3624 follow-up)

The generated object-translation bundles predate two rounds of field additions,
so six fields had no entry in **any** locale and fell back to their raw schema
labels in every UI surface that reads the bundle:

- `sys_team.member_count`, `sys_team_member.membership_key`,
`sys_two_factor.failed_verification_count` / `locked_until` — the better-auth
1.7 columns provisioned in #3647.
- `sys_organization.parent_organization_id` / `sort_order` — the same gap left
by the earlier ADR-0105 D6 group-structure work.

Regenerated with `os i18n extract` (merge mode, so every existing translation is
preserved — the diff is purely additive). No API or schema change; the fields
themselves already shipped.
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,14 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
label: "Require Multi-Factor Auth",
help: "When true, every member of this organization must enroll an authenticator app to access data."
},
parent_organization_id: {
label: "Parent Organization",
help: "Reporting/grouping parent. Grants NOTHING — visibility across organizations comes from membership, never from this reference (ADR-0105 D6)."
},
sort_order: {
label: "Sort Order",
help: "Display order among sibling organizations. Presentation only."
},
id: {
label: "Organization ID"
},
Expand Down Expand Up @@ -709,6 +717,10 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
label: "Organization",
help: "Parent organization for this team"
},
member_count: {
label: "Member Count",
help: "Seat counter maintained by better-auth; do not write directly."
},
id: {
label: "Team ID"
},
Expand Down Expand Up @@ -759,6 +771,10 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
},
user_id: {
label: "User"
},
membership_key: {
label: "Membership Key",
help: "Derived membership digest maintained by better-auth; do not write directly."
}
},
_actions: {
Expand Down Expand Up @@ -993,6 +1009,14 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
verified: {
label: "Verified",
help: "Whether the enrollment was confirmed with a valid TOTP code (managed by better-auth)"
},
failed_verification_count: {
label: "Failed Verification Count",
help: "Consecutive failed 2FA verifications; reset on success. Maintained by better-auth."
},
locked_until: {
label: "Locked Until",
help: "Set when failed 2FA verifications cross the lockout threshold. Maintained by better-auth."
}
},
_views: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,14 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
label: "Exigir autenticación multifactor",
help: "Si es true, todos los miembros de esta organización deben registrar una aplicación de autenticación para acceder a los datos."
},
parent_organization_id: {
label: "Parent Organization",
help: "Reporting/grouping parent. Grants NOTHING — visibility across organizations comes from membership, never from this reference (ADR-0105 D6)."
},
sort_order: {
label: "Sort Order",
help: "Display order among sibling organizations. Presentation only."
},
id: {
label: "ID de organización"
},
Expand Down Expand Up @@ -709,6 +717,10 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
label: "Organización",
help: "Organización principal de este equipo."
},
member_count: {
label: "Member Count",
help: "Seat counter maintained by better-auth; do not write directly."
},
id: {
label: "ID de equipo"
},
Expand Down Expand Up @@ -759,6 +771,10 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
},
user_id: {
label: "Usuario"
},
membership_key: {
label: "Membership Key",
help: "Derived membership digest maintained by better-auth; do not write directly."
}
},
_actions: {
Expand Down Expand Up @@ -993,6 +1009,14 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
verified: {
label: "Verified",
help: "Whether the enrollment was confirmed with a valid TOTP code (managed by better-auth)"
},
failed_verification_count: {
label: "Failed Verification Count",
help: "Consecutive failed 2FA verifications; reset on success. Maintained by better-auth."
},
locked_until: {
label: "Locked Until",
help: "Set when failed 2FA verifications cross the lockout threshold. Maintained by better-auth."
}
},
_views: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,14 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
label: "多要素認証を必須化",
help: "true の場合、この組織のすべてのメンバーはデータにアクセスするために認証アプリの登録が必要になります。"
},
parent_organization_id: {
label: "Parent Organization",
help: "Reporting/grouping parent. Grants NOTHING — visibility across organizations comes from membership, never from this reference (ADR-0105 D6)."
},
sort_order: {
label: "Sort Order",
help: "Display order among sibling organizations. Presentation only."
},
id: {
label: "組織 ID"
},
Expand Down Expand Up @@ -709,6 +717,10 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
label: "組織",
help: "このチームの親組織"
},
member_count: {
label: "Member Count",
help: "Seat counter maintained by better-auth; do not write directly."
},
id: {
label: "チーム ID"
},
Expand Down Expand Up @@ -759,6 +771,10 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
},
user_id: {
label: "ユーザー"
},
membership_key: {
label: "Membership Key",
help: "Derived membership digest maintained by better-auth; do not write directly."
}
},
_actions: {
Expand Down Expand Up @@ -993,6 +1009,14 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
verified: {
label: "Verified",
help: "Whether the enrollment was confirmed with a valid TOTP code (managed by better-auth)"
},
failed_verification_count: {
label: "Failed Verification Count",
help: "Consecutive failed 2FA verifications; reset on success. Maintained by better-auth."
},
locked_until: {
label: "Locked Until",
help: "Set when failed 2FA verifications cross the lockout threshold. Maintained by better-auth."
}
},
_views: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,14 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
label: "强制多因素认证",
help: "为 true 时,该组织的每位成员都必须注册身份验证器 App 才能访问数据。"
},
parent_organization_id: {
label: "Parent Organization",
help: "Reporting/grouping parent. Grants NOTHING — visibility across organizations comes from membership, never from this reference (ADR-0105 D6)."
},
sort_order: {
label: "Sort Order",
help: "Display order among sibling organizations. Presentation only."
},
id: {
label: "组织 ID"
},
Expand Down Expand Up @@ -709,6 +717,10 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
label: "组织",
help: "该团队所属的上级组织"
},
member_count: {
label: "Member Count",
help: "Seat counter maintained by better-auth; do not write directly."
},
id: {
label: "团队 ID"
},
Expand Down Expand Up @@ -759,6 +771,10 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
},
user_id: {
label: "用户"
},
membership_key: {
label: "Membership Key",
help: "Derived membership digest maintained by better-auth; do not write directly."
}
},
_actions: {
Expand Down Expand Up @@ -993,6 +1009,14 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
verified: {
label: "Verified",
help: "Whether the enrollment was confirmed with a valid TOTP code (managed by better-auth)"
},
failed_verification_count: {
label: "Failed Verification Count",
help: "Consecutive failed 2FA verifications; reset on success. Maintained by better-auth."
},
locked_until: {
label: "Locked Until",
help: "Set when failed 2FA verifications cross the lockout threshold. Maintained by better-auth."
}
},
_views: {
Expand Down
Loading
Loading