diff --git a/web/public/locales/gl/audio.json b/web/public/locales/gl/audio.json
new file mode 100644
index 000000000..507de0409
--- /dev/null
+++ b/web/public/locales/gl/audio.json
@@ -0,0 +1,19 @@
+{
+ "speech": "Fala",
+ "babbling": "Balbuxo",
+ "bicycle": "Bicicleta",
+ "yell": "Berro",
+ "car": "Coche",
+ "crying": "Chorando",
+ "sigh": "Suspiro",
+ "singing": "Cantando",
+ "motorcycle": "Motocicleta",
+ "bus": "Bus",
+ "train": "Tren",
+ "boat": "Bote",
+ "bird": "Paxaro",
+ "cat": "Gato",
+ "bellow": "Abaixo",
+ "whoop": "Ei carballeira",
+ "whispering": "Murmurando"
+}
diff --git a/web/public/locales/gl/common.json b/web/public/locales/gl/common.json
new file mode 100644
index 000000000..1443cce35
--- /dev/null
+++ b/web/public/locales/gl/common.json
@@ -0,0 +1,13 @@
+{
+ "time": {
+ "untilForTime": "Até {{time}}",
+ "untilForRestart": "Até que se reinicie Frigate.",
+ "justNow": "Xusto agora",
+ "last7": "Últimos 7 días",
+ "last14": "Últimos 14 días",
+ "thisWeek": "Esta semana",
+ "today": "Hoxe",
+ "untilRestart": "Ata o reinicio",
+ "ago": "Fai {{timeAgo}}"
+ }
+}
diff --git a/web/public/locales/gl/components/auth.json b/web/public/locales/gl/components/auth.json
new file mode 100644
index 000000000..2a0bee0d5
--- /dev/null
+++ b/web/public/locales/gl/components/auth.json
@@ -0,0 +1,12 @@
+{
+ "form": {
+ "user": "Usuario/a",
+ "password": "Contrasinal",
+ "errors": {
+ "passwordRequired": "Contrasinal obrigatorio",
+ "unknownError": "Erro descoñecido. Revisa os logs.",
+ "usernameRequired": "Usuario/a obrigatorio"
+ },
+ "login": "Iniciar sesión"
+ }
+}
diff --git a/web/public/locales/gl/components/camera.json b/web/public/locales/gl/components/camera.json
new file mode 100644
index 000000000..166eebec3
--- /dev/null
+++ b/web/public/locales/gl/components/camera.json
@@ -0,0 +1,20 @@
+{
+ "group": {
+ "label": "Grupos de cámaras",
+ "add": "Engadir Grupo de cámaras",
+ "delete": {
+ "confirm": {
+ "title": "Confirma o borrado",
+ "desc": "Seguro/a que queres borrar o Grupo de cámaras {{name}}?"
+ },
+ "label": "Borrar o Grupo de Cámaras"
+ },
+ "name": {
+ "placeholder": "Introduce un nome…",
+ "errorMessage": {
+ "nameMustNotPeriod": "Grupo de Cámaras non debe conter un punto."
+ }
+ },
+ "edit": "Editar o Grupo de Cámaras"
+ }
+}
diff --git a/web/public/locales/gl/components/dialog.json b/web/public/locales/gl/components/dialog.json
new file mode 100644
index 000000000..c6519972a
--- /dev/null
+++ b/web/public/locales/gl/components/dialog.json
@@ -0,0 +1,21 @@
+{
+ "restart": {
+ "title": "Estás seguro/a que queres reiniciar Frigate?",
+ "button": "Reiniciar",
+ "restarting": {
+ "button": "Forzar reinicio",
+ "content": "Esta páxina recargarase en {{countdown}} segundos.",
+ "title": "Frigate está Reiniciando"
+ }
+ },
+ "explore": {
+ "plus": {
+ "review": {
+ "question": {
+ "label": "Confirma esta etiqueta para Frigate Plus",
+ "ask_an": "E isto un obxecto {{label}}
?"
+ }
+ }
+ }
+ }
+}
diff --git a/web/public/locales/gl/components/filter.json b/web/public/locales/gl/components/filter.json
new file mode 100644
index 000000000..6927e2e51
--- /dev/null
+++ b/web/public/locales/gl/components/filter.json
@@ -0,0 +1,16 @@
+{
+ "filter": "Filtrar",
+ "labels": {
+ "label": "Etiquetas",
+ "count_one": "{{count}} Etiqueta",
+ "all": {
+ "short": "Etiquetas",
+ "title": "Todas as Etiquetas"
+ }
+ },
+ "zones": {
+ "all": {
+ "title": "Tódalas zonas"
+ }
+ }
+}
diff --git a/web/public/locales/gl/components/icons.json b/web/public/locales/gl/components/icons.json
new file mode 100644
index 000000000..73100bce9
--- /dev/null
+++ b/web/public/locales/gl/components/icons.json
@@ -0,0 +1,8 @@
+{
+ "iconPicker": {
+ "selectIcon": "Selecciona unha icona",
+ "search": {
+ "placeholder": "Pesquisar unha icona…"
+ }
+ }
+}
diff --git a/web/public/locales/gl/components/input.json b/web/public/locales/gl/components/input.json
new file mode 100644
index 000000000..c230e5463
--- /dev/null
+++ b/web/public/locales/gl/components/input.json
@@ -0,0 +1,10 @@
+{
+ "button": {
+ "downloadVideo": {
+ "label": "Descargar vídeo",
+ "toast": {
+ "success": "O teu vídeo de revisión comezou a descargarse."
+ }
+ }
+ }
+}
diff --git a/web/public/locales/gl/components/player.json b/web/public/locales/gl/components/player.json
new file mode 100644
index 000000000..89bce7f07
--- /dev/null
+++ b/web/public/locales/gl/components/player.json
@@ -0,0 +1,14 @@
+{
+ "noRecordingsFoundForThisTime": "Non se atoparon grabacións para ese período",
+ "noPreviewFound": "Non se atopou previsualización",
+ "submitFrigatePlus": {
+ "submit": "Enviar",
+ "title": "Enviar este frame a Frigate+?"
+ },
+ "stats": {
+ "streamType": {
+ "title": "Tipo de emisión:"
+ }
+ },
+ "noPreviewFoundFor": "Vista Previa non atopada para {{cameraName}}"
+}
diff --git a/web/public/locales/gl/objects.json b/web/public/locales/gl/objects.json
new file mode 100644
index 000000000..60c54085a
--- /dev/null
+++ b/web/public/locales/gl/objects.json
@@ -0,0 +1,18 @@
+{
+ "person": "Persoa",
+ "bicycle": "Bicicleta",
+ "airplane": "Avión",
+ "motorcycle": "Motocicleta",
+ "bus": "Bus",
+ "train": "Tren",
+ "boat": "Bote",
+ "traffic_light": "Luces de tráfico",
+ "fire_hydrant": "Boca de incendio",
+ "street_sign": "Sinal de tráfico",
+ "stop_sign": "Sinal de Stop",
+ "parking_meter": "Parquímetro",
+ "bench": "Banco",
+ "bird": "Paxaro",
+ "cat": "Gato",
+ "car": "Coche"
+}
diff --git a/web/public/locales/gl/views/configEditor.json b/web/public/locales/gl/views/configEditor.json
new file mode 100644
index 000000000..0d84b1a16
--- /dev/null
+++ b/web/public/locales/gl/views/configEditor.json
@@ -0,0 +1,12 @@
+{
+ "documentTitle": "Editor de configuración - Frigate",
+ "configEditor": "Editor de Preferencias",
+ "saveOnly": "Só gardar",
+ "toast": {
+ "error": {
+ "savingError": "Erro gardando configuración"
+ }
+ },
+ "saveAndRestart": "Gardar e Reiniciar",
+ "copyConfig": "Copiar Configuración"
+}
diff --git a/web/public/locales/gl/views/events.json b/web/public/locales/gl/views/events.json
new file mode 100644
index 000000000..c5c9cb67b
--- /dev/null
+++ b/web/public/locales/gl/views/events.json
@@ -0,0 +1,10 @@
+{
+ "alerts": "Alertas",
+ "detections": "Deteccións",
+ "allCameras": "Tódalas cámaras",
+ "timeline.aria": "Selecciona liña de tempo",
+ "motion": {
+ "only": "Só movemento",
+ "label": "Movemento"
+ }
+}
diff --git a/web/public/locales/gl/views/explore.json b/web/public/locales/gl/views/explore.json
new file mode 100644
index 000000000..6d381d8b9
--- /dev/null
+++ b/web/public/locales/gl/views/explore.json
@@ -0,0 +1,12 @@
+{
+ "documentTitle": "Explorar - Frigate",
+ "generativeAI": "IA xenerativa",
+ "exploreMore": "Explorar máis obxectos {{label}}",
+ "exploreIsUnavailable": {
+ "title": "Explorar non está Dispoñible",
+ "embeddingsReindexing": {
+ "finishingShortly": "Rematando ceo",
+ "startingUp": "Comezando…"
+ }
+ }
+}
diff --git a/web/public/locales/gl/views/exports.json b/web/public/locales/gl/views/exports.json
new file mode 100644
index 000000000..0b996665b
--- /dev/null
+++ b/web/public/locales/gl/views/exports.json
@@ -0,0 +1,10 @@
+{
+ "documentTitle": "Exportar - Frigate",
+ "search": "Pesquisar",
+ "deleteExport.desc": "Seguro que queres borrar {{exportName}}?",
+ "editExport": {
+ "saveExport": "Garda exportación"
+ },
+ "deleteExport": "Borrar exportación",
+ "noExports": "Non se atoparon exportacións"
+}
diff --git a/web/public/locales/gl/views/faceLibrary.json b/web/public/locales/gl/views/faceLibrary.json
new file mode 100644
index 000000000..d98ab1cfd
--- /dev/null
+++ b/web/public/locales/gl/views/faceLibrary.json
@@ -0,0 +1,11 @@
+{
+ "description": {
+ "addFace": "Navegar para engadir unha nova colección á Libraría de Caras.",
+ "placeholder": "Introduce un nome para esta colección",
+ "invalidName": "Nome non válido. Os nomes só poden incluír letras, números, espazos, apóstrofes, guións baixos e guións."
+ },
+ "details": {
+ "unknown": "Descoñecido",
+ "person": "Persoa"
+ }
+}
diff --git a/web/public/locales/gl/views/live.json b/web/public/locales/gl/views/live.json
new file mode 100644
index 000000000..4ae0e6a0d
--- /dev/null
+++ b/web/public/locales/gl/views/live.json
@@ -0,0 +1,19 @@
+{
+ "documentTitle": "Directo - Frigate",
+ "documentTitle.withCamera": "{{camera}} - Directo - Frigate",
+ "twoWayTalk": {
+ "disable": "Deshabilita a Conversa de dous sentidos",
+ "enable": "Habilitar a Conversa de dous sentidos"
+ },
+ "ptz": {
+ "move": {
+ "clickMove": {
+ "label": "Pincha no frame para centrar a cámara"
+ }
+ }
+ },
+ "cameraAudio": {
+ "enable": "Habilitar Audio de cámara"
+ },
+ "lowBandwidthMode": "Modo de Baixa Banda Ancha"
+}
diff --git a/web/public/locales/gl/views/recording.json b/web/public/locales/gl/views/recording.json
new file mode 100644
index 000000000..26a3ed22f
--- /dev/null
+++ b/web/public/locales/gl/views/recording.json
@@ -0,0 +1,11 @@
+{
+ "filter": "Filtrar",
+ "export": "Exportar",
+ "calendar": "Calendario",
+ "toast": {
+ "error": {
+ "noValidTimeSelected": "Rango de tempo inválido"
+ }
+ },
+ "filters": "Filtros"
+}
diff --git a/web/public/locales/gl/views/search.json b/web/public/locales/gl/views/search.json
new file mode 100644
index 000000000..3a90cf013
--- /dev/null
+++ b/web/public/locales/gl/views/search.json
@@ -0,0 +1,15 @@
+{
+ "search": "Pesquisar",
+ "savedSearches": "Pesquisas gardadas",
+ "button": {
+ "save": "Gardar pesquisa",
+ "filterActive": "Filtros activos",
+ "clear": "Borrar pesquisa"
+ },
+ "filter": {
+ "label": {
+ "cameras": "Cámaras"
+ }
+ },
+ "searchFor": "Procurar por {{inputValue}}"
+}
diff --git a/web/public/locales/gl/views/settings.json b/web/public/locales/gl/views/settings.json
new file mode 100644
index 000000000..6a68c2c05
--- /dev/null
+++ b/web/public/locales/gl/views/settings.json
@@ -0,0 +1,11 @@
+{
+ "documentTitle": {
+ "default": "Preferencias - Frigate",
+ "authentication": "Configuracións de Autenticación - Frigate",
+ "camera": "Configuracións da Cámara - Frigate",
+ "general": "Configuracións xerais - Frigate",
+ "notifications": "Configuración de Notificacións - Frigate",
+ "enrichments": "Configuración complementarias - Frigate",
+ "masksAndZones": "Editor de máscaras e zonas - Frigate"
+ }
+}
diff --git a/web/public/locales/gl/views/system.json b/web/public/locales/gl/views/system.json
new file mode 100644
index 000000000..55c595b9b
--- /dev/null
+++ b/web/public/locales/gl/views/system.json
@@ -0,0 +1,17 @@
+{
+ "documentTitle": {
+ "cameras": "Estatísticas de cámaras - Frigate",
+ "storage": "Estatísticas de Almacenamento - Frigate",
+ "general": "Estatísticas Xerais - Frigate",
+ "enrichments": "Estatísticas complementarias - Frigate",
+ "logs": {
+ "frigate": "Rexistros de Frigate - Frigate"
+ }
+ },
+ "title": "Sistema",
+ "logs": {
+ "download": {
+ "label": "Descargar logs"
+ }
+ }
+}