chore(l10n): translator context hints + Transifex skill watermark#112
Merged
Conversation
- Answering a translator question now always also adds a TRANSLATORS context hint next to the string in the code (per Nextcloud docs), so the answer reaches every language via the .pot instead of one thread. - tx_feedback.py learns 'list --new' and 'mark-answered': state.json next to the skill records answered_up_to, so subsequent runs only surface threads with newer activity and nothing is answered twice.
…reads Persist the answers given to translators (tlend, rakekniven) as context hints next to the strings, so they reach every language via the .pot: check-in status chips (tense), Check-in noun/heading, Attendance app name, reminder-target buttons and radio options (non-responder semantics), Open verb, Others section, standalone ToS/privacy labels.
Customer feedback: booking push notifications now thank the person and
speak to them directly ('Thank you! You are scheduled for this
appointment.' / 'Thank you! Unfortunately, you are not part of this
appointment this time.') — generic 'appointment' wording, not
customer-specific terms.
All scheduling-family strings get TRANSLATORS hints clarifying that
scheduling means giving a person a place in the appointment (German
'einplanen'/'eingeplant', not 'planen'/'geplant') — the action button,
the status labels, the close-dialog groups, admin settings and the push
subjects. IcalService pulls the status label onto its own line so the
hint binds to the right string.
tx_feedback.py: new 'find' command (search source strings for ids),
'reply --issue' opens a Transifex issue instead of a comment, and curl
-g so paginated API links with [] work.
The feature/noun 'scheduling' translates as 'Planung'; only the
per-person action ('einplanen') and status ('eingeplant') differ from
the 1:1 translation.
…mark after scheduling issues
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
TRANSLATORS context hints (comments only, no string/key changes):
TRANSLATORScomments next to the strings, per the Nextcloud translation docs, so they reach every language via the .pot instead of a single comment thread.{count} attended/absent/pendingtense question), "Check-in" as noun (heading + audit-log label), "Attendance is not available" (app name), reminder-target buttons and admin radio options (non-responder semantics: people without a response, "no" answers are deliberately not reminded), "Open" (verb), "Others" (response-summary section), standalone ToS/Privacy button labels.Transifex skill improvements (
.claude/skills/transifex/):tx_feedback.pylearnslist --newandmark-answered;state.jsonrecordsanswered_up_toso future runs only surface threads with newer activity and nothing gets answered twice — especially open issues we cannot resolve ourselves (translator tokens get 403).2026-07-24T17:24:24Zafter this session's reply was posted.Why
Translator questions (tlend, rakekniven) kept resurfacing because answers lived only in Transifex comment threads and unresolvable open issues reappeared on every run. Hints in the code document the answers for all languages permanently; the watermark keeps skill runs idempotent.
Notes for review
npm run buildpasses.npm run lintcurrently fails in this environment before touching any files (ESM/CJS conflict loading@nextcloud/eslint-config) — pre-existing, unrelated to these comment-only changes.🤖 Generated with Claude Code