Repository: wagtail/wagtail
File: wagtail/admin/templatetags/wagtailadmin_tags.py (Python)

Code before:
def workflow_status_with_date(workflow_state):
    translation_context = {
        "finished_at": naturaltime(workflow_state.current_task_state.finished_at),
        "started_at": naturaltime(workflow_state.current_task_state.started_at),
        "task_name": workflow_state.current_task_state.task.name,
        "status_display": workflow_state.get_status_display,
    }

    if workflow_state.status == "needs_changes":
        return _("Changes requested %(finished_at)s") % translation_context

    if workflow_state.status == "in_progress":
        return _("Sent to %(task_name)s %(started_at)s") % translation_context

    return _("%(status_display)s %(task_name)s %(started_at)s") % translation_context


@register.inclusion_tag(
    "wagtailadmin/shared/keyboard_shortcuts_dialog.html", takes_context=True
)
def keyboard_shortcuts_dialog(context):
    user_agent = context["request"].headers.get("User-Agent", "")
    is_mac = re.search(r"Mac|iPod|iPhone|iPad", user_agent)
    modifier = "⌘" if is_mac else "Ctrl"
    shortcuts_category = {
        "Actions": [
            {"label": "Save", "shortcut": f"{modifier} + s"},
            {"label": "Preview", "shortcut": f"{modifier} + p"},
        ],
        "Common actions": [
            {"label": "Copy", "shortcut": f"{modifier} + c"},
            {"label": "Cut", "shortcut": f"{modifier} + x"},
            {"label": "Paste", "shortcut": f"{modifier} + v"},
            {
                "label": "Paste without formatting",
                "shortcut": f"{modifier} + shift + v",
            },
            {"label": "Undo", "shortcut": f"{modifier} + z"},
            {"label": "Redo", "shortcut": f"{modifier} + y"},
        ],
        "Text formatting": [
            {"label": "Bold", "shortcut": f"{modifier} + b"},
            {"label": "Italic", "shortcut": f"{modifier} + i"},
            {"label": "Underline", "shortcut": f"{modifier} + u"},
            {
                "label": "Monospace (code)",
                "shortcut": f"{modifier} + j",
            },
            {
                "label": "Strike-through",
                "shortcut": f"{modifier} + x",

Review comment (suggestion):
```suggestion
        ('actions', _("Actions")): [
```

Each heading needs to be translated also.

I actually recommend we maybe use a tuple here, it will help us generate a unique ID for each group in the DOM and will be useful for code.

Code after:
        "status_display": workflow_state.get_status_display,
    }

    if workflow_state.status == "needs_changes":
        return _("Changes requested %(finished_at)s") % translation_context

    if workflow_state.status == "in_progress":
        return _("Sent to %(task_name)s %(started_at)s") % translation_context

    return _("%(status_display)s %(task_name)s %(started_at)s") % translation_context


@register.inclusion_tag(
    "wagtailadmin/shared/keyboard_shortcuts_dialog.html",
    takes_context=True,
)
def keyboard_shortcuts_dialog(context):
    """
    Renders the keyboard shortcuts dialog content with the
    appropriate shortcuts for the user's platform.
    Note: Shortcut keys are intentionally not translated.
    """

    user_agent = context["request"].headers.get("User-Agent", "")
    is_mac = re.search(r"Mac|iPod|iPhone|iPad", user_agent)
    modifier = "⌘" if is_mac else "Ctrl"

    return {
        "shortcuts": {
            ("actions-common", _("Common actions")): [
                (_("Copy"), f"{modifier} + c"),
                (_("Cut"), f"{modifier} + x"),
                (_("Paste"), f"{modifier} + v"),
                (
                    _("Paste and match style")
                    if is_mac
                    else _("Paste without formatting"),
                    f"{modifier} + Shift + v",
                ),
                (_("Undo"), f"{modifier} + z"),
                (
                    _("Redo"),
                    f"{modifier} + Shift + z" if is_mac else f"{modifier} + y",
                ),
            ],
            ("actions-model", _("Actions")): [
                (_("Save changes"), f"{modifier} + s"),
                (_("Preview"), f"{modifier} + p"),
            ],
            ("rich-text-content", _("Text content")): [
                (_("Insert or edit a link"), f"{modifier} + k")