Skip to content

OCL Mapper: remove unused i18n keys, and add the 4 English keys the code uses #2917

Closed
OpenConceptLab/oclmap
#107

Description

@paynejd

Follow-up to #2880. On oclmap main (a59ecf6), 209 of the Mapper's 790 English keys are unreferenced, and the code uses 4 keys that the English catalog lacks.

  • Add these keys to en, es, pt-BR and zh:

    • common.none (MatchDetailsPanel.jsx), common.saved (MultiAlgoSelector.jsx) and search.save_default_filters (SearchFilters.jsx), which show the raw key today;
    • map_project.candidates_legacy_shape (MapProject.jsx), which shows its English default.

    oclweb3 already has English wording for two of them: common.none ("None") and search.save_default_filters ("Save as Default Filters").

  • Remove the unreferenced keys below from all four locales at once. Check each by hand first: search the source for the key's last segment, and run git log -S'<key>' -- src.

  • Optional: 14 more keys appear only in the non-concept column sets of ResultConstants.js (mappings, repos, orgs, users, URL registry). The Mapper lists only concepts, so these keys can go along with those column sets.

The weekly i18n check (private for now: ocl_online#523) lists any gaps left after the fix.

The 209 unreferenced keys: auth (2), bookmarks (3), common (48), concept (8), custom_attributes (1), dashboard (8), map_project (32), mapping (6), org (6), repo (42), search (17), url_registry (12), user (24)
  • auth: auth.session_expired, auth.update_password
  • bookmarks: bookmarks.name, bookmarks.pinned, bookmarks.pinned_repos
  • common: common.a, common.about, common.access_level, common.an, common.attribute, common.clear, common.content_summary, common.create, common.created, common.custom_attributes, common.draft, common.for, common.from, common.full_name, common.group, common.highlights, common.history, common.import, common.json, common.languages, common.last_updated_on, common.less, common.manage, common.metadata, common.navigate, common.ok, common.open, common.overview, common.preferred_language, common.private, common.public, common.read_less, common.read_more, common.resolve, common.result, common.select, common.short_code, common.sort, common.statistics, common.subscribed, common.summary, common.target, common.updated_on, common.upload, common.value, common.versions, common.view_all_attributes, common.with
  • concept: concept.concept_classes, concept.concepts, concept.datatypes, concept.name_type, concept.name_types, concept.namespace_associations, concept.retired_concepts, concept.tab_bridge_concept_details
  • custom_attributes: custom_attributes.add
  • dashboard: dashboard.anonymous_heading, dashboard.community_blog, dashboard.create_repository, dashboard.events_scope_sign_in, dashboard.hello, dashboard.no_events, dashboard.take_a_tour, dashboard.welcome_line
  • map_project: map_project.ai_assistant_limit_reached, map_project.algorithm_custom_description, map_project.algorithm_custom_label, map_project.algorithm_es_label, map_project.algorithm_llm_label, map_project.auto_match_note_no_counts, map_project.auto_matched, map_project.bridge_terminology_search, map_project.bridge_terminology_search_description, map_project.bulk_clear_selection, map_project.ciel_bridge_terminology_candidates, map_project.custom_match_api, map_project.custom_match_api_description, map_project.delete_this_project, map_project.enable_reranker, map_project.include_retired, map_project.loading_name_locales, map_project.lookup_required, map_project.map_target, map_project.match_api_token, map_project.match_api_token_placeholder, map_project.match_api_url, map_project.match_api_url_placeholder, map_project.ocl_ciel_bridge_algorithm, map_project.ocl_custom_algorithm, map_project.ocl_scispacy_loinc_algorithm, map_project.rows_per_match_api, map_project.save_this_project_to_collection, map_project.scispacy_loinc_search, map_project.select_an_algorithm, map_project.show_more, map_project.target_repo_required_on_load
  • mapping: mapping.from_concept_sources, mapping.map_types, mapping.retired_mappings, mapping.sort_weight, mapping.to_concept_sources, mapping.type
  • org: org.about_the_org, org.browse_members, org.member, org.member_of, org.org, org.org_have_not_created_public_repos_suffix
  • repo: repo.add_concept, repo.autoid_concept_description_external_id, repo.autoid_concept_external_id, repo.autoid_concept_mnemonic, repo.autoid_concept_name_external_id, repo.autoid_mapping_external_id, repo.autoid_mapping_mnemonic, repo.case_sensitive, repo.collection_type, repo.compare, repo.compare_destination_version_disabled_tooltip, repo.compare_origin_version_disabled_tooltip, repo.compare_versions, repo.compositional, repo.contact, repo.content_type, repo.copyright, repo.custom_validation_schema, repo.experimental, repo.hierarchy_meaning, repo.identifier, repo.jurisdiction, repo.locale, repo.locales, repo.manage, repo.no_overview, repo.property, repo.publisher, repo.purpose, repo.refresh_summary, repo.release_status, repo.repo_summary_is_calculating, repo.repo_version_summary, repo.revision_date, repo.source_type, repo.summary_active_concepts_from_total, repo.summary_active_mappings_from_total, repo.summary_concepts_references, repo.summary_mappings_references, repo.summary_released_versions_from_total, repo.version_needed, repo.visibility
  • search: search.card, search.confidence, search.display, search.input_placeholder, search.input_placeholder_drawer, search.loading, search.mappings, search.orgs, search.repos, search.score, search.search_all_concepts, search.search_all_site, search.search_this_repository, search.search_this_url_registry, search.table, search.url_registry, search.users
  • url_registry: url_registry.add_entry, url_registry.global, url_registry.registry_owner, url_registry.resolve_failed_with_entry, url_registry.resolve_failed_without_entry, url_registry.resolve_failed_without_entry_global, url_registry.resolve_success_with_entry, url_registry.resolve_success_without_entry, url_registry.test_canonical_url, url_registry.test_canonical_url_description, url_registry.url_registry, url_registry.view_canonical_url_registry
  • user: user.about_me, user.about_me_description, user.avatar, user.bio, user.company_name, user.copy_api_token, user.copy_token_success, user.edit_my_profile, user.email_address, user.first_name, user.last_login, user.last_name, user.login_and_security, user.my_bookmarks, user.my_organizations, user.name_and_description, user.password, user.profile_update_failure, user.profile_update_success, user.update_avatar, user.user, user.user_has_not_created_public_repos_suffix, user.users, user.your

Activity

  1. added this to the P4 · Grace month milestone on Oct 16, 2026
  2. ocl-automation commented on Oct 16, 2026

    @ocl-automation
    Collaborator

    Automated Triage — 2026-10-16

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

    Decision: decision/ai-ready
    Type: type/refactor
    Signals: signal/quick-win, signal/low-risk, signal/well-specified

    The issue lists exact keys, files, locales and a verification method (search the last segment, run git log -S), so it is clear with minor gaps: the wording for the added keys in es, pt-BR and zh is not given, and the optional ResultConstants.js cleanup is left open. The work is mechanical edits across four locale catalogs plus a few components, and a wrongly removed dynamic key would only show a raw key in the UI. The linked audit #2880 is closed, so nothing blocks it. The weekly i18n check (ocl_online#523) is only a later verification, not a need.


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

  3. added a commit that references this issue on Oct 17, 2026
    4f2332d
  4. added
    pipeline/session-doneA session worker opened a PR; remove to allow another run
    and removed
    gate/ai-fast-trackHuman override — skip to worker directly, bypass triage routing
    on Oct 17, 2026
  5. paynejd commented on Oct 17, 2026

    @paynejd
    MemberAuthor

    Octoad's session worker opened OpenConceptLab/oclmap#107 for this ticket. It's ready for review.

    Added the 4 keys the Mapper used without a catalog entry to en, es, pt-BR and zh, and removed 223 unused keys from all four (the 209 listed, plus the 14 only the never-rendered non-concept table columns named, with those columns), with catalog tests.

    Codex review passes: 1. Session worker worker-v0.11, recipe lean-loop, flow public>public. Run openconceptlab-ocl-issues-2917-20261017-145015, session ocl-issu-2917-1017-145015-a1e263.

  6. added a commit that references this issue on Oct 18, 2026
  7. added 3 commits that reference this issue on Oct 19, 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 toolsdecision/ai-readyReady for autonomous AI executionpipeline/session-doneA session worker opened a PR; remove to allow another runsignal/low-riskSafe to execute with minimal downsidesignal/quick-winLow complexity, high clarity — easy winsignal/well-specifiedClear requirements and acceptance criteriastage/triagedAI triage complete — scored and classifiedtype/refactorCode restructuring, no behavior change

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions