diff --git a/packages/client/src/components/MkWidgets.vue b/packages/client/src/components/MkWidgets.vue
index fb8a449590..58e192e926 100644
--- a/packages/client/src/components/MkWidgets.vue
+++ b/packages/client/src/components/MkWidgets.vue
@@ -9,7 +9,7 @@
 				>
 					<template #label>{{ i18n.ts.selectWidget }}</template>
 					<option
-						v-for="widget in widgetDefs"
+						v-for="widget in sortedWidgets"
 						:key="widget"
 						:value="widget"
 					>
@@ -101,6 +101,12 @@ const emit = defineEmits<{
 	(ev: "exit"): void;
 }>();
 
+const sortedWidgets = computed(() =>
+	widgetDefs.sort((a, b) =>
+		i18n.t(`_widgets.${a}`).localeCompare(i18n.t(`_widgets.${b}`)),
+	),
+);
+
 const widgetRefs = {};
 const configWidget = (id: string) => {
 	widgetRefs[id].configure();