Skip to content

feat: add KeyNamePlugin for msgctxt separator chip#8

Merged
Anty0 merged 1 commit into
mainfrom
jirikuchynka/po-msgctxt-v2
May 27, 2026
Merged

feat: add KeyNamePlugin for msgctxt separator chip#8
Anty0 merged 1 commit into
mainfrom
jirikuchynka/po-msgctxt-v2

Conversation

@Anty0
Copy link
Copy Markdown
Member

@Anty0 Anty0 commented May 26, 2026

Summary

  • Adds KeyNamePlugin — a CodeMirror plugin that decorates the first U+0004 occurrence in a key name with an atomic widget rendering the preceding text as a styled chip.
  • Adds generateKeyNameStyle — emotion-styled wrapper mirroring generatePlaceholdersStyle so the same chip visual works inside the editor and in plain HTML.
  • Exports PO_MSGCTXT_KEY_SEPARATOR constant so consumers don't have to hardcode `\�`.
  • Used by the tolgee-platform webapp (new mode="keyName") and the read-only <KeyName> component.

Companion PRs

Adds a CodeMirror plugin and styled wrapper that render the
\u0004 separator used by Tolgee to encode gettext msgctxt
in front of msgid inside key names. Exports the plugin, the
separator constant, and a generateKeyNameStyle helper so the
same chip visual is reused by read-only key name displays
in tolgee-platform and tolgee-js.
@Anty0 Anty0 merged commit 06266ec into main May 27, 2026
2 checks passed
Anty0 added a commit to tolgee/tolgee-js that referenced this pull request May 27, 2026
## Summary
- The in-context **KeyDialog** and the **ScreenshotWithLabels** tooltip
now use a new `<KeyName>` component that splits the key name on the
U+0004 separator (set by tolgee-platform when importing gettext `.po`
files with a `msgctxt`) and renders the `msgctxt` portion as a styled
chip in front of the `msgid`.
- Standalone implementation — no runtime dependency on
`@tginternal/editor` to keep this package's bundle independent of
release coordination.
- The platform-side change introducing the separator and the matching
chip visual lives in the companion tolgee-platform PR.

## Companion PRs
- tolgee-platform: tolgee/tolgee-platform#3694
- editor: tolgee/editor#8
- documentation: tolgee/documentation#1111

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added improved key name rendering with enhanced formatting that
visually distinguishes embedded metadata using dedicated styling
* Updated the UI across dialogs and tooltips to consistently leverage
the new key name display, improving visual clarity and presentation when
viewing keys with associated metadata

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/tolgee/tolgee-js/pull/3523?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
github-actions Bot pushed a commit that referenced this pull request May 27, 2026
# [1.17.0](v1.16.1...v1.17.0) (2026-05-27)

### Features

* add KeyNamePlugin for msgctxt separator chip ([#8](#8)) ([06266ec](06266ec))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants