Skip to content

T2: Edit beyond the sheet: properties, resources, translations #2

Description

@PrjShrestha

Importance: Must have · Size: M · Depends on: the resources editor precedes the icon
picker

Why. The design doc is explicit: icons and logos live in form properties and resources, not in
the spreadsheet. A tool that edits only the sheet cannot deliver a complete change, and the three
files must stay consistent with each other.

Scope.

  • Edit a form's title, per language.
  • Edit form eligibility — who sees this form — through a visual rule builder offering the
    project's real contact types, never free text.
  • View and edit existing translation keys in a key × language grid, with missing translations
    visibly marked.
  • Add a language in one action. ⚠ This must extend the language columns on both the survey
    and the choices sheets, and create the corresponding translation file. Extending only one
    leaves labels that silently never render.
  • Create a new translation key. Offer suggestions rather than requiring a hand-typed
    identifier: keys the project already references but no file defines; then CHT's naming
    conventions filled in with the project's real names; then a validated free-text option.
  • A resources editor: upload an image and maintain the key → file mapping.
  • An icon picker driven by that mapping. ⚠ CHT documents the icon as required in form
    properties, so a typed identifier is a deploy risk.
  • A consistency check across sheet, properties and translation files.
  • Media hygiene: remove an image, and warn when a referenced image file is missing.

Not in scope. Translating anything outside the project's translation files. Image editing.

Acceptance.

  1. A user sets a form's icon by choosing it, uploads the image behind it, and both survive the
    deploy — confirmed by the icon rendering on a live instance.
  2. A new translation key is created in the tool, written into every language file, and renders
    translated on a device.
  3. Unknown keys, comments and ordering elsewhere in the translation files are preserved
    byte-for-byte. ⚠ Where a file contains duplicate keys, the value CHT actually reads must be the
    one the tool edits.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions