Refactor LabelEditor into focused sub-components
Extract LabelSearchForm, LabelFormModal, and LabelExportModal from the
monolithic LabelEditor. LabelEditor now owns only state and handlers;
fmt is passed as a prop to avoid propagating context.
Add Export modal with locale selection and properties preview
Separate export into its own modal with locale pills, a Generate button, and a preview of the resulting .properties file content. Download triggers a client-side file save.
Show human-readable locale names using Intl.DisplayNames
Map raw locale codes (e.g. en_US) to display names (e.g. English (United States)) via a single shared Intl.DisplayNames instance, with a fallback to the raw code.
Hide Generate button after export and cancel request on modal close
Prevent redundant re-fetches by removing the Generate button once a preview is available (reappears when locale selection changes). Cancel any in-flight export request via AbortController when the modal is closed.