diff --git a/src/components/EventOverlay.vue b/src/components/EventOverlay.vue
index 2b15949..2383f7e 100644
--- a/src/components/EventOverlay.vue
+++ b/src/components/EventOverlay.vue
@@ -4,6 +4,7 @@
v-for="span in eventSpans"
:key="span.id"
class="event-span"
+ dir="auto"
:class="[`event-color-${span.colorId}`]"
:data-id="span.id"
:data-n="span._recurrenceIndex != null ? span._recurrenceIndex : 0"
diff --git a/src/utils/locale.js b/src/utils/locale.js
new file mode 100644
index 0000000..1a6ffdf
--- /dev/null
+++ b/src/utils/locale.js
@@ -0,0 +1,4 @@
+export const lang = navigator.language
+const rtlLangs = new Set(['ar', 'fa', 'he', 'iw', 'ur', 'ps', 'sd', 'ug', 'dv', 'ku', 'yi'])
+const primary = lang.toLowerCase().split(/[-_]/)[0]
+export const rtl = rtlLangs.has(primary)