Skip to content

Design system: cross-language glossary of canonical OCL terms (pt-BR first) #2878

Open

Description

@paynejd

Summary

Add a localization guide to the OCL design system with a cross-language glossary of canonical OCL terms (Source, Collection, Organization, Repository, Concept, Mapping, Reference, Expansion, Release, HEAD, Retired, Map Type, Concept Class, Datatype, Locale, Auto Match, OCL AI Assistant, Bridge…). New translations and new strings then use the same words in TBv3 and the Mapper. The guide starts with pt-BR, which comes from Filipe Lopes's translation in oclweb3#60 and oclmap#90; Filipe decides the Portuguese terms. Spanish and Chinese can be added from their existing catalogs.

Acceptance criteria

  • A design-system guide (next to guides/building-pages.html) records, per language: the term, gender/plural where relevant, the rationale, a do-not-translate list, and example sentences for assembled text.
  • It records the decision rule for OCL resource names. The proposal: translate names with a transparent cognate (Coleção, Organização, Repositório); keep names whose translation would be ambiguous ("Source"; "Fonte" can mean font, provenance or código-fonte), treated as masculine and capitalized.
  • It marks the open pt-BR questions as pending until Filipe decides: Retired ("Aposentado" vs "Inativo" / "Descontinuado"), the Mapper's Exclude decision (collides with Delete = "Excluir"), Bridge vs Ponte, Locale ("Localidade" vs "Idioma"), title vs sentence case. Whether feature names such as Auto Match stay in English is a product decision.
  • The guide gives i18n authoring rules: whole-sentence keys, no fragment concatenation, escapeValue: false for user-supplied values in oclweb3.
  • The oclweb3 and oclmap i18n folders link to the guide.
  • Optional: a catalog check (missing keys vs en, placeholder/tag parity, duplicate JSON keys, shared-key drift between the two apps).

Related: #2866, OpenConceptLab/oclweb3#60, OpenConceptLab/oclmap#90

Activity

  1. added this to the P5 · Post-launch milestone on Oct 5, 2026
  2. added 3 commits that reference this issue on Oct 5, 2026
  3. added
    signal/low-riskSafe to execute with minimal downside
    signal/needs-humanA step only a person can take, such as a decision or sign-off
    signal/quick-winLow complexity, high clarity — easy win
    signal/well-specifiedClear requirements and acceptance criteria
    on Oct 5, 2026
  4. ocl-automation commented on Oct 5, 2026

    @ocl-automation
    Collaborator

    Automated Triage — 2026-10-05

    Dimension Score
    Complexity 2
    Scope 3
    Clarity 4
    Dependency 2
    Risk 1

    Decision: decision/human-review
    Type: type/docs
    Signals: signal/quick-win, signal/low-risk, signal/well-specified, signal/needs-human
    Needs a person: decision: the translator must settle the open pt-BR terms (Retired, Exclude, Bridge, Locale, casing), and a product call is needed on whether feature names such as Auto Match stay in English; the guide can only mark these as pending

    This is a documentation task: a guide page next to guides/building-pages.html, plus links from the oclweb3 and oclmap i18n folders. The acceptance criteria are explicit, and the open pt-BR questions are to be recorded as pending rather than resolved. Some dependency remains because the pt-BR source catalogs are in #60 and #90, which are still open. Risk is low, since nothing here touches runtime behavior.


    Generated by ticket-triage pipeline v3. Model: anthropic/claude-sonnet-5.5 (openrouter).

  5. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision — label capitalization: use sentence case, not Title Case. Example: “Nome completo,” not “Nome Completo.” We will apply this convention to the terms in src/i18n/locales/pt-BR/translations.json; proper names, acronyms, and official brand capitalization remain unchanged.

  6. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision: translate the OCL domain status/action Retired / Retire as “Descontinuado / Descontinuar”; translate Unretire as “Restaurar”. Apply consistently to relevant domain-status/action strings, not unrelated homonyms.

  7. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision: translate Locale as “Idioma” when it refers to the language of a name. Apply to relevant concept and repository catalog labels, while preserving technical/API identifiers.

  8. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision: retain “Source” and “Sources” in English as OCL domain terms, including the plural, to preserve ubiquitous language.

  9. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision: use “Métodos de mapeamento” for “Matching algorithm” when used as section title as in the project configuration page oclmap because it has a description explaning the related algorithms. When using solo, translate "Matching algorithm" as "Algoritmo de mapeamento"

    Clarification to the pt-BR terminology decision for “Matching algorithm”: use “Métodos de mapeamento” only as the project-configuration section title that includes a brief description of the mapping algorithms. For smaller or isolated labels elsewhere, use “algoritmo de mapeamento” (singular as appropriate). This avoids the clinical connotation of “algoritmo” as a flowchart when the UI is naming the configuration section.

  10. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision: retain “Auto Match” as the feature/button name for now, preserving ubiquitous language.

  11. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision: keep FHIR resource names in English: CodeSystem (Code System), ValueSet (Value Set), and ConceptMap (Concept Map). Do not translate the component terms Code, System, Value, Set, Concept, or Map when they form these resource names.

  12. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision: retain the domain term “Bridge” while translating context. “Bridge Candidates” → “Candidatos de mapeamento cruzado (Bridge)”; “CIEL Bridge Terminology Candidates” → “Candidatos de mapeamento cruzado (via CIEL Bridge terminology)”; when Bridge names the concept, use “Conceito de conexão (Bridge)”. These are context-specific forms, not one interchangeable translation.

  13. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision — in the OCL Mapper, translate the row-level mapping decision Exclude as “Desconsiderar” and its resulting state as “Desconsiderado”. This decision removes a row from the mapping-decision flow without deleting the row, project, or file; it is distinct from destructive Delete = “Excluir”.

    Use “Excluir” for destructive deletion and for the separate collection-reference/search-filter contexts where it already forms the Include / Exclude pair. Apply “Desconsiderar / Desconsiderado” only to the Mapper decision, its filters, bulk action, and activity/log messages.

  14. filiperochalopes commented on Oct 6, 2026

    @filiperochalopes

    pt-BR decision — translate allowance as “cota” when it means an allocated or consumable quantity, whether one-time or periodic. Use “limite” for the maximum/restriction and “acesso” or “permissão” only for authorization, not for a numeric balance.

    Apply this to the quota UI: “One-time preview allowance” → “Cota única de prévia”; “row allowance” → “cota de linhas”; “Some features are paused until your allowance is increased” → “Alguns recursos estão pausados até que sua cota seja aumentada.”

  15. added a commit that references this issue on Oct 7, 2026
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

    component/mapperMapping toolscomponent/webTermBrowser frontendsignal/low-riskSafe to execute with minimal downsidesignal/needs-humanA step only a person can take, such as a decision or sign-offsignal/quick-winLow complexity, high clarity — easy winsignal/well-specifiedClear requirements and acceptance criteriastage/triagedAI triage complete — scored and classifiedtype/docsDocumentation

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions