The interface now says student where it said "child", and profile where it said "family".
What changed
Translatable strings only, across the frontend templates, the wp-admin screens, the editor previews (BlockPreview) and the block inserter entry:
[us_family] is headed Your profile; its form is Add a student / About this student.
Signup asks for a Student's name and Add another student; the guardian tick reads "…for one or more students".
Validation and notice strings follow — Student added., Student removed., "That is not one of your students.", and so on.
wp-admin: the students-list column and the student-detail panel are both Profile.
Block inserter: the block is titled Profile.
What deliberately did not change
Internal names. The us_guardian_links columns, GuardianService::createChild(), the children[] request parameters, the child_name form fields, CSS classes, the us_family shortcode and the us-scheduler/family block name are contracts with the database and with post content users have already saved — renaming them breaks existing sites for no user-visible gain.
The feature doc gains a short Vocabulary section recording that split, so the next person doesn't read the mismatch as drift and "fix" it.
Two judgement calls worth your eye
"Child of Jane" → "Managed by Jane", not "Student of Jane". In a music studio "student of Jane" reads as Jane's pupil, which is precisely the wrong relationship.
"a child account" → "a managed student account", not "a student account" — the account holder is a student too, so the bare substitution stops distinguishing the two.
Say the word if you'd rather have the literal substitution in either case.
Also: the block's inserter keywords still include family and children alongside profile and students. Keywords are never displayed — they're only search terms — and keeping them means anyone reaching for the old word still finds the block. Happy to drop them if you want the old vocabulary gone entirely.
Verification
composer test (762 tests), composer lint, composer cs all pass. Five test assertions pinned the old copy and were updated; two Mockery stubs standing in for GuardianService's real messages were updated to match.
Closes #144.
The interface now says **student** where it said "child", and **profile** where it said "family".
## What changed
Translatable strings only, across the frontend templates, the wp-admin screens, the editor previews (`BlockPreview`) and the block inserter entry:
- `[us_family]` is headed **Your profile**; its form is **Add a student** / **About this student**.
- Signup asks for a **Student's name** and **Add another student**; the guardian tick reads "…for one or more students".
- Validation and notice strings follow — **Student added.**, **Student removed.**, "That is not one of your students.", and so on.
- wp-admin: the students-list column and the student-detail panel are both **Profile**.
- Block inserter: the block is titled **Profile**.
## What deliberately did not change
Internal names. The `us_guardian_links` columns, `GuardianService::createChild()`, the `children[]` request parameters, the `child_name` form fields, CSS classes, the `us_family` shortcode and the `us-scheduler/family` block name are contracts with the database and with post content users have already saved — renaming them breaks existing sites for no user-visible gain.
The feature doc gains a short **Vocabulary** section recording that split, so the next person doesn't read the mismatch as drift and "fix" it.
## Two judgement calls worth your eye
1. **"Child of Jane" → "Managed by Jane"**, not "Student of Jane". In a music studio "student of Jane" reads as *Jane's pupil*, which is precisely the wrong relationship.
2. **"a child account" → "a managed student account"**, not "a student account" — the account holder is a student too, so the bare substitution stops distinguishing the two.
Say the word if you'd rather have the literal substitution in either case.
Also: the block's inserter **keywords** still include `family` and `children` alongside `profile` and `students`. Keywords are never displayed — they're only search terms — and keeping them means anyone reaching for the old word still finds the block. Happy to drop them if you want the old vocabulary gone entirely.
## Verification
`composer test` (762 tests), `composer lint`, `composer cs` all pass. Five test assertions pinned the old copy and were updated; two Mockery stubs standing in for `GuardianService`'s real messages were updated to match.
Sweep the translatable strings across the frontend templates, the admin
screens, the editor previews and the block inserter entry. Nothing else
moves: the database columns, request parameters, form field names, CSS
classes, the us_family shortcode and the us-scheduler/family block name are
contracts with existing installs and with post content people have already
saved, so renaming them would break sites for no user-visible gain.
Two strings are reworded rather than swapped, because the direct
substitution reads wrong:
- The students list said "Child of Jane" and now says "Managed by Jane".
"Student of Jane" would read as a teacher's pupil, which is exactly the
wrong idea in a music studio.
- A managed account is now "a managed student account" rather than "a
student account", which would not distinguish it from the account holder.
The guardian feature doc gains a short section on the split, so the next
person to work on it does not read the mismatch as drift and "fix" it.
Closes#144
Co-Authored-By: Claude Opus 5 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #144.
The interface now says student where it said "child", and profile where it said "family".
What changed
Translatable strings only, across the frontend templates, the wp-admin screens, the editor previews (
BlockPreview) and the block inserter entry:[us_family]is headed Your profile; its form is Add a student / About this student.What deliberately did not change
Internal names. The
us_guardian_linkscolumns,GuardianService::createChild(), thechildren[]request parameters, thechild_nameform fields, CSS classes, theus_familyshortcode and theus-scheduler/familyblock name are contracts with the database and with post content users have already saved — renaming them breaks existing sites for no user-visible gain.The feature doc gains a short Vocabulary section recording that split, so the next person doesn't read the mismatch as drift and "fix" it.
Two judgement calls worth your eye
Say the word if you'd rather have the literal substitution in either case.
Also: the block's inserter keywords still include
familyandchildrenalongsideprofileandstudents. Keywords are never displayed — they're only search terms — and keeping them means anyone reaching for the old word still finds the block. Happy to drop them if you want the old vocabulary gone entirely.Verification
composer test(762 tests),composer lint,composer csall pass. Five test assertions pinned the old copy and were updated; two Mockery stubs standing in forGuardianService's real messages were updated to match.