from typing import List


def get_canonical_label(num_list: List[dict], denom_list: List[dict], lang: str = "en") -> str:
    """Use the processed numerators and denominators from a unit input to create a label."""
    if not denom_list:
        # No denominators
        return " ".join([n[f"label_{lang}"] for n in num_list])
    elif not num_list:
        # No numerators
        result = ["reciprocal"]
        result.extend([d[f"label_{lang}"] for d in denom_list])
        return " ".join(result)
    # Mix of numerators and denominators
    result = []
    result.extend([n[f"label_{lang}"] for n in num_list])
    result.append("per")
    result.extend([d[f"label_{lang}"] for d in denom_list])
    return " ".join(result)