Skip to content

Commit fc1a4cf

Browse files
committed
i18n(plugin-sharing): translate the field recipient option and help text; keep the tracker id out of the runtime string
The regenerated bundles carry the new select option and the two changed help strings; the zh-CN / ja-JP / es-ES leaves are translated rather than English fills, so no source-hash provenance row is left behind. The rule-wide refusal message drops its issue reference (check:doc-authoring) — the id lives in the adjacent comment. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XpTx2tbq3pZRYAdoGt6E6Y
1 parent 6bb4831 commit fc1a4cf

5 files changed

Lines changed: 19 additions & 13 deletions

File tree

packages/plugins/plugin-sharing/src/sharing-rule-service.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1350,9 +1350,11 @@ export class SharingRuleService implements ISharingRuleService {
13501350
*/
13511351
private async expandRecipient(rule: SharingRuleRow, pass: RuleEvaluationPass = {}): Promise<string[]> {
13521352
if (rule.recipient_type === 'field') {
1353+
// The card: #15072. Kept out of the string — a runtime message reaches
1354+
// readers who cannot resolve a tracker id (check:doc-authoring).
13531355
throw new Error(
13541356
`[sharing-rule] rule '${rule.name ?? rule.id}' has a field recipient, which expands per RECORD — ` +
1355-
'there is no rule-wide expansion to answer (#15072)',
1357+
'there is no rule-wide expansion to answer',
13561358
);
13571359
}
13581360
const team = new TeamGraphService({

packages/plugins/plugin-sharing/src/translations/en.objects.generated.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,19 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
136136
},
137137
recipient_type: {
138138
label: "Recipient Type",
139-
help: "Who receives access. Picking a team, business unit or position gives access to everyone in it. \"Business unit and subordinates\" also covers every unit below the one you pick.",
139+
help: "Who receives access. Picking a team, business unit or position gives access to everyone in it. \"Business unit and subordinates\" also covers every unit below the one you pick. \"Field\" shares each record with the user or users held in one of its own fields — name that field as the recipient.",
140140
options: {
141141
user: "user",
142142
team: "team",
143143
business_unit: "business_unit",
144144
position: "position",
145-
unit_and_subordinates: "unit_and_subordinates"
145+
unit_and_subordinates: "unit_and_subordinates",
146+
field: "field"
146147
}
147148
},
148149
recipient_id: {
149150
label: "Recipient",
150-
help: "The specific user, team, business unit or position that receives access."
151+
help: "The specific user, team, business unit or position that receives access — or, for the \"Field\" recipient type, the name of the record field that holds the user or users to share with."
151152
},
152153
access_level: {
153154
label: "Access Level",

packages/plugins/plugin-sharing/src/translations/es-ES.objects.generated.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,19 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
136136
},
137137
recipient_type: {
138138
label: "Tipo de destinatario",
139-
help: "Quién recibe el acceso. Al elegir un equipo, una unidad de negocio o un puesto, lo reciben todas las personas que lo integran. «Unidad de negocio y subordinadas» abarca además todas las unidades por debajo de la elegida.",
139+
help: "Quién recibe el acceso. Al elegir un equipo, una unidad de negocio o un puesto, lo reciben todas las personas que lo integran. «Unidad de negocio y subordinadas» abarca además todas las unidades por debajo de la elegida. «Campo» comparte cada registro con el usuario o los usuarios guardados en uno de sus propios campos: indique ese campo como destinatario.",
140140
options: {
141141
user: "Usuario",
142142
team: "Equipo",
143143
business_unit: "Unidad de negocio",
144144
position: "Puesto",
145-
unit_and_subordinates: "Unidad de negocio y subordinados"
145+
unit_and_subordinates: "Unidad de negocio y subordinados",
146+
field: "Campo"
146147
}
147148
},
148149
recipient_id: {
149150
label: "Destinatario",
150-
help: "El usuario, equipo, unidad de negocio o puesto concreto que recibe el acceso."
151+
help: "El usuario, equipo, unidad de negocio o puesto concreto que recibe el acceso o, para el tipo de destinatario «Campo», el nombre del campo del registro que guarda el usuario o los usuarios con quienes compartir."
151152
},
152153
access_level: {
153154
label: "Nivel de acceso",

packages/plugins/plugin-sharing/src/translations/ja-JP.objects.generated.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,19 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
136136
},
137137
recipient_type: {
138138
label: "受信者タイプ",
139-
help: "誰にアクセスを与えるか。チーム・事業単位・役職を選ぶと、そこに属する全員がアクセスできます。「事業単位と下位組織」を選ぶと、その配下のすべての単位も対象になります。",
139+
help: "誰にアクセスを与えるか。チーム・事業単位・役職を選ぶと、そこに属する全員がアクセスできます。「事業単位と下位組織」を選ぶと、その配下のすべての単位も対象になります。「フィールド」を選ぶと、各レコードはそのレコード自身のフィールドに保持されているユーザーに共有されます。そのフィールドを受信者として指定してください。",
140140
options: {
141141
user: "ユーザー",
142142
team: "チーム",
143143
business_unit: "ビジネスユニット",
144144
position: "ポジション",
145-
unit_and_subordinates: "ビジネスユニットと下位階層"
145+
unit_and_subordinates: "ビジネスユニットと下位階層",
146+
field: "フィールド"
146147
}
147148
},
148149
recipient_id: {
149150
label: "受信者",
150-
help: "アクセスを与える具体的なユーザー・チーム・事業単位・役職。"
151+
help: "アクセスを与える具体的なユーザー・チーム・事業単位・役職。受信者種別が「フィールド」の場合は、共有先のユーザーを保持しているレコードのフィールド名。"
151152
},
152153
access_level: {
153154
label: "アクセスレベル",

packages/plugins/plugin-sharing/src/translations/zh-CN.objects.generated.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,19 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
136136
},
137137
recipient_type: {
138138
label: "接收方类型",
139-
help: "把访问权限给谁。选择团队、业务单元或岗位时,其中的每个人都会获得访问权限;选择「业务单元及下级」还会包含该单元下属的所有单元。",
139+
help: "把访问权限给谁。选择团队、业务单元或岗位时,其中的每个人都会获得访问权限;选择「业务单元及下级」还会包含该单元下属的所有单元;选择「字段」时,每条记录会共享给该记录自身某个字段里保存的用户——把那个字段填作接收方即可。",
140140
options: {
141141
user: "用户",
142142
team: "团队",
143143
business_unit: "业务单元",
144144
position: "岗位",
145-
unit_and_subordinates: "业务单元及下级"
145+
unit_and_subordinates: "业务单元及下级",
146+
field: "字段"
146147
}
147148
},
148149
recipient_id: {
149150
label: "接收方",
150-
help: "具体把访问权限给哪一个用户、团队、业务单元或岗位。"
151+
help: "具体把访问权限给哪一个用户、团队、业务单元或岗位;接收方类型为「字段」时,填写保存共享对象用户的那个记录字段的名称。"
151152
},
152153
access_level: {
153154
label: "访问级别",

0 commit comments

Comments
 (0)