mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 05:12:14 +00:00
feat(github): translation-feedback issue template
The maintainership banner that surfaces on AI-initial locales (FR / ES / IT / PL) links to issues/new?template=translation.md, but the referenced template was never added to the repo. GitHub fell back to a blank issue body and the funnel produced unstructured reports that were hard to triage. The new translation.yml form asks for locale, the route/component where the wording appeared, current vs. suggested phrasing, and the kind of issue (grammar, register, terminology, …). The banner URL moves to template=translation.yml to match the filename. No test churn — the banner component test does not pin the URL.
This commit is contained in:
1 parent
f4606fb1cf
commit
766b64e44c
2 files changed
+86
-1
No files matched your search
@@ -0,0 +1,81 @@
|
||||
name: Translation feedback
|
||||
description: Report a wording, grammar, or register problem in HealthLog's AI-initial locales (FR / ES / IT / PL).
|
||||
title: "[Translation] "
|
||||
labels: ["i18n", "translation-feedback"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
HealthLog ships German and English as maintainer-curated translations. French, Spanish, Italian, and Polish ship as **AI-initial translations** — the prose passes the locale-integrity test (full key parity, no empty values) but has not been hand-reviewed for register or regional vocabulary.
|
||||
|
||||
This template captures concrete fixes you would like to see. Phrasing nuance, regional vocabulary (e.g. "Tú" vs "Usted"), gendered forms, and domain-specific health terms are all in scope. The maintainer applies fixes during the regular release cycle.
|
||||
|
||||
For wholly new locale requests (e.g. "please add Portuguese"), open a [Discussion](https://github.com/MBombeck/HealthLog/discussions) instead.
|
||||
- type: dropdown
|
||||
id: locale
|
||||
attributes:
|
||||
label: Locale
|
||||
options:
|
||||
- French (fr)
|
||||
- Spanish (es)
|
||||
- Italian (it)
|
||||
- Polish (pl)
|
||||
- Other (specify under "Surface")
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: surface
|
||||
attributes:
|
||||
label: Where you saw it
|
||||
description: |
|
||||
Page / component / dialog name. Include the route (e.g. `/insights`, `/settings/notifications`) and, if possible, the i18n key from the rendered DOM (open DevTools, look for the visible string).
|
||||
placeholder: |
|
||||
Route: /insights/blood-pressure
|
||||
Component: blood-pressure trend card header
|
||||
Key (if known): insights.bp.trendCard.title
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: current
|
||||
attributes:
|
||||
label: Current wording
|
||||
description: Paste the exact phrase as it appears in the app today.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: suggested
|
||||
attributes:
|
||||
label: Suggested wording
|
||||
description: |
|
||||
How should it read instead? Include reasoning if the change is more than a typo — register (formal vs. informal), regional vocabulary, medical terminology, or grammar.
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: kind
|
||||
attributes:
|
||||
label: Kind of issue
|
||||
options:
|
||||
- Grammar / spelling
|
||||
- Wrong word (translation error)
|
||||
- Awkward / unnatural phrasing
|
||||
- Wrong register (too formal / too casual)
|
||||
- Medical terminology
|
||||
- Regional vocabulary
|
||||
- Untranslated string (English fall-through)
|
||||
- Other
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Screenshots, links to related issues, related strings on the same page, etc.
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Pre-flight checks
|
||||
options:
|
||||
- label: I confirmed this is not a duplicate of an existing translation issue.
|
||||
required: true
|
||||
- label: My suggestion respects the maintainer's editorial voice (professional, neutral, plain prose — no marketing-speak).
|
||||
required: true
|
||||
@@ -34,8 +34,12 @@ import { useTranslations } from "@/lib/i18n/context";
|
||||
*/
|
||||
|
||||
const STORAGE_PREFIX = "healthlog-i18n-banner-dismissed:";
|
||||
// v1.4.26 P6-8 — `.github/ISSUE_TEMPLATE/translation.yml` now exists.
|
||||
// GitHub matches the `?template=` query against the filename; the old
|
||||
// `.md` filename never resolved (the form file was missing), so the
|
||||
// link landed users on a blank issue body.
|
||||
const GITHUB_ISSUE_URL =
|
||||
"https://github.com/MBombeck/HealthLog/issues/new?template=translation.md";
|
||||
"https://github.com/MBombeck/HealthLog/issues/new?template=translation.yml";
|
||||
|
||||
function storageKey(locale: Locale): string {
|
||||
return `${STORAGE_PREFIX}${locale}`;
|
||||
|
||||
Reference in new issue
Block a user