From 0f707eb4a827ca23836814aa42b095dcb2814b44 Mon Sep 17 00:00:00 2001
From: Grant Fitzsimmons <37256050+grantfitzsimmons@users.noreply.github.com>
Date: Fri, 3 Oct 2025 16:49:03 -0500
Subject: [PATCH 1/5] feat(queries): include empty values with negate operator
Fixes part of #6446
---
 .../backend/stored_queries/queryfieldspec.py  | 26 +++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/specifyweb/backend/stored_queries/queryfieldspec.py b/specifyweb/backend/stored_queries/queryfieldspec.py
index e09728719f6..e7b291c66d2 100644
--- a/specifyweb/backend/stored_queries/queryfieldspec.py
+++ b/specifyweb/backend/stored_queries/queryfieldspec.py
@@ -161,11 +161,29 @@ def get_workbench_name(self):
         # Treedef id included to make it easier to pass it to batch edit
         return f"{self.treedef_name}{RANK_KEY_DELIMITER}{self.name}{RANK_KEY_DELIMITER}{self.treedef_id}"
 
+def null_safe_not(field_expr, predicate):
+
+    """Return a NOT clause that still matches NULL values on the target field.
+
+    SQL's ``NOT IN`` and similar predicates exclude rows where the filtered column
+    is ``NULL``. Historical Specify 6 behaviour (and user expectation) is to keep
+    those "empty" rows when a negated filter is applied.  This helper wraps the
+    negated predicate in an OR that explicitly re-includes NULL rows for the
+    relevant field expression.
+
+    """
+        
+    if predicate is None or isinstance(predicate, Query):
+        return predicate
+    target = field_expr if field_expr is not None else getattr(predicate, "left", None)
+    if target is None:
+        return sql.not_(predicate)
+    return sql.or_(target == None, sql.not_(predicate))
+
 
 QueryNode = Field | Relationship | TreeRankQuery
 FieldSpecJoinPath = tuple[QueryNode]
 
-
 class QueryFieldSpec(
     namedtuple(
         "QueryFieldSpec",
@@ -383,6 +401,7 @@ def apply_filter(
 
             query_op = QueryOps(uiformatter)
             op = query_op.by_op_num(op_num)
+            mod_orm_field = orm_field
             if query_op.is_precalculated(op_num):
                 f = op(
                     orm_field, value, query, is_strict=strict
@@ -399,7 +418,10 @@ def apply_filter(
                 op, mod_orm_field, value = apply_special_filter_cases(orm_field, field, table, value, op, op_num, uiformatter, collection, user)
                 f = op(mod_orm_field, value)
 
-            predicate = sql.not_(f) if negate else f
+            if negate:
+                predicate = null_safe_not(mod_orm_field or orm_field, f)
+            else:
+                predicate = f
         else:
             predicate = None
 
From ff12802ce893ebdf18ed24b4cdb9f74c4899145e Mon Sep 17 00:00:00 2001
From: Grant Fitzsimmons <37256050+grantfitzsimmons@users.noreply.github.com>
Date: Sat, 4 Oct 2025 22:19:04 -0500
Subject: [PATCH 2/5] Update queryfieldspec.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
 specifyweb/backend/stored_queries/queryfieldspec.py | 1 -
 1 file changed, 1 deletion(-)
diff --git a/specifyweb/backend/stored_queries/queryfieldspec.py b/specifyweb/backend/stored_queries/queryfieldspec.py
index e7b291c66d2..11523ca1b65 100644
--- a/specifyweb/backend/stored_queries/queryfieldspec.py
+++ b/specifyweb/backend/stored_queries/queryfieldspec.py
@@ -172,7 +172,6 @@ def null_safe_not(field_expr, predicate):
     relevant field expression.
 
     """
-        
     if predicate is None or isinstance(predicate, Query):
         return predicate
     target = field_expr if field_expr is not None else getattr(predicate, "left", None)
From 3e39b4b12f3e6d2d1be0165f900c140edaf77d54 Mon Sep 17 00:00:00 2001
From: Grant Fitzsimmons <37256050+grantfitzsimmons@users.noreply.github.com>
Date: Sat, 4 Oct 2025 22:19:37 -0500
Subject: [PATCH 3/5] Update queryfieldspec.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
 specifyweb/backend/stored_queries/queryfieldspec.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specifyweb/backend/stored_queries/queryfieldspec.py b/specifyweb/backend/stored_queries/queryfieldspec.py
index 11523ca1b65..01469e73b8c 100644
--- a/specifyweb/backend/stored_queries/queryfieldspec.py
+++ b/specifyweb/backend/stored_queries/queryfieldspec.py
@@ -177,7 +177,7 @@ def null_safe_not(field_expr, predicate):
     target = field_expr if field_expr is not None else getattr(predicate, "left", None)
     if target is None:
         return sql.not_(predicate)
-    return sql.or_(target == None, sql.not_(predicate))
+    return sql.or_(target.is_(None), sql.not_(predicate))
 
 
 QueryNode = Field | Relationship | TreeRankQuery
From 89c264255ef6b687b76c872030ca5f6ecc9027fb Mon Sep 17 00:00:00 2001
From: Grant Fitzsimmons <37256050+grantfitzsimmons@users.noreply.github.com>
Date: Mon, 20 Oct 2025 19:17:50 +0000
Subject: [PATCH 4/5] Lint code with ESLint and Prettier
Triggered by 84544548f11765847a20d0db9d5592222b9321f2 on branch refs/heads/issue-6446
---
 .../components/WorkBench/WbSpreadsheet.tsx    |   14 +-
 .../frontend/js_src/lib/localization/forms.ts | 2016 ++++++++---------
 .../frontend/js_src/lib/localization/query.ts | 1578 ++++++-------
 .../js_src/lib/localization/resources.ts      | 1744 +++++++-------
 .../js_src/lib/localization/schema.ts         |  842 +++----
 .../frontend/js_src/lib/localization/tree.ts  | 1040 ++++-----
 6 files changed, 3617 insertions(+), 3617 deletions(-)
diff --git a/specifyweb/frontend/js_src/lib/components/WorkBench/WbSpreadsheet.tsx b/specifyweb/frontend/js_src/lib/components/WorkBench/WbSpreadsheet.tsx
index 63188fab1e1..fd520a77354 100644
--- a/specifyweb/frontend/js_src/lib/components/WorkBench/WbSpreadsheet.tsx
+++ b/specifyweb/frontend/js_src/lib/components/WorkBench/WbSpreadsheet.tsx
@@ -114,14 +114,14 @@ function WbSpreadsheetComponent({
                             : label;
                         // REFACTOR: use new table icons
                         const tableSvg = renderToStaticMarkup(
-                      
-                    );
+                          
+                        );
 
-                    return `{size:number} {type:string} {direction:string}",
-    "de-ch":
-      "{size:number} {type:string} {direction:string}",
-    "es-es":
-      "{size:number} {type:string} {direction:string}",
-    "fr-fr":
-      "{size:number} {type:string} {direction:string}",
-    "ru-ru":
-      "{size:number} {type:string} {direction:string}",
-    "uk-ua":
-      "{size:number} {type:string} {direction:string}",
-    "pt-br":
-      "{size:number} {type:string} {direction:string}",
+    'en-us':
+      '{size:number} {type:string} {direction:string}',
+    'de-ch':
+      '{size:number} {type:string} {direction:string}',
+    'es-es':
+      '{size:number} {type:string} {direction:string}',
+    'fr-fr':
+      '{size:number} {type:string} {direction:string}',
+    'ru-ru':
+      '{size:number} {type:string} {direction:string}',
+    'uk-ua':
+      '{size:number} {type:string} {direction:string}',
+    'pt-br':
+      '{size:number} {type:string} {direction:string}',
   },
   importHiddenFields: {
-    "en-us": "The following fields are hidden in the query you imported:",
-    "es-es": "Los siguientes campos están ocultos en la consulta que importó:",
-    "fr-fr":
-      "Les champs suivants sont masqués dans la requête que vous avez importée :",
-    "ru-ru": "В импортированном вами запросе скрыты следующие поля:",
-    "uk-ua": "В імпортованому вами запиті приховано такі поля:",
-    "de-ch":
-      "Die folgenden Felder sind in der von Ihnen importierten Abfrage ausgeblendet:",
-    "pt-br": "Os seguintes campos estão ocultos na consulta que você importou:",
+    'en-us': 'The following fields are hidden in the query you imported:',
+    'es-es': 'Los siguientes campos están ocultos en la consulta que importó:',
+    'fr-fr':
+      'Les champs suivants sont masqués dans la requête que vous avez importée :',
+    'ru-ru': 'В импортированном вами запросе скрыты следующие поля:',
+    'uk-ua': 'В імпортованому вами запиті приховано такі поля:',
+    'de-ch':
+      'Die folgenden Felder sind in der von Ihnen importierten Abfrage ausgeblendet:',
+    'pt-br': 'Os seguintes campos estão ocultos na consulta que você importou:',
   },
   importNoReadPermission: {
-    "en-us":
-      "The query you imported contains tables you do not have read access to:",
-    "es-es":
-      "La consulta que importó contiene tablas a las que no tiene acceso de lectura:",
-    "fr-fr":
-      "La requête que vous avez importée contient des tables auxquelles vous n’avez pas accès en lecture :",
-    "ru-ru":
-      "Импортированный вами запрос содержит таблицы, к которым у вас нет доступа на чтение:",
-    "uk-ua":
-      "Запит, який ви імпортували, містить таблиці, до яких ви не маєте доступу на читання:",
-    "de-ch":
-      "Die von Ihnen importierte Abfrage enthält Tabellen, auf die Sie keinen Lesezugriff haben:",
-    "pt-br":
-      "A consulta que você importou contém tabelas às quais você não tem acesso de leitura:",
+    'en-us':
+      'The query you imported contains tables you do not have read access to:',
+    'es-es':
+      'La consulta que importó contiene tablas a las que no tiene acceso de lectura:',
+    'fr-fr':
+      'La requête que vous avez importée contient des tables auxquelles vous n’avez pas accès en lecture :',
+    'ru-ru':
+      'Импортированный вами запрос содержит таблицы, к которым у вас нет доступа на чтение:',
+    'uk-ua':
+      'Запит, який ви імпортували, містить таблиці, до яких ви не маєте доступу на читання:',
+    'de-ch':
+      'Die von Ihnen importierte Abfrage enthält Tabellen, auf die Sie keinen Lesezugriff haben:',
+    'pt-br':
+      'A consulta que você importou contém tabelas às quais você não tem acesso de leitura:',
   },
   noReadPermission: {
-    "en-us": "No read permission",
-    "es-es": "Sin permiso de lectura",
-    "fr-fr": "Aucune autorisation de lecture",
-    "ru-ru": "Нет разрешения на чтение",
-    "uk-ua": "Немає дозволу на читання",
-    "de-ch": "Keine Leseberechtigung",
-    "pt-br": "Sem permissão de leitura",
+    'en-us': 'No read permission',
+    'es-es': 'Sin permiso de lectura',
+    'fr-fr': 'Aucune autorisation de lecture',
+    'ru-ru': 'Нет разрешения на чтение',
+    'uk-ua': 'Немає дозволу на читання',
+    'de-ch': 'Keine Leseberechtigung',
+    'pt-br': 'Sem permissão de leitura',
   },
   switchToRelative: {
-    "en-us": "Switch to relative",
-    "de-ch": "Wechseln zu relativ",
-    "es-es": "Cambiar a relativo",
-    "fr-fr": "Passer au relatif",
-    "ru-ru": "Переключиться на относительный",
-    "uk-ua": "Перейти до відносного",
-    "pt-br": "Mudar para relativo",
+    'en-us': 'Switch to relative',
+    'de-ch': 'Wechseln zu relativ',
+    'es-es': 'Cambiar a relativo',
+    'fr-fr': 'Passer au relatif',
+    'ru-ru': 'Переключиться на относительный',
+    'uk-ua': 'Перейти до відносного',
+    'pt-br': 'Mudar para relativo',
   },
   switchToAbsolute: {
-    "en-us": "Switch to absolute",
-    "de-ch": "Wechseln Sie zu absolut",
-    "es-es": "Cambiar a absoluto",
-    "fr-fr": "Passer à l'absolu",
-    "ru-ru": "Переключиться на абсолютный",
-    "uk-ua": "Перейти до відносного",
-    "pt-br": "Mudar para absoluto",
+    'en-us': 'Switch to absolute',
+    'de-ch': 'Wechseln Sie zu absolut',
+    'es-es': 'Cambiar a absoluto',
+    'fr-fr': "Passer à l'absolu",
+    'ru-ru': 'Переключиться на абсолютный',
+    'uk-ua': 'Перейти до відносного',
+    'pt-br': 'Mudar para absoluto',
   },
   scrollToEditor: {
-    "en-us": "Scroll to editor",
-    "de-ch": "Zum Editor scrollen",
-    "es-es": "Desplazarse al editor",
-    "uk-ua": "Перейдіть до редактора",
-    "fr-fr": "Faites défiler jusqu'à l'éditeur",
-    "ru-ru": "Прокрутите до редактора",
-    "pt-br": "Vá até o editor",
+    'en-us': 'Scroll to editor',
+    'de-ch': 'Zum Editor scrollen',
+    'es-es': 'Desplazarse al editor',
+    'uk-ua': 'Перейдіть до редактора',
+    'fr-fr': "Faites défiler jusqu'à l'éditeur",
+    'ru-ru': 'Прокрутите до редактора',
+    'pt-br': 'Vá até o editor',
   },
   viewRecords: {
-    "en-us": "View records",
-    "de-ch": "Datensätze anzeigen",
-    "es-es": "Ver registros",
-    "fr-fr": "Afficher les enregistrements",
-    "ru-ru": "Просмотреть записи",
-    "uk-ua": "Переглянути записи",
-    "pt-br": "Ver registros",
+    'en-us': 'View records',
+    'de-ch': 'Datensätze anzeigen',
+    'es-es': 'Ver registros',
+    'fr-fr': 'Afficher les enregistrements',
+    'ru-ru': 'Просмотреть записи',
+    'uk-ua': 'Переглянути записи',
+    'pt-br': 'Ver registros',
   },
   chooseFormatter: {
-    "en-us": "Choose formatter",
-    "de-ch": "Formatierer auswählen",
-    "es-es": "Elija el formateador",
-    "fr-fr": "Choisir le formateur",
-    "ru-ru": "Выбрать форматировщик",
-    "uk-ua": "Виберіть форматер",
-    "pt-br": "Escolha o formatador",
+    'en-us': 'Choose formatter',
+    'de-ch': 'Formatierer auswählen',
+    'es-es': 'Elija el formateador',
+    'fr-fr': 'Choisir le formateur',
+    'ru-ru': 'Выбрать форматировщик',
+    'uk-ua': 'Виберіть форматер',
+    'pt-br': 'Escolha o formatador',
   },
   range: {
-    "en-us": "Range",
-    "de-ch": "Reichweite",
-    "es-es": "Rango",
-    "fr-fr": "Gamme",
-    "pt-br": "Faixa",
-    "ru-ru": "Диапазон",
-    "uk-ua": "Діапазон",
+    'en-us': 'Range',
+    'de-ch': 'Reichweite',
+    'es-es': 'Rango',
+    'fr-fr': 'Gamme',
+    'pt-br': 'Faixa',
+    'ru-ru': 'Диапазон',
+    'uk-ua': 'Діапазон',
   },
   strict: {
-    "en-us": "Strict",
-    "de-ch": "Strikt",
-    "es-es": "Estricto",
-    "fr-fr": "Strict",
-    "pt-br": "Estrito",
-    "ru-ru": "Строгий",
-    "uk-ua": "Суворий",
+    'en-us': 'Strict',
+    'de-ch': 'Strikt',
+    'es-es': 'Estricto',
+    'fr-fr': 'Strict',
+    'pt-br': 'Estrito',
+    'ru-ru': 'Строгий',
+    'uk-ua': 'Суворий',
   },
   nonStrict: {
-    "en-us": "Non strict",
-    "de-ch": "Nicht streng",
-    "es-es": "No estricto",
-    "fr-fr": "Non strict",
-    "pt-br": "Não rigoroso",
-    "ru-ru": "Нестрогий",
-    "uk-ua": "Не суворий",
+    'en-us': 'Non strict',
+    'de-ch': 'Nicht streng',
+    'es-es': 'No estricto',
+    'fr-fr': 'Non strict',
+    'pt-br': 'Não rigoroso',
+    'ru-ru': 'Нестрогий',
+    'uk-ua': 'Не суворий',
   },
   catalogNumberInheritance: {
-    "en-us": "Catalog Number Inheritance",
-    "de-ch": "Katalognummernvererbung",
-    "es-es": "Herencia del número de catálogo",
-    "fr-fr": "Héritage du numéro de catalogue",
-    "pt-br": "Herança de números de catálogo",
-    "ru-ru": "Наследование каталожного номера",
-    "uk-ua": "Успадкування каталожних номерів",
+    'en-us': 'Catalog Number Inheritance',
+    'de-ch': 'Katalognummernvererbung',
+    'es-es': 'Herencia del número de catálogo',
+    'fr-fr': 'Héritage du numéro de catalogue',
+    'pt-br': 'Herança de números de catálogo',
+    'ru-ru': 'Наследование каталожного номера',
+    'uk-ua': 'Успадкування каталожних номерів',
   },
   catalogNumberParentCOInheritance: {
-    "en-us": "Catalog Number Parent Collection Object Inheritance",
-    "de-ch": "Katalognummer Übergeordnete Sammlung Objektvererbung",
-    "es-es":
-      "Herencia de objetos de la colección principal del número de catálogo",
-    "fr-fr": "Numéro de catalogue Collection parente Héritage d'objet",
-    "pt-br": "Herança de objeto de coleção pai de número de catálogo",
-    "ru-ru": "Номер каталога Родительская коллекция Объект Наследование",
-    "uk-ua": "Успадкування батьківського об'єкта колекції за номером каталогу",
+    'en-us': 'Catalog Number Parent Collection Object Inheritance',
+    'de-ch': 'Katalognummer Übergeordnete Sammlung Objektvererbung',
+    'es-es':
+      'Herencia de objetos de la colección principal del número de catálogo',
+    'fr-fr': "Numéro de catalogue Collection parente Héritage d'objet",
+    'pt-br': 'Herança de objeto de coleção pai de número de catálogo',
+    'ru-ru': 'Номер каталога Родительская коллекция Объект Наследование',
+    'uk-ua': "Успадкування батьківського об'єкта колекції за номером каталогу",
   },
   uniqueCatalogNumberAcrossComponentAndCo: {
-    "en-us": "Catalog Number Uniqueness Across Component And CO tables",
-    "de-ch": "Eindeutigkeit der Katalognummer in Komponenten- und CO-Tabellen",
-    "es-es":
-      "Unicidad del número de catálogo en las tablas de componentes y CO",
-    "fr-fr":
-      "Unicité des numéros de catalogue entre les tableaux de composants et de CO",
-    "pt-br":
-      "Exclusividade do número de catálogo nas tabelas de componentes e CO",
-    "ru-ru": "Уникальность каталожного номера в таблицах компонентов и CO",
-    "uk-ua": "Унікальність каталожних номерів у таблицях компонентів та CO",
+    'en-us': 'Catalog Number Uniqueness Across Component And CO tables',
+    'de-ch': 'Eindeutigkeit der Katalognummer in Komponenten- und CO-Tabellen',
+    'es-es':
+      'Unicidad del número de catálogo en las tablas de componentes y CO',
+    'fr-fr':
+      'Unicité des numéros de catalogue entre les tableaux de composants et de CO',
+    'pt-br':
+      'Exclusividade do número de catálogo nas tabelas de componentes e CO',
+    'ru-ru': 'Уникальность каталожного номера в таблицах компонентов и CO',
+    'uk-ua': 'Унікальність каталожних номерів у таблицях компонентів та CO',
   },
   formatInputAs: {
     comment: `
@@ -985,52 +985,52 @@ export const queryText = createDictionary({
 
       Example: Format As: Ichthyology Example: Format As: Rock, Mineral
     `,
-    "en-us": "Format As: {commaSeparatedFormats:string}",
-    "de-ch": "Formatieren als: {commaSeparatedFormats:string}",
-    "es-es": "Formato como: {commaSeparatedFormats:string}",
-    "fr-fr": "Formater comme : {commaSeparatedFormats:string}",
-    "pt-br": "Formato como: {commaSeparatedFormats:string}",
-    "ru-ru": "Форматировать как: {commaSeparatedFormats:string}",
-    "uk-ua": "Форматувати як: {commaSeparatedFormats:string}",
+    'en-us': 'Format As: {commaSeparatedFormats:string}',
+    'de-ch': 'Formatieren als: {commaSeparatedFormats:string}',
+    'es-es': 'Formato como: {commaSeparatedFormats:string}',
+    'fr-fr': 'Formater comme : {commaSeparatedFormats:string}',
+    'pt-br': 'Formato como: {commaSeparatedFormats:string}',
+    'ru-ru': 'Форматировать как: {commaSeparatedFormats:string}',
+    'uk-ua': 'Форматувати як: {commaSeparatedFormats:string}',
   },
   unsavedChangesInQuery: {
-    "en-us": "Query has unsaved changes",
-    "de-ch": "Die Abfrage enthält nicht gespeicherte Änderungen",
-    "es-es": "La consulta tiene cambios sin guardar",
-    "fr-fr": "La requête comporte des modifications non enregistrées",
-    "pt-br": "A consulta possui alterações não salvas",
-    "ru-ru": "Запрос имеет несохраненные изменения",
-    "uk-ua": "Запит містить незбережені зміни",
+    'en-us': 'Query has unsaved changes',
+    'de-ch': 'Die Abfrage enthält nicht gespeicherte Änderungen',
+    'es-es': 'La consulta tiene cambios sin guardar',
+    'fr-fr': 'La requête comporte des modifications non enregistrées',
+    'pt-br': 'A consulta possui alterações não salvas',
+    'ru-ru': 'Запрос имеет несохраненные изменения',
+    'uk-ua': 'Запит містить незбережені зміни',
   },
   unsavedChangesInQueryDescription: {
-    "en-us": "Please save the query before running Batch Edit",
-    "de-ch":
-      "Bitte speichern Sie die Abfrage, bevor Sie die Stapelbearbeitung ausführen",
-    "es-es": "Guarde la consulta antes de ejecutar la edición por lotes",
-    "fr-fr":
+    'en-us': 'Please save the query before running Batch Edit',
+    'de-ch':
+      'Bitte speichern Sie die Abfrage, bevor Sie die Stapelbearbeitung ausführen',
+    'es-es': 'Guarde la consulta antes de ejecutar la edición por lotes',
+    'fr-fr':
       "Veuillez enregistrer la requête avant d'exécuter l'édition par lots",
-    "pt-br": "Salve a consulta antes de executar a edição em lote",
-    "ru-ru":
-      "Пожалуйста, сохраните запрос перед запуском пакетного редактирования.",
-    "uk-ua": "Будь ласка, збережіть запит перед запуском пакетного редагування",
+    'pt-br': 'Salve a consulta antes de executar a edição em lote',
+    'ru-ru':
+      'Пожалуйста, сохраните запрос перед запуском пакетного редактирования.',
+    'uk-ua': 'Будь ласка, збережіть запит перед запуском пакетного редагування',
   },
   noPreparationsToReturn: {
-    "en-us": "There are no unresolved items to return",
-    "ru-ru": "Нет нерешенных вопросов для возврата",
-    "es-es": "No hay items sin resolver para devolver",
-    "fr-fr": "Il n'y a aucun article non résolu à retourner",
-    "uk-ua": "Немає невирішених елементів для повернення",
-    "de-ch":
-      "Es gibt keine ungelösten Elemente, die zurückgegeben werden müssen",
-    "pt-br": "Não há itens não resolvidos para retornar",
+    'en-us': 'There are no unresolved items to return',
+    'ru-ru': 'Нет нерешенных вопросов для возврата',
+    'es-es': 'No hay items sin resolver para devolver',
+    'fr-fr': "Il n'y a aucun article non résolu à retourner",
+    'uk-ua': 'Немає невирішених елементів для повернення',
+    'de-ch':
+      'Es gibt keine ungelösten Elemente, die zurückgegeben werden müssen',
+    'pt-br': 'Não há itens não resolvidos para retornar',
   },
   itemsReturned: {
-    "en-us": "Items have been returned",
-    "ru-ru": "Товары были возвращены",
-    "es-es": "Los items han sido devueltos",
-    "fr-fr": "Les articles ont été retournés",
-    "uk-ua": "Товари повернуто",
-    "de-ch": "Artikel wurden zurückgegeben",
-    "pt-br": "Os itens foram devolvidos",
+    'en-us': 'Items have been returned',
+    'ru-ru': 'Товары были возвращены',
+    'es-es': 'Los items han sido devueltos',
+    'fr-fr': 'Les articles ont été retournés',
+    'uk-ua': 'Товари повернуто',
+    'de-ch': 'Artikel wurden zurückgegeben',
+    'pt-br': 'Os itens foram devolvidos',
   },
 } as const);
diff --git a/specifyweb/frontend/js_src/lib/localization/resources.ts b/specifyweb/frontend/js_src/lib/localization/resources.ts
index a8a3dcbfed0..4701c89b883 100644
--- a/specifyweb/frontend/js_src/lib/localization/resources.ts
+++ b/specifyweb/frontend/js_src/lib/localization/resources.ts
@@ -4,1130 +4,1130 @@
  * @module
  */
 
-import { createDictionary } from "./utils";
+import { createDictionary } from './utils';
 
 // Refer to "Guidelines for Programmers" in ./README.md before editing this file
 
 export const resourcesText = createDictionary({
   appResources: {
-    "en-us": "App Resources",
-    "ru-ru": "Ресурсы приложений",
-    "es-es": "Recursos de la aplicación",
-    "fr-fr": "Ressources de l'application",
-    "uk-ua": "Ресурси програми",
-    "de-ch": "App Ressourcen",
-    "pt-br": "Recursos do aplicativo",
+    'en-us': 'App Resources',
+    'ru-ru': 'Ресурсы приложений',
+    'es-es': 'Recursos de la aplicación',
+    'fr-fr': "Ressources de l'application",
+    'uk-ua': 'Ресурси програми',
+    'de-ch': 'App Ressourcen',
+    'pt-br': 'Recursos do aplicativo',
   },
   formDefinition: {
-    "en-us": "Form Definition",
-    "ru-ru": "Определение формы",
-    "es-es": "Definición de formulario",
-    "fr-fr": "Définition du formulaire",
-    "uk-ua": "Визначення форми",
-    "de-ch": "Formular Definition",
-    "pt-br": "Definição de Formulário",
+    'en-us': 'Form Definition',
+    'ru-ru': 'Определение формы',
+    'es-es': 'Definición de formulario',
+    'fr-fr': 'Définition du formulaire',
+    'uk-ua': 'Визначення форми',
+    'de-ch': 'Formular Definition',
+    'pt-br': 'Definição de Formulário',
   },
   formDefinitions: {
-    "en-us": "Form Definition",
-    "ru-ru": "Определение формы",
-    "es-es": "Definición de formulario",
-    "fr-fr": "Définition du formulaire",
-    "uk-ua": "Визначення форми",
-    "de-ch": "Formulardefinition",
-    "pt-br": "Definição de Formulário",
+    'en-us': 'Form Definition',
+    'ru-ru': 'Определение формы',
+    'es-es': 'Definición de formulario',
+    'fr-fr': 'Définition du formulaire',
+    'uk-ua': 'Визначення форми',
+    'de-ch': 'Formulardefinition',
+    'pt-br': 'Definição de Formulário',
   },
   newViewDefinition: {
-    "en-us": "New View Definition",
-    "de-ch": "Neue Ansichtsdefinition",
-    "es-es": "Nueva definición de vista",
-    "fr-fr": "Nouvelle définition de vue",
-    "pt-br": "Nova Definição de Visualização",
-    "ru-ru": "Новое определение взгляда",
-    "uk-ua": "Нове визначення подання",
+    'en-us': 'New View Definition',
+    'de-ch': 'Neue Ansichtsdefinition',
+    'es-es': 'Nueva definición de vista',
+    'fr-fr': 'Nouvelle définition de vue',
+    'pt-br': 'Nova Definição de Visualização',
+    'ru-ru': 'Новое определение взгляда',
+    'uk-ua': 'Нове визначення подання',
   },
   loadFile: {
-    "en-us": "Load File",
-    "ru-ru": "Загрузить файл",
-    "es-es": "Cargar archivo",
-    "fr-fr": "Charger le fichier",
-    "uk-ua": "Завантажити файл",
-    "de-ch": "Datei Laden",
-    "pt-br": "Carregar arquivo",
+    'en-us': 'Load File',
+    'ru-ru': 'Загрузить файл',
+    'es-es': 'Cargar archivo',
+    'fr-fr': 'Charger le fichier',
+    'uk-ua': 'Завантажити файл',
+    'de-ch': 'Datei Laden',
+    'pt-br': 'Carregar arquivo',
   },
   globalResources: {
-    "en-us": "Global Resources",
-    "ru-ru": "Глобальные ресурсы",
-    "es-es": "Recursos globales",
-    "fr-fr": "Ressources mondiales",
-    "uk-ua": "Глобальні ресурси",
-    "de-ch": "Globale Ressourcen",
-    "pt-br": "Recursos Globais",
+    'en-us': 'Global Resources',
+    'ru-ru': 'Глобальные ресурсы',
+    'es-es': 'Recursos globales',
+    'fr-fr': 'Ressources mondiales',
+    'uk-ua': 'Глобальні ресурси',
+    'de-ch': 'Globale Ressourcen',
+    'pt-br': 'Recursos Globais',
   },
   disciplineResources: {
-    "en-us": "Discipline Resources",
-    "ru-ru": "Дисциплинарные ресурсы",
-    "es-es": "Recursos de disciplina",
-    "fr-fr": "Ressources disciplinaires",
-    "uk-ua": "Дисциплінарні ресурси",
-    "de-ch": "Disziplin-Ressourcen",
-    "pt-br": "Recursos de Disciplina",
+    'en-us': 'Discipline Resources',
+    'ru-ru': 'Дисциплинарные ресурсы',
+    'es-es': 'Recursos de disciplina',
+    'fr-fr': 'Ressources disciplinaires',
+    'uk-ua': 'Дисциплінарні ресурси',
+    'de-ch': 'Disziplin-Ressourcen',
+    'pt-br': 'Recursos de Disciplina',
   },
   type: {
-    "en-us": "Type",
-    "ru-ru": "Тип",
-    "es-es": "Tipo",
-    "fr-fr": "Taper",
-    "uk-ua": "Тип",
-    "de-ch": "Typ",
-    "pt-br": "Tipo",
+    'en-us': 'Type',
+    'ru-ru': 'Тип',
+    'es-es': 'Tipo',
+    'fr-fr': 'Taper',
+    'uk-ua': 'Тип',
+    'de-ch': 'Typ',
+    'pt-br': 'Tipo',
   },
   userTypes: {
-    "en-us": "User Types",
-    "ru-ru": "Типы пользователей",
-    "es-es": "Tipos de usuarios",
-    "fr-fr": "Types d'utilisateurs",
-    "uk-ua": "Типи користувачів",
-    "de-ch": "Benutzertypen",
-    "pt-br": "Tipos de Usuário",
+    'en-us': 'User Types',
+    'ru-ru': 'Типы пользователей',
+    'es-es': 'Tipos de usuarios',
+    'fr-fr': "Types d'utilisateurs",
+    'uk-ua': 'Типи користувачів',
+    'de-ch': 'Benutzertypen',
+    'pt-br': 'Tipos de Usuário',
   },
   resources: {
-    "en-us": "Resources",
-    "ru-ru": "Ресурсы",
-    "es-es": "Recursos",
-    "fr-fr": "Ressources",
-    "uk-ua": "Ресурси",
-    "de-ch": "Ressourcen",
-    "pt-br": "Recursos",
+    'en-us': 'Resources',
+    'ru-ru': 'Ресурсы',
+    'es-es': 'Recursos',
+    'fr-fr': 'Ressources',
+    'uk-ua': 'Ресурси',
+    'de-ch': 'Ressourcen',
+    'pt-br': 'Recursos',
   },
   subCategories: {
-    "en-us": "Sub-categories",
-    "ru-ru": "Подкатегории",
-    "es-es": "Subcategorías",
-    "fr-fr": "Sous-catégories",
-    "uk-ua": "Підкатегорії",
-    "de-ch": "Unterkategorien",
-    "pt-br": "Subcategorias",
+    'en-us': 'Sub-categories',
+    'ru-ru': 'Подкатегории',
+    'es-es': 'Subcategorías',
+    'fr-fr': 'Sous-catégories',
+    'uk-ua': 'Підкатегорії',
+    'de-ch': 'Unterkategorien',
+    'pt-br': 'Subcategorias',
   },
   addResource: {
-    "en-us": "Add Resource",
-    "ru-ru": "Добавить ресурс",
-    "es-es": "Agregar recurso",
-    "fr-fr": "Ajouter une ressource",
-    "uk-ua": "Додати ресурс",
-    "de-ch": "Ressource hinzufügen",
-    "pt-br": "Adicionar recurso",
+    'en-us': 'Add Resource',
+    'ru-ru': 'Добавить ресурс',
+    'es-es': 'Agregar recurso',
+    'fr-fr': 'Ajouter une ressource',
+    'uk-ua': 'Додати ресурс',
+    'de-ch': 'Ressource hinzufügen',
+    'pt-br': 'Adicionar recurso',
   },
   appResource: {
-    "en-us": "App Resource",
-    "ru-ru": "Подкатегории",
-    "es-es": "Recursos de la aplicación",
-    "fr-fr": "Ressource d'application",
-    "uk-ua": "Підкатегорії",
-    "de-ch": "App Ressource",
-    "pt-br": "Recurso do aplicativo",
+    'en-us': 'App Resource',
+    'ru-ru': 'Подкатегории',
+    'es-es': 'Recursos de la aplicación',
+    'fr-fr': "Ressource d'application",
+    'uk-ua': 'Підкатегорії',
+    'de-ch': 'App Ressource',
+    'pt-br': 'Recurso do aplicativo',
   },
   rssExportFeed: {
-    "en-us": "RSS Export Feed",
-    "ru-ru": "RSS-канал экспорта",
-    "es-es": "Fuente de exportación RSS",
-    "fr-fr": "Flux d'exportation RSS",
-    "uk-ua": "Канал експорту RSS",
-    "de-ch": "RSS-Export-Feed",
-    "pt-br": "Feed de exportação RSS",
+    'en-us': 'RSS Export Feed',
+    'ru-ru': 'RSS-канал экспорта',
+    'es-es': 'Fuente de exportación RSS',
+    'fr-fr': "Flux d'exportation RSS",
+    'uk-ua': 'Канал експорту RSS',
+    'de-ch': 'RSS-Export-Feed',
+    'pt-br': 'Feed de exportação RSS',
   },
   exports: {
-    "en-us": "Exports",
-    "de-ch": "Exporte",
-    "es-es": "Exportaciones",
-    "fr-fr": "Exportations",
-    "ru-ru": "Экспорт",
-    "uk-ua": "Експорт",
-    "pt-br": "Exportações",
+    'en-us': 'Exports',
+    'de-ch': 'Exporte',
+    'es-es': 'Exportaciones',
+    'fr-fr': 'Exportations',
+    'ru-ru': 'Экспорт',
+    'uk-ua': 'Експорт',
+    'pt-br': 'Exportações',
   },
   expressSearchConfig: {
-    "en-us": "Express Search Config",
-    "ru-ru": "Конфигурация экспресс-поиска",
-    "es-es": "Configuración de búsqueda rápida",
-    "fr-fr": "Configuration de la recherche express",
-    "uk-ua": "Конфігурація експрес-пошуку",
-    "de-ch": "Express Suche Konfigurieren",
-    "pt-br": "Configuração de pesquisa expressa",
+    'en-us': 'Express Search Config',
+    'ru-ru': 'Конфигурация экспресс-поиска',
+    'es-es': 'Configuración de búsqueda rápida',
+    'fr-fr': 'Configuration de la recherche express',
+    'uk-ua': 'Конфігурація експрес-пошуку',
+    'de-ch': 'Express Suche Konfigurieren',
+    'pt-br': 'Configuração de pesquisa expressa',
   },
   typeSearches: {
-    "en-us": "Type Searches",
-    "de-ch": "Typsuchen",
-    "es-es": "Búsquedas de tipos",
-    "fr-fr": "Recherches de type",
-    "ru-ru": "Тип поиска",
-    "uk-ua": "Пошук типів",
-    "pt-br": "Pesquisas de tipo",
+    'en-us': 'Type Searches',
+    'de-ch': 'Typsuchen',
+    'es-es': 'Búsquedas de tipos',
+    'fr-fr': 'Recherches de type',
+    'ru-ru': 'Тип поиска',
+    'uk-ua': 'Пошук типів',
+    'pt-br': 'Pesquisas de tipo',
   },
   webLinks: {
-    "en-us": "Web Links",
-    "ru-ru": "Веб ссылки",
-    "es-es": "Enlaces web",
-    "fr-fr": "Liens Web",
-    "uk-ua": "Веб-посилання",
-    "de-ch": "Weblinks",
-    "pt-br": "Links da Web",
+    'en-us': 'Web Links',
+    'ru-ru': 'Веб ссылки',
+    'es-es': 'Enlaces web',
+    'fr-fr': 'Liens Web',
+    'uk-ua': 'Веб-посилання',
+    'de-ch': 'Weblinks',
+    'pt-br': 'Links da Web',
   },
   uiFormatters: {
-    "en-us": "Field Formatters",
-    "ru-ru": "Форматировщики полей",
-    "es-es": "Formateadores de campos",
-    "fr-fr": "Formateurs de champs",
-    "uk-ua": "Форматувальники полів",
-    "de-ch": "Feldformatierer",
-    "pt-br": "Formatadores de campo",
+    'en-us': 'Field Formatters',
+    'ru-ru': 'Форматировщики полей',
+    'es-es': 'Formateadores de campos',
+    'fr-fr': 'Formateurs de champs',
+    'uk-ua': 'Форматувальники полів',
+    'de-ch': 'Feldformatierer',
+    'pt-br': 'Formatadores de campo',
   },
   fieldFormattersDescription: {
-    "en-us":
-      "The “Field Format” controls how data for a specific table field is displayed in query results, exports, and forms. It manages autonumbering and the composition of various parts that define the field.",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua":
-      "«Формат поля» контролює, як дані для певного поля таблиці відображаються в результатах запиту, експорті та формах. Він керує автонумерацією та композицією різних частин, що визначають поле.",
+    'en-us':
+      'The “Field Format” controls how data for a specific table field is displayed in query results, exports, and forms. It manages autonumbering and the composition of various parts that define the field.',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua':
+      '«Формат поля» контролює, як дані для певного поля таблиці відображаються в результатах запиту, експорті та формах. Він керує автонумерацією та композицією різних частин, що визначають поле.',
   },
   dataObjectFormatters: {
-    "en-us": "Record Formatters",
-    "ru-ru": "Форматеры записи",
-    "es-es": "Formateadores de registros",
-    "uk-ua": "Форматувальники записів",
-    "de-ch": "Datensatz-Formatierer",
-    "fr-fr": "Formateurs d'enregistrements",
-    "pt-br": "Formatadores de registros",
+    'en-us': 'Record Formatters',
+    'ru-ru': 'Форматеры записи',
+    'es-es': 'Formateadores de registros',
+    'uk-ua': 'Форматувальники записів',
+    'de-ch': 'Datensatz-Formatierer',
+    'fr-fr': "Formateurs d'enregistrements",
+    'pt-br': 'Formatadores de registros',
   },
   formatter: {
-    "en-us": "Table Format",
-    "de-ch": "Tabellenformat",
-    "es-es": "Formato de tabla",
-    "fr-fr": "Format de tableau",
-    "ru-ru": "Формат таблицы",
-    "uk-ua": "Формат таблиці",
-    "pt-br": "Formato de tabela",
+    'en-us': 'Table Format',
+    'de-ch': 'Tabellenformat',
+    'es-es': 'Formato de tabla',
+    'fr-fr': 'Format de tableau',
+    'ru-ru': 'Формат таблицы',
+    'uk-ua': 'Формат таблиці',
+    'pt-br': 'Formato de tabela',
   },
   formatterDescription: {
-    "en-us":
-      "The “Table Format” controls how data from a specific table is shown in query results, exports, and query combo boxes. It determines the fields to display and their order. Conditional formatting can be configured based on a value in the record.",
-    "de-ch":
-      "Das Tabellenformat steuert die Darstellung von Daten aus einer bestimmten Tabelle in Abfrageergebnissen, Exporten und Abfrage-Kombinationsfeldern. Es bestimmt die anzuzeigenden Felder und deren Reihenfolge. Die bedingte Formatierung kann basierend auf einem Wert im Datensatz konfiguriert werden.",
-    "es-es":
+    'en-us':
+      'The “Table Format” controls how data from a specific table is shown in query results, exports, and query combo boxes. It determines the fields to display and their order. Conditional formatting can be configured based on a value in the record.',
+    'de-ch':
+      'Das Tabellenformat steuert die Darstellung von Daten aus einer bestimmten Tabelle in Abfrageergebnissen, Exporten und Abfrage-Kombinationsfeldern. Es bestimmt die anzuzeigenden Felder und deren Reihenfolge. Die bedingte Formatierung kann basierend auf einem Wert im Datensatz konfiguriert werden.',
+    'es-es':
       'El "Formato de tabla" controla cómo se muestran los datos de una tabla específica en los resultados de consultas, las exportaciones y los cuadros combinados de consultas. Determina los campos que se mostrarán y su orden. El formato condicional se puede configurar según un valor del registro.',
-    "fr-fr":
+    'fr-fr':
       "Le « Format de table » contrôle l'affichage des données d'une table spécifique dans les résultats de requête, les exportations et les listes déroulantes. Il détermine les champs à afficher et leur ordre. La mise en forme conditionnelle peut être configurée en fonction d'une valeur de l'enregistrement.",
-    "ru-ru":
-      "«Формат таблицы» определяет, как данные из определенной таблицы отображаются в результатах запроса, экспорте и полях со списком запроса. Он определяет поля для отображения и их порядок. Условное форматирование можно настроить на основе значения в записи.",
-    "uk-ua":
-      "«Формат таблиці» керує тим, як дані з певної таблиці відображаються в результатах запитів, експорті та комбінованих полях запитів. Він визначає поля для відображення та їх порядок. Умовне форматування можна налаштувати на основі значення в записі.",
-    "pt-br":
-      "O “Formato da Tabela” controla como os dados de uma tabela específica são exibidos nos resultados da consulta, exportações e caixas de combinação da consulta. Ele determina os campos a serem exibidos e sua ordem. A formatação condicional pode ser configurada com base em um valor no registro.",
+    'ru-ru':
+      '«Формат таблицы» определяет, как данные из определенной таблицы отображаются в результатах запроса, экспорте и полях со списком запроса. Он определяет поля для отображения и их порядок. Условное форматирование можно настроить на основе значения в записи.',
+    'uk-ua':
+      '«Формат таблиці» керує тим, як дані з певної таблиці відображаються в результатах запитів, експорті та комбінованих полях запитів. Він визначає поля для відображення та їх порядок. Умовне форматування можна налаштувати на основі значення в записі.',
+    'pt-br':
+      'O “Formato da Tabela” controla como os dados de uma tabela específica são exibidos nos resultados da consulta, exportações e caixas de combinação da consulta. Ele determina os campos a serem exibidos e sua ordem. A formatação condicional pode ser configurada com base em um valor no registro.',
   },
   aggregator: {
-    "en-us": "Table Aggregation",
-    "de-ch": "Tabellenaggregation",
-    "es-es": "Agregación de tablas",
-    "fr-fr": "Agrégation de table",
-    "ru-ru": "Агрегация таблиц",
-    "uk-ua": "Агрегація таблиць",
-    "pt-br": "Agregação de tabelas",
+    'en-us': 'Table Aggregation',
+    'de-ch': 'Tabellenaggregation',
+    'es-es': 'Agregación de tablas',
+    'fr-fr': 'Agrégation de table',
+    'ru-ru': 'Агрегация таблиц',
+    'uk-ua': 'Агрегація таблиць',
+    'pt-br': 'Agregação de tabelas',
   },
   aggregatorDescription: {
-    "en-us":
-      "The “Table Aggregation” controls how multiple table records are consolidated together into a single text string. The table format, separator, suffix, sort field, and record preview limit are customizable. It can be displayed in query results and table formats.",
-    "de-ch":
-      "Die „Tabellenaggregation“ steuert, wie mehrere Tabellendatensätze zu einer einzigen Textzeichenfolge zusammengefasst werden. Tabellenformat, Trennzeichen, Suffix, Sortierfeld und Datensatzvorschaulimit sind anpassbar. Die Anzeige kann in Abfrageergebnissen und Tabellenformaten erfolgen.",
-    "es-es":
+    'en-us':
+      'The “Table Aggregation” controls how multiple table records are consolidated together into a single text string. The table format, separator, suffix, sort field, and record preview limit are customizable. It can be displayed in query results and table formats.',
+    'de-ch':
+      'Die „Tabellenaggregation“ steuert, wie mehrere Tabellendatensätze zu einer einzigen Textzeichenfolge zusammengefasst werden. Tabellenformat, Trennzeichen, Suffix, Sortierfeld und Datensatzvorschaulimit sind anpassbar. Die Anzeige kann in Abfrageergebnissen und Tabellenformaten erfolgen.',
+    'es-es':
       'La "Agregación de Tablas" controla cómo se consolidan varios registros de tabla en una sola cadena de texto. El formato de tabla, el separador, el sufijo, el campo de ordenación y el límite de vista previa de registros son personalizables. Se pueden mostrar en los resultados de consultas y en los formatos de tabla.',
-    "fr-fr":
+    'fr-fr':
       "L'« Agrégation de table » contrôle la consolidation de plusieurs enregistrements de table en une seule chaîne de texte. Le format de table, le séparateur, le suffixe, le champ de tri et la limite d'aperçu des enregistrements sont personnalisables. L'affichage peut être effectué dans les résultats de requête et les formats de table.",
-    "ru-ru":
-      "«Агрегация таблиц» управляет тем, как несколько записей таблицы объединяются в одну текстовую строку. Формат таблицы, разделитель, суффикс, поле сортировки и ограничение предварительного просмотра записи можно настроить. Его можно отобразить в результатах запроса и в форматах таблиц.",
-    "uk-ua":
-      "«Агрегація таблиць» контролює, як кілька записів таблиці об’єднуються разом в один текстовий рядок. Формат таблиці, роздільник, суфікс, поле сортування та ліміт попереднього перегляду запису можна налаштувати. Він може відображатися в результатах запитів і у форматах таблиць.",
-    "pt-br":
+    'ru-ru':
+      '«Агрегация таблиц» управляет тем, как несколько записей таблицы объединяются в одну текстовую строку. Формат таблицы, разделитель, суффикс, поле сортировки и ограничение предварительного просмотра записи можно настроить. Его можно отобразить в результатах запроса и в форматах таблиц.',
+    'uk-ua':
+      '«Агрегація таблиць» контролює, як кілька записів таблиці об’єднуються разом в один текстовий рядок. Формат таблиці, роздільник, суфікс, поле сортування та ліміт попереднього перегляду запису можна налаштувати. Він може відображатися в результатах запитів і у форматах таблиць.',
+    'pt-br':
       'A "Agregação de Tabelas" controla como vários registros de tabelas são consolidados em uma única sequência de texto. O formato da tabela, o separador, o sufixo, o campo de classificação e o limite de visualização de registros são personalizáveis. Ele pode ser exibido nos resultados da consulta e nos formatos de tabela.',
   },
   formattedResource: {
-    "en-us": "Formatted Resource",
-    "de-ch": "Formatierte Ressource",
-    "es-es": "Recurso formateado",
-    "fr-fr": "Ressource formatée",
-    "ru-ru": "Форматированный ресурс",
-    "uk-ua": "Відформатований ресурс",
-    "pt-br": "Recurso formatado",
+    'en-us': 'Formatted Resource',
+    'de-ch': 'Formatierte Ressource',
+    'es-es': 'Recurso formateado',
+    'fr-fr': 'Ressource formatée',
+    'ru-ru': 'Форматированный ресурс',
+    'uk-ua': 'Відформатований ресурс',
+    'pt-br': 'Recurso formatado',
   },
   availableFormatters: {
-    "en-us": "Available Table Formats",
-    "de-ch": "Verfügbare Tabellenformate",
-    "es-es": "Formatos de tabla disponibles",
-    "fr-fr": "Formats de tableau disponibles",
-    "ru-ru": "Доступные форматы таблиц",
-    "uk-ua": "Доступні формати таблиць",
-    "pt-br": "Formatos de tabela disponíveis",
+    'en-us': 'Available Table Formats',
+    'de-ch': 'Verfügbare Tabellenformate',
+    'es-es': 'Formatos de tabla disponibles',
+    'fr-fr': 'Formats de tableau disponibles',
+    'ru-ru': 'Доступные форматы таблиц',
+    'uk-ua': 'Доступні формати таблиць',
+    'pt-br': 'Formatos de tabela disponíveis',
   },
   availableAggregators: {
-    "en-us": "Available Table Aggregations",
-    "de-ch": "Verfügbare Tabellenaggregationen",
-    "es-es": "Agregaciones de tablas disponibles",
-    "fr-fr": "Agrégations de tables disponibles",
-    "ru-ru": "Доступные агрегаты таблиц",
-    "uk-ua": "Доступні агрегації таблиць",
-    "pt-br": "Agregações de tabelas disponíveis",
+    'en-us': 'Available Table Aggregations',
+    'de-ch': 'Verfügbare Tabellenaggregationen',
+    'es-es': 'Agregaciones de tablas disponibles',
+    'fr-fr': 'Agrégations de tables disponibles',
+    'ru-ru': 'Доступные агрегаты таблиц',
+    'uk-ua': 'Доступні агрегації таблиць',
+    'pt-br': 'Agregações de tabelas disponíveis',
   },
   availableWebLink: {
-    "en-us": "Available Web Links",
-    "de-ch": "Verfügbare Weblinks",
-    "es-es": "Enlaces web disponibles",
-    "fr-fr": "Liens Web disponibles",
-    "ru-ru": "Доступные веб-ссылки",
-    "uk-ua": "Доступні веб-посилання",
-    "pt-br": "Links da Web disponíveis",
+    'en-us': 'Available Web Links',
+    'de-ch': 'Verfügbare Weblinks',
+    'es-es': 'Enlaces web disponibles',
+    'fr-fr': 'Liens Web disponibles',
+    'ru-ru': 'Доступные веб-ссылки',
+    'uk-ua': 'Доступні веб-посилання',
+    'pt-br': 'Links da Web disponíveis',
   },
   availableFieldFormatters: {
-    "en-us": "Available Field Formatters",
-    "de-ch": "Verfügbare Feldformatierer",
-    "es-es": "Formateadores de campo disponibles",
-    "fr-fr": "Formateurs de champs disponibles",
-    "ru-ru": "Доступные форматеры полей",
-    "uk-ua": "Доступні форматувальники полів",
-    "pt-br": "",
+    'en-us': 'Available Field Formatters',
+    'de-ch': 'Verfügbare Feldformatierer',
+    'es-es': 'Formateadores de campo disponibles',
+    'fr-fr': 'Formateurs de champs disponibles',
+    'ru-ru': 'Доступные форматеры полей',
+    'uk-ua': 'Доступні форматувальники полів',
+    'pt-br': '',
   },
   selectDefaultFormatter: {
-    "en-us": "Please designate one of the formatters as default",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Будь ласка, призначте один із форматувальників як стандартний",
+    'en-us': 'Please designate one of the formatters as default',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Будь ласка, призначте один із форматувальників як стандартний',
   },
   duplicateFormatters: {
-    "en-us": "Record formatter names must be unique",
-    "de-ch": "Datensatzformatierernamen müssen eindeutig sein",
-    "es-es": "Los nombres de los formateadores de registros deben ser únicos",
-    "fr-fr": "Les noms des formateurs d'enregistrement doivent être uniques",
-    "ru-ru": "Имена средств форматирования записей должны быть уникальными.",
-    "uk-ua": "Імена форматування записів мають бути унікальними",
-    "pt-br": "Os nomes dos formatadores de registro devem ser exclusivos",
+    'en-us': 'Record formatter names must be unique',
+    'de-ch': 'Datensatzformatierernamen müssen eindeutig sein',
+    'es-es': 'Los nombres de los formateadores de registros deben ser únicos',
+    'fr-fr': "Les noms des formateurs d'enregistrement doivent être uniques",
+    'ru-ru': 'Имена средств форматирования записей должны быть уникальными.',
+    'uk-ua': 'Імена форматування записів мають бути унікальними',
+    'pt-br': 'Os nomes dos formatadores de registro devem ser exclusivos',
   },
   dataEntryTables: {
-    "en-us": "Data Entry Tables",
-    "ru-ru": "Таблицы ввода данных",
-    "es-es": "Tablas de entrada de datos",
-    "fr-fr": "Tableaux de saisie de données",
-    "uk-ua": "Таблиці введення даних",
-    "de-ch": "Dateneingabetabellen",
-    "pt-br": "Tabelas de entrada de dados",
+    'en-us': 'Data Entry Tables',
+    'ru-ru': 'Таблицы ввода данных',
+    'es-es': 'Tablas de entrada de datos',
+    'fr-fr': 'Tableaux de saisie de données',
+    'uk-ua': 'Таблиці введення даних',
+    'de-ch': 'Dateneingabetabellen',
+    'pt-br': 'Tabelas de entrada de dados',
   },
   interactionsTables: {
-    "en-us": "Interactions Tables",
-    "ru-ru": "Таблицы взаимодействий",
-    "es-es": "Tablas de interacciones",
-    "fr-fr": "Tables d'interactions",
-    "uk-ua": "Таблиці взаємодій",
-    "de-ch": "Interaktionstabellen",
-    "pt-br": "Tabelas de Interações",
+    'en-us': 'Interactions Tables',
+    'ru-ru': 'Таблицы взаимодействий',
+    'es-es': 'Tablas de interacciones',
+    'fr-fr': "Tables d'interactions",
+    'uk-ua': 'Таблиці взаємодій',
+    'de-ch': 'Interaktionstabellen',
+    'pt-br': 'Tabelas de Interações',
   },
   otherXmlResource: {
-    "en-us": "Other XML Resource",
-    "ru-ru": "Выберите тип ресурса",
-    "es-es": "Otros recursos XML",
-    "fr-fr": "Autre ressource XML",
-    "uk-ua": "Інший XML-ресурс",
-    "de-ch": "Andere XML-Ressource",
-    "pt-br": "Outro recurso XML",
+    'en-us': 'Other XML Resource',
+    'ru-ru': 'Выберите тип ресурса',
+    'es-es': 'Otros recursos XML',
+    'fr-fr': 'Autre ressource XML',
+    'uk-ua': 'Інший XML-ресурс',
+    'de-ch': 'Andere XML-Ressource',
+    'pt-br': 'Outro recurso XML',
   },
   otherJsonResource: {
-    "en-us": "Other JSON Resource",
-    "ru-ru": "Другой ресурс JSON",
-    "es-es": "Otros recursos JSON",
-    "fr-fr": "Autre ressource JSON",
-    "uk-ua": "Інший JSON-ресурс",
-    "de-ch": "Andere JSON-Ressource",
-    "pt-br": "Outro recurso JSON",
+    'en-us': 'Other JSON Resource',
+    'ru-ru': 'Другой ресурс JSON',
+    'es-es': 'Otros recursos JSON',
+    'fr-fr': 'Autre ressource JSON',
+    'uk-ua': 'Інший JSON-ресурс',
+    'de-ch': 'Andere JSON-Ressource',
+    'pt-br': 'Outro recurso JSON',
   },
   otherPropertiesResource: {
-    "en-us": "Other Properties Resource",
-    "ru-ru": "Ресурс «Другие свойства»",
-    "es-es": "Recursos de otras propiedades",
-    "fr-fr": "Autres propriétés",
-    "uk-ua": "Ресурс інших властивостей",
-    "de-ch": "Andere Eigenschaften Ressource",
-    "pt-br": "Outros recursos de propriedades",
+    'en-us': 'Other Properties Resource',
+    'ru-ru': 'Ресурс «Другие свойства»',
+    'es-es': 'Recursos de otras propiedades',
+    'fr-fr': 'Autres propriétés',
+    'uk-ua': 'Ресурс інших властивостей',
+    'de-ch': 'Andere Eigenschaften Ressource',
+    'pt-br': 'Outros recursos de propriedades',
   },
   otherAppResource: {
-    "en-us": "Other Resource",
-    "ru-ru": "Другой ресурс",
-    "es-es": "Otros recursos",
-    "fr-fr": "Autre ressource",
-    "uk-ua": "Інший ресурс",
-    "de-ch": "Andere Ressource",
-    "pt-br": "Outros recursos",
+    'en-us': 'Other Resource',
+    'ru-ru': 'Другой ресурс',
+    'es-es': 'Otros recursos',
+    'fr-fr': 'Autre ressource',
+    'uk-ua': 'Інший ресурс',
+    'de-ch': 'Andere Ressource',
+    'pt-br': 'Outros recursos',
   },
   filters: {
-    "en-us": "Filters",
-    "ru-ru": "Фильтры",
-    "es-es": "Filtros",
-    "fr-fr": "Filtres",
-    "uk-ua": "Фільтри",
-    "de-ch": "Filter",
-    "pt-br": "Filtros",
+    'en-us': 'Filters',
+    'ru-ru': 'Фильтры',
+    'es-es': 'Filtros',
+    'fr-fr': 'Filtres',
+    'uk-ua': 'Фільтри',
+    'de-ch': 'Filter',
+    'pt-br': 'Filtros',
   },
   custom: {
-    "en-us": "Custom",
-    "ru-ru": "Обычай",
-    "es-es": "Costumbre",
-    "fr-fr": "Coutume",
-    "uk-ua": "Спеціальні",
-    "de-ch": "Individuell",
-    "pt-br": "Personalizado",
+    'en-us': 'Custom',
+    'ru-ru': 'Обычай',
+    'es-es': 'Costumbre',
+    'fr-fr': 'Coutume',
+    'uk-ua': 'Спеціальні',
+    'de-ch': 'Individuell',
+    'pt-br': 'Personalizado',
   },
   leafletLayers: {
-    "en-us": "Leaflet Layers",
-    "ru-ru": "Слои листовок",
-    "es-es": "Capas de los folletos",
-    "fr-fr": "Couches de folioles",
-    "uk-ua": "Шари листівок",
-    "de-ch": "Leaflet-Layer",
-    "pt-br": "Camadas de folhetos",
+    'en-us': 'Leaflet Layers',
+    'ru-ru': 'Слои листовок',
+    'es-es': 'Capas de los folletos',
+    'fr-fr': 'Couches de folioles',
+    'uk-ua': 'Шари листівок',
+    'de-ch': 'Leaflet-Layer',
+    'pt-br': 'Camadas de folhetos',
   },
   textEditor: {
-    "en-us": "Text Editor",
-    "ru-ru": "Текстовый редактор",
-    "es-es": "Editor de texto",
-    "fr-fr": "Éditeur de texte",
-    "uk-ua": "Текстовий редактор",
-    "de-ch": "Text-Editor",
-    "pt-br": "Editor de texto",
+    'en-us': 'Text Editor',
+    'ru-ru': 'Текстовый редактор',
+    'es-es': 'Editor de texto',
+    'fr-fr': 'Éditeur de texte',
+    'uk-ua': 'Текстовий редактор',
+    'de-ch': 'Text-Editor',
+    'pt-br': 'Editor de texto',
   },
   xmlEditor: {
-    "en-us": "XML Editor",
-    "ru-ru": "XML-редактор",
-    "es-es": "Editor XML",
-    "fr-fr": "Éditeur XML",
-    "uk-ua": "Редактор XML",
-    "de-ch": "XML-Editor",
-    "pt-br": "Editor XML",
+    'en-us': 'XML Editor',
+    'ru-ru': 'XML-редактор',
+    'es-es': 'Editor XML',
+    'fr-fr': 'Éditeur XML',
+    'uk-ua': 'Редактор XML',
+    'de-ch': 'XML-Editor',
+    'pt-br': 'Editor XML',
   },
   jsonEditor: {
-    "en-us": "JSON Editor",
-    "ru-ru": "Редактор JSON",
-    "es-es": "Editor JSON",
-    "fr-fr": "Éditeur JSON",
-    "uk-ua": "Редактор JSON",
-    "de-ch": "JSON-Editor",
-    "pt-br": "Editor JSON",
+    'en-us': 'JSON Editor',
+    'ru-ru': 'Редактор JSON',
+    'es-es': 'Editor JSON',
+    'fr-fr': 'Éditeur JSON',
+    'uk-ua': 'Редактор JSON',
+    'de-ch': 'JSON-Editor',
+    'pt-br': 'Editor JSON',
   },
   visualEditor: {
-    "en-us": "Visual Editor",
-    "ru-ru": "Визуальный редактор",
-    "es-es": "Editor visual",
-    "fr-fr": "Éditeur visuel",
-    "uk-ua": "Візуальний редактор",
-    "de-ch": "Visueller Editor",
-    "pt-br": "Editor Visual",
+    'en-us': 'Visual Editor',
+    'ru-ru': 'Визуальный редактор',
+    'es-es': 'Editor visual',
+    'fr-fr': 'Éditeur visuel',
+    'uk-ua': 'Візуальний редактор',
+    'de-ch': 'Visueller Editor',
+    'pt-br': 'Editor Visual',
   },
   selectResourceType: {
-    "en-us": "Select Resource Type",
-    "ru-ru": "Выберите тип ресурса",
-    "es-es": "Seleccionar el tipo de recurso",
-    "fr-fr": "Sélectionner le type de ressource",
-    "uk-ua": "Виберіть тип ресурсу",
-    "de-ch": "Ressourcentyp auswählen",
-    "pt-br": "Selecione o tipo de recurso",
+    'en-us': 'Select Resource Type',
+    'ru-ru': 'Выберите тип ресурса',
+    'es-es': 'Seleccionar el tipo de recurso',
+    'fr-fr': 'Sélectionner le type de ressource',
+    'uk-ua': 'Виберіть тип ресурсу',
+    'de-ch': 'Ressourcentyp auswählen',
+    'pt-br': 'Selecione o tipo de recurso',
   },
   globalPreferences: {
-    "en-us": "Global Preferences",
-    "ru-ru": "Глобальные настройки",
-    "es-es": "Preferencias globales",
-    "fr-fr": "Préférences globales",
-    "uk-ua": "Глобальні налаштування",
-    "de-ch": "Globale Einstellungen",
-    "pt-br": "Preferências globais",
+    'en-us': 'Global Preferences',
+    'ru-ru': 'Глобальные настройки',
+    'es-es': 'Preferencias globales',
+    'fr-fr': 'Préférences globales',
+    'uk-ua': 'Глобальні налаштування',
+    'de-ch': 'Globale Einstellungen',
+    'pt-br': 'Preferências globais',
   },
   remotePreferences: {
-    "en-us": "Remote Preferences",
-    "ru-ru": "Удаленные настройки",
-    "es-es": "Preferencias remotas",
-    "fr-fr": "Préférences à distance",
-    "uk-ua": "Віддалені параметри",
-    "de-ch": "Remote-Einstellungen",
-    "pt-br": "Preferências Remotas",
+    'en-us': 'Remote Preferences',
+    'ru-ru': 'Удаленные настройки',
+    'es-es': 'Preferencias remotas',
+    'fr-fr': 'Préférences à distance',
+    'uk-ua': 'Віддалені параметри',
+    'de-ch': 'Remote-Einstellungen',
+    'pt-br': 'Preferências Remotas',
   },
   failedParsingXml: {
-    "en-us": "Failed to parse XML",
-    "ru-ru": "Не удалось разобрать XML",
-    "de-ch": "XML konnte nicht analysiert werden",
-    "es-es": "No se pudo analizar XML",
-    "fr-fr": "Échec de l'analyse XML",
-    "uk-ua": "Не вдалося проаналізувати XML",
-    "pt-br": "Falha ao analisar XML",
+    'en-us': 'Failed to parse XML',
+    'ru-ru': 'Не удалось разобрать XML',
+    'de-ch': 'XML konnte nicht analysiert werden',
+    'es-es': 'No se pudo analizar XML',
+    'fr-fr': "Échec de l'analyse XML",
+    'uk-ua': 'Не вдалося проаналізувати XML',
+    'pt-br': 'Falha ao analisar XML',
   },
   name: {
-    "en-us": "Name",
-    "ru-ru": "Имя",
-    "de-ch": "Name",
-    "es-es": "Nombre",
-    "fr-fr": "Nom",
-    "uk-ua": "Ім'я",
-    "pt-br": "Nome",
+    'en-us': 'Name',
+    'ru-ru': 'Имя',
+    'de-ch': 'Name',
+    'es-es': 'Nombre',
+    'fr-fr': 'Nom',
+    'uk-ua': "Ім'я",
+    'pt-br': 'Nome',
   },
   title: {
-    "en-us": "Title",
-    "ru-ru": "Заголовок",
-    "de-ch": "Titel",
-    "es-es": "Título",
-    "fr-fr": "Titre",
-    "uk-ua": "Назва",
-    "pt-br": "Título",
+    'en-us': 'Title',
+    'ru-ru': 'Заголовок',
+    'de-ch': 'Titel',
+    'es-es': 'Título',
+    'fr-fr': 'Titre',
+    'uk-ua': 'Назва',
+    'pt-br': 'Título',
   },
   default: {
-    "en-us": "Default",
-    "ru-ru": "По умолчанию",
-    "de-ch": "Standard",
-    "es-es": "Por defecto",
-    "fr-fr": "Défaut",
-    "uk-ua": "За замовчуванням",
-    "pt-br": "Padrão",
+    'en-us': 'Default',
+    'ru-ru': 'По умолчанию',
+    'de-ch': 'Standard',
+    'es-es': 'Por defecto',
+    'fr-fr': 'Défaut',
+    'uk-ua': 'За замовчуванням',
+    'pt-br': 'Padrão',
   },
   separator: {
-    "en-us": "Separator",
-    "ru-ru": "Разделитель",
-    "de-ch": "Separator",
-    "es-es": "Separador",
-    "fr-fr": "Séparateur",
-    "uk-ua": "Роздільник",
-    "pt-br": "Separador",
+    'en-us': 'Separator',
+    'ru-ru': 'Разделитель',
+    'de-ch': 'Separator',
+    'es-es': 'Separador',
+    'fr-fr': 'Séparateur',
+    'uk-ua': 'Роздільник',
+    'pt-br': 'Separador',
   },
   suffix: {
-    "en-us": "Suffix",
-    "ru-ru": "Суффикс",
-    "de-ch": "Suffix",
-    "es-es": "Sufijo",
-    "fr-fr": "Suffixe",
-    "uk-ua": "Суфікс",
-    "pt-br": "Sufixo",
+    'en-us': 'Suffix',
+    'ru-ru': 'Суффикс',
+    'de-ch': 'Suffix',
+    'es-es': 'Sufijo',
+    'fr-fr': 'Suffixe',
+    'uk-ua': 'Суфікс',
+    'pt-br': 'Sufixo',
   },
   limit: {
-    "en-us": "Limit",
-    "ru-ru": "Лимит",
-    "de-ch": "Limit",
-    "es-es": "Límite",
-    "fr-fr": "Limite",
-    "uk-ua": "Ліміт",
-    "pt-br": "Limite",
+    'en-us': 'Limit',
+    'ru-ru': 'Лимит',
+    'de-ch': 'Limit',
+    'es-es': 'Límite',
+    'fr-fr': 'Limite',
+    'uk-ua': 'Ліміт',
+    'pt-br': 'Limite',
   },
   defaultInline: {
-    "en-us": "(default)",
-    "de-ch": "(Standard)",
-    "es-es": "(por defecto)",
-    "fr-fr": "(défaut)",
-    "ru-ru": "(по умолчанию)",
-    "uk-ua": "(за умовчанням)",
-    "pt-br": "(padrão)",
+    'en-us': '(default)',
+    'de-ch': '(Standard)',
+    'es-es': '(por defecto)',
+    'fr-fr': '(défaut)',
+    'ru-ru': '(по умолчанию)',
+    'uk-ua': '(за умовчанням)',
+    'pt-br': '(padrão)',
   },
   sortField: {
-    "en-us": "Sort Field",
-    "ru-ru": "Сортировать поле",
-    "de-ch": "Sortierfeld",
-    "es-es": "Campo de ordenación",
-    "fr-fr": "Champ de tri",
-    "uk-ua": "Поле сортування",
-    "pt-br": "Campo de classificação",
+    'en-us': 'Sort Field',
+    'ru-ru': 'Сортировать поле',
+    'de-ch': 'Sortierfeld',
+    'es-es': 'Campo de ordenación',
+    'fr-fr': 'Champ de tri',
+    'uk-ua': 'Поле сортування',
+    'pt-br': 'Campo de classificação',
   },
   preview: {
-    "en-us": "Preview",
-    "ru-ru": "Предварительный просмотр",
-    "de-ch": "Vorschau",
-    "es-es": "Avance",
-    "fr-fr": "Aperçu",
-    "uk-ua": "Попередній перегляд",
-    "pt-br": "Pré-visualização",
+    'en-us': 'Preview',
+    'ru-ru': 'Предварительный просмотр',
+    'de-ch': 'Vorschau',
+    'es-es': 'Avance',
+    'fr-fr': 'Aperçu',
+    'uk-ua': 'Попередній перегляд',
+    'pt-br': 'Pré-visualização',
   },
   previewExplainer: {
-    "en-us": "Search your collection records to preview the record formatter",
-    "de-ch":
-      "Durchsuchen Sie Ihre Sammlungsdatensätze, um eine Vorschau des Datensatzformatierers anzuzeigen",
-    "es-es":
-      "Busque en sus registros de colección para obtener una vista previa del formateador de registros",
-    "fr-fr":
+    'en-us': 'Search your collection records to preview the record formatter',
+    'de-ch':
+      'Durchsuchen Sie Ihre Sammlungsdatensätze, um eine Vorschau des Datensatzformatierers anzuzeigen',
+    'es-es':
+      'Busque en sus registros de colección para obtener una vista previa del formateador de registros',
+    'fr-fr':
       "Recherchez dans vos enregistrements de collection pour prévisualiser le formateur d'enregistrements",
-    "ru-ru":
-      "Выполните поиск в записях своей коллекции, чтобы просмотреть средство форматирования записей.",
-    "uk-ua":
-      "Виконайте пошук у своїх записах колекції, щоб переглянути інструмент форматування записів",
-    "pt-br":
-      "Pesquise os registros da sua coleção para visualizar o formatador de registros",
+    'ru-ru':
+      'Выполните поиск в записях своей коллекции, чтобы просмотреть средство форматирования записей.',
+    'uk-ua':
+      'Виконайте пошук у своїх записах колекції, щоб переглянути інструмент форматування записів',
+    'pt-br':
+      'Pesquise os registros da sua coleção para visualizar o formatador de registros',
   },
   editorNotAvailable: {
-    "en-us": "Visual editor is not available for this resource",
-    "de-ch": "Für diese Ressource ist kein visueller Editor verfügbar",
-    "es-es": "El editor visual no está disponible para este recurso",
-    "fr-fr": "L'éditeur visuel n'est pas disponible pour cette ressource",
-    "ru-ru": "Визуальный редактор недоступен для этого ресурса.",
-    "uk-ua": "Візуальний редактор недоступний для цього ресурсу",
-    "pt-br": "O editor visual não está disponível para este recurso",
+    'en-us': 'Visual editor is not available for this resource',
+    'de-ch': 'Für diese Ressource ist kein visueller Editor verfügbar',
+    'es-es': 'El editor visual no está disponible para este recurso',
+    'fr-fr': "L'éditeur visuel n'est pas disponible pour cette ressource",
+    'ru-ru': 'Визуальный редактор недоступен для этого ресурса.',
+    'uk-ua': 'Візуальний редактор недоступний для цього ресурсу',
+    'pt-br': 'O editor visual não está disponível para este recurso',
   },
   definition: {
-    "en-us": "Definition",
-    "de-ch": "Definition",
-    "es-es": "Definición",
-    "fr-fr": "Définition",
-    "ru-ru": "Определение",
-    "uk-ua": "Визначення",
-    "pt-br": "Definição",
+    'en-us': 'Definition',
+    'de-ch': 'Definition',
+    'es-es': 'Definición',
+    'fr-fr': 'Définition',
+    'ru-ru': 'Определение',
+    'uk-ua': 'Визначення',
+    'pt-br': 'Definição',
   },
   addDefinition: {
-    "en-us": "Add definition",
-    "de-ch": "Definition hinzufügen",
-    "es-es": "Añadir definición",
-    "fr-fr": "Ajouter une définition",
-    "ru-ru": "Добавить определение",
-    "uk-ua": "Додайте визначення",
-    "pt-br": "Adicionar definição",
+    'en-us': 'Add definition',
+    'de-ch': 'Definition hinzufügen',
+    'es-es': 'Añadir definición',
+    'fr-fr': 'Ajouter une définition',
+    'ru-ru': 'Добавить определение',
+    'uk-ua': 'Додайте визначення',
+    'pt-br': 'Adicionar definição',
   },
   deleteDefinition: {
-    "en-us": "Delete definition",
-    "de-ch": "Definition löschen",
-    "es-es": "Eliminar definición",
-    "fr-fr": "Supprimer la définition",
-    "ru-ru": "Удалить определение",
-    "uk-ua": "Видалити визначення",
-    "pt-br": "Excluir definição",
+    'en-us': 'Delete definition',
+    'de-ch': 'Definition löschen',
+    'es-es': 'Eliminar definición',
+    'fr-fr': 'Supprimer la définition',
+    'ru-ru': 'Удалить определение',
+    'uk-ua': 'Видалити визначення',
+    'pt-br': 'Excluir definição',
   },
   urlPart: {
-    "en-us": "URL part",
-    "de-ch": "URL-Teil",
-    "es-es": "Parte de la URL",
-    "fr-fr": "partie URL",
-    "ru-ru": "Другой ресурс JSON",
-    "uk-ua": "URL-адреса",
-    "pt-br": "Parte da URL",
+    'en-us': 'URL part',
+    'de-ch': 'URL-Teil',
+    'es-es': 'Parte de la URL',
+    'fr-fr': 'partie URL',
+    'ru-ru': 'Другой ресурс JSON',
+    'uk-ua': 'URL-адреса',
+    'pt-br': 'Parte da URL',
   },
   addField: {
-    "en-us": "Add field",
-    "de-ch": "Feld hinzufügen",
-    "es-es": "Agregar campo",
-    "fr-fr": "Ajouter un champ",
-    "ru-ru": "Добавить поле",
-    "uk-ua": "Додати поле",
-    "pt-br": "Adicionar campo",
+    'en-us': 'Add field',
+    'de-ch': 'Feld hinzufügen',
+    'es-es': 'Agregar campo',
+    'fr-fr': 'Ajouter un champ',
+    'ru-ru': 'Добавить поле',
+    'uk-ua': 'Додати поле',
+    'pt-br': 'Adicionar campo',
   },
   thisField: {
-    "en-us": "This field",
-    "de-ch": "Dieses Feld",
-    "es-es": "Este campo",
-    "fr-fr": "Ce champ",
-    "ru-ru": "Это поле",
-    "uk-ua": "Це поле",
-    "pt-br": "Este campo",
+    'en-us': 'This field',
+    'de-ch': 'Dieses Feld',
+    'es-es': 'Este campo',
+    'fr-fr': 'Ce champ',
+    'ru-ru': 'Это поле',
+    'uk-ua': 'Це поле',
+    'pt-br': 'Este campo',
   },
   selectTableFirst: {
-    "en-us": "Select table first",
-    "de-ch": "Wählen Sie zuerst die Tabelle aus",
-    "es-es": "Seleccione la tabla primero",
-    "fr-fr": "Sélectionnez d'abord la table",
-    "ru-ru": "Сначала выберите таблицу",
-    "uk-ua": "Спочатку виберіть таблицю",
-    "pt-br": "Selecione a tabela primeiro",
+    'en-us': 'Select table first',
+    'de-ch': 'Wählen Sie zuerst die Tabelle aus',
+    'es-es': 'Seleccione la tabla primero',
+    'fr-fr': "Sélectionnez d'abord la table",
+    'ru-ru': 'Сначала выберите таблицу',
+    'uk-ua': 'Спочатку виберіть таблицю',
+    'pt-br': 'Selecione a tabela primeiro',
   },
   conditionFieldValue: {
-    "en-us": "Condition Field Value",
-    "de-ch": "Bedingungsfeldwert",
-    "es-es": "Valor del campo de condición",
-    "fr-fr": "Valeur du champ de condition",
-    "ru-ru": "Значение поля условия",
-    "uk-ua": "Умова Значення поля",
-    "pt-br": "Valor do campo de condição",
+    'en-us': 'Condition Field Value',
+    'de-ch': 'Bedingungsfeldwert',
+    'es-es': 'Valor del campo de condición',
+    'fr-fr': 'Valeur du champ de condition',
+    'ru-ru': 'Значение поля условия',
+    'uk-ua': 'Умова Значення поля',
+    'pt-br': 'Valor do campo de condição',
   },
   conditionDescription: {
-    "en-us":
-      "This format will be used only if the condition field value equals this condition and is not null.",
-    "de-ch":
-      "Dieses Format wird nur verwendet, wenn der Wert des Bedingungsfelds dieser Bedingung entspricht und nicht null ist.",
-    "es-es":
-      "Este formato se utilizará solo si el valor del campo de condición es igual a esta condición y no es nulo.",
-    "fr-fr":
+    'en-us':
+      'This format will be used only if the condition field value equals this condition and is not null.',
+    'de-ch':
+      'Dieses Format wird nur verwendet, wenn der Wert des Bedingungsfelds dieser Bedingung entspricht und nicht null ist.',
+    'es-es':
+      'Este formato se utilizará solo si el valor del campo de condición es igual a esta condición y no es nulo.',
+    'fr-fr':
       "Ce format sera utilisé uniquement si la valeur du champ de condition est égale à cette condition et n'est pas nulle.",
-    "ru-ru":
-      "Этот формат будет использоваться только в том случае, если значение поля условия равно этому условию и не равно нулю.",
-    "uk-ua":
-      "Цей формат використовуватиметься, лише якщо значення поля умови дорівнює цій умові й не є нульовим.",
-    "pt-br":
-      "Este formato será usado somente se o valor do campo de condição for igual a esta condição e não for nulo.",
+    'ru-ru':
+      'Этот формат будет использоваться только в том случае, если значение поля условия равно этому условию и не равно нулю.',
+    'uk-ua':
+      'Цей формат використовуватиметься, лише якщо значення поля умови дорівнює цій умові й не є нульовим.',
+    'pt-br':
+      'Este formato será usado somente se o valor do campo de condição for igual a esta condição e não for nulo.',
   },
   wrongScopeWarning: {
-    "en-us":
+    'en-us':
       "This resource belongs to a different collection/discipline than the one you are currently in. It's recommended to switch collection before editing this resource",
-    "de-ch":
-      "Diese Ressource gehört zu einer anderen Sammlung/Disziplin als der, in der Sie sich gerade befinden. Es wird empfohlen, die Sammlung zu wechseln, bevor Sie diese Ressource bearbeiten.",
-    "es-es":
-      "Este recurso pertenece a una colección/disciplina diferente a la que estás actualmente. Se recomienda cambiar de colección antes de editar este recurso.",
-    "fr-fr":
-      "Cette ressource appartient à une collection/discipline différente de celle dans laquelle vous vous trouvez actuellement. Il est recommandé de changer de collection avant de modifier cette ressource.",
-    "ru-ru":
-      "Этот ресурс принадлежит к другой коллекции/дисциплине, отличной от той, в которой вы сейчас находитесь. Перед редактированием этого ресурса рекомендуется сменить коллекцию.",
-    "uk-ua":
-      "Цей ресурс належить до іншої колекції/дисципліни, ніж та, у якій ви зараз перебуваєте. Рекомендовано змінити колекцію перед редагуванням цього ресурсу",
-    "pt-br":
-      "Este recurso pertence a uma coleção/disciplina diferente daquela em que você está atualmente. É recomendável trocar de coleção antes de editar este recurso.",
+    'de-ch':
+      'Diese Ressource gehört zu einer anderen Sammlung/Disziplin als der, in der Sie sich gerade befinden. Es wird empfohlen, die Sammlung zu wechseln, bevor Sie diese Ressource bearbeiten.',
+    'es-es':
+      'Este recurso pertenece a una colección/disciplina diferente a la que estás actualmente. Se recomienda cambiar de colección antes de editar este recurso.',
+    'fr-fr':
+      'Cette ressource appartient à une collection/discipline différente de celle dans laquelle vous vous trouvez actuellement. Il est recommandé de changer de collection avant de modifier cette ressource.',
+    'ru-ru':
+      'Этот ресурс принадлежит к другой коллекции/дисциплине, отличной от той, в которой вы сейчас находитесь. Перед редактированием этого ресурса рекомендуется сменить коллекцию.',
+    'uk-ua':
+      'Цей ресурс належить до іншої колекції/дисципліни, ніж та, у якій ви зараз перебуваєте. Рекомендовано змінити колекцію перед редагуванням цього ресурсу',
+    'pt-br':
+      'Este recurso pertence a uma coleção/disciplina diferente daquela em que você está atualmente. É recomendável trocar de coleção antes de editar este recurso.',
   },
   thisFieldName: {
-    "en-us": "This field name (for preview purposes only)",
-    "de-ch": "Dieser Feldname (nur für Vorschauzwecke)",
-    "es-es": "Este nombre de campo (solo para fines de vista previa)",
-    "fr-fr": "Ce nom de champ (à des fins d'aperçu uniquement)",
-    "ru-ru": "Имя этого поля (только для целей предварительного просмотра)",
-    "uk-ua": "Назва цього поля (лише для попереднього перегляду)",
-    "pt-br": "Este nome de campo (apenas para fins de visualização)",
+    'en-us': 'This field name (for preview purposes only)',
+    'de-ch': 'Dieser Feldname (nur für Vorschauzwecke)',
+    'es-es': 'Este nombre de campo (solo para fines de vista previa)',
+    'fr-fr': "Ce nom de champ (à des fins d'aperçu uniquement)",
+    'ru-ru': 'Имя этого поля (только для целей предварительного просмотра)',
+    'uk-ua': 'Назва цього поля (лише для попереднього перегляду)',
+    'pt-br': 'Este nome de campo (apenas para fins de visualização)',
   },
   publishEveryDays: {
-    "en-us": "Publish every N days",
-    "de-ch": "Alle N Tage veröffentlichen",
-    "es-es": "Publicar cada N días",
-    "fr-fr": "Publier tous les N jours",
-    "ru-ru": "Публиковать каждые N дней",
-    "uk-ua": "Публікуйте кожні N днів",
-    "pt-br": "Publicar a cada N dias",
+    'en-us': 'Publish every N days',
+    'de-ch': 'Alle N Tage veröffentlichen',
+    'es-es': 'Publicar cada N días',
+    'fr-fr': 'Publier tous les N jours',
+    'ru-ru': 'Публиковать каждые N дней',
+    'uk-ua': 'Публікуйте кожні N днів',
+    'pt-br': 'Publicar a cada N dias',
   },
   publish: {
-    "en-us": "Publish",
-    "de-ch": "Veröffentlichen",
-    "es-es": "Publicar",
-    "fr-fr": "Publier",
-    "ru-ru": "Публиковать",
-    "uk-ua": "Опублікувати",
-    "pt-br": "Publicar",
+    'en-us': 'Publish',
+    'de-ch': 'Veröffentlichen',
+    'es-es': 'Publicar',
+    'fr-fr': 'Publier',
+    'ru-ru': 'Публиковать',
+    'uk-ua': 'Опублікувати',
+    'pt-br': 'Publicar',
   },
   fileName: {
-    "en-us": "File name",
-    "de-ch": "Dateiname",
-    "es-es": "Nombre del archivo",
-    "fr-fr": "Nom de fichier",
-    "ru-ru": "Сначала выберите таблицу",
-    "uk-ua": "Ім'я файлу",
-    "pt-br": "Nome do arquivo",
+    'en-us': 'File name',
+    'de-ch': 'Dateiname',
+    'es-es': 'Nombre del archivo',
+    'fr-fr': 'Nom de fichier',
+    'ru-ru': 'Сначала выберите таблицу',
+    'uk-ua': "Ім'я файлу",
+    'pt-br': 'Nome do arquivo',
   },
   runAsUser: {
-    "en-us": "Run as user",
-    "de-ch": "Als Benutzer ausführen",
-    "es-es": "Ejecutar como usuario",
-    "fr-fr": "Exécuter en tant qu'utilisateur",
-    "ru-ru": "Запуск от имени пользователя",
-    "uk-ua": "Запуск від імені користувача",
-    "pt-br": "Executar como usuário",
+    'en-us': 'Run as user',
+    'de-ch': 'Als Benutzer ausführen',
+    'es-es': 'Ejecutar como usuario',
+    'fr-fr': "Exécuter en tant qu'utilisateur",
+    'ru-ru': 'Запуск от имени пользователя',
+    'uk-ua': 'Запуск від імені користувача',
+    'pt-br': 'Executar como usuário',
   },
   notifyUser: {
-    "en-us": "Send completion notification to user",
-    "de-ch": "Abschlussbenachrichtigung an Benutzer senden",
-    "es-es": "Enviar notificación de finalización al usuario",
-    "fr-fr": "Envoyer une notification d'achèvement à l'utilisateur",
-    "ru-ru": "Отправить уведомление о завершении пользователю",
-    "uk-ua": "Надіслати сповіщення про завершення користувачеві",
-    "pt-br": "Enviar notificação de conclusão ao usuário",
+    'en-us': 'Send completion notification to user',
+    'de-ch': 'Abschlussbenachrichtigung an Benutzer senden',
+    'es-es': 'Enviar notificación de finalización al usuario',
+    'fr-fr': "Envoyer une notification d'achèvement à l'utilisateur",
+    'ru-ru': 'Отправить уведомление о завершении пользователю',
+    'uk-ua': 'Надіслати сповіщення про завершення користувачеві',
+    'pt-br': 'Enviar notificação de conclusão ao usuário',
   },
   runInCollection: {
-    "en-us": "Run in collection",
-    "de-ch": "In der Sammlung ausführen",
-    "es-es": "Correr en colección",
-    "fr-fr": "Exécution en collection",
-    "ru-ru": "Запустить в коллекцию",
-    "uk-ua": "Запустити в колекції",
-    "pt-br": "Executar na coleção",
+    'en-us': 'Run in collection',
+    'de-ch': 'In der Sammlung ausführen',
+    'es-es': 'Correr en colección',
+    'fr-fr': 'Exécution en collection',
+    'ru-ru': 'Запустить в коллекцию',
+    'uk-ua': 'Запустити в колекції',
+    'pt-br': 'Executar na coleção',
   },
   createNewForm: {
-    "en-us": "Create a new view definition",
-    "de-ch": "Erstellen einer neuen Ansichtsdefinition",
-    "es-es": "Crear una nueva definición de vista",
-    "fr-fr": "Créer une nouvelle définition de vue",
-    "ru-ru": "Создайте новое определение представления",
-    "uk-ua": "Створіть нове визначення подання",
-    "pt-br": "Criar uma nova definição de visualização",
+    'en-us': 'Create a new view definition',
+    'de-ch': 'Erstellen einer neuen Ansichtsdefinition',
+    'es-es': 'Crear una nueva definición de vista',
+    'fr-fr': 'Créer une nouvelle définition de vue',
+    'ru-ru': 'Создайте новое определение представления',
+    'uk-ua': 'Створіть нове визначення подання',
+    'pt-br': 'Criar uma nova definição de visualização',
   },
   copyFromExistingForm: {
-    "en-us": "Copy existing view definition",
-    "de-ch": "Vorhandene Ansichtsdefinition kopieren",
-    "es-es": "Copiar la definición de vista existente",
-    "fr-fr": "Copier la définition de vue existante",
-    "ru-ru": "Копировать существующее определение представления",
-    "uk-ua": "Копіювати існуюче визначення перегляду",
-    "pt-br": "Copiar definição de visualização existente",
+    'en-us': 'Copy existing view definition',
+    'de-ch': 'Vorhandene Ansichtsdefinition kopieren',
+    'es-es': 'Copiar la definición de vista existente',
+    'fr-fr': 'Copier la définition de vue existante',
+    'ru-ru': 'Копировать существующее определение представления',
+    'uk-ua': 'Копіювати існуюче визначення перегляду',
+    'pt-br': 'Copiar definição de visualização existente',
   },
   copyDefaultForm: {
-    "en-us": "Copy default view definition",
-    "de-ch": "Standardansichtsdefinition kopieren",
-    "es-es": "Copiar la definición de vista predeterminada",
-    "fr-fr": "Copier la définition de la vue par défaut",
-    "ru-ru": "Форматеры записи",
-    "uk-ua": "Формати записів",
-    "pt-br": "Copiar definição de visualização padrão",
+    'en-us': 'Copy default view definition',
+    'de-ch': 'Standardansichtsdefinition kopieren',
+    'es-es': 'Copiar la definición de vista predeterminada',
+    'fr-fr': 'Copier la définition de la vue par défaut',
+    'ru-ru': 'Форматеры записи',
+    'uk-ua': 'Формати записів',
+    'pt-br': 'Copiar definição de visualização padrão',
   },
   copyDefaultForms: {
-    "en-us": "Copy default forms",
-    "de-ch": "Standardformulare kopieren",
-    "es-es": "Copiar formularios predeterminados",
-    "fr-fr": "Copier les formulaires par défaut",
-    "ru-ru": "Копировать формы по умолчанию",
-    "uk-ua": "Копіювати стандартні форми",
-    "pt-br": "Copiar formulários padrão",
+    'en-us': 'Copy default forms',
+    'de-ch': 'Standardformulare kopieren',
+    'es-es': 'Copiar formularios predeterminados',
+    'fr-fr': 'Copier les formulaires par défaut',
+    'ru-ru': 'Копировать формы по умолчанию',
+    'uk-ua': 'Копіювати стандартні форми',
+    'pt-br': 'Copiar formulários padrão',
   },
   saveFormFirst: {
-    "en-us": "Save form first",
-    "de-ch": "Formular zuerst speichern",
-    "es-es": "Guarde el formulario primero",
-    "fr-fr": "Enregistrer d'abord le formulaire",
-    "ru-ru": "Сначала сохраните форму",
-    "uk-ua": "Спочатку збережіть форму",
-    "pt-br": "Salve o formulário primeiro",
+    'en-us': 'Save form first',
+    'de-ch': 'Formular zuerst speichern',
+    'es-es': 'Guarde el formulario primero',
+    'fr-fr': "Enregistrer d'abord le formulaire",
+    'ru-ru': 'Сначала сохраните форму',
+    'uk-ua': 'Спочатку збережіть форму',
+    'pt-br': 'Salve o formulário primeiro',
   },
   saveFormFirstDescription: {
-    "en-us": "You need to save this form before you edit another one",
-    "de-ch":
-      "Sie müssen dieses Formular speichern, bevor Sie ein anderes bearbeiten",
-    "es-es": "Debes guardar este formulario antes de editar otro.",
-    "fr-fr":
+    'en-us': 'You need to save this form before you edit another one',
+    'de-ch':
+      'Sie müssen dieses Formular speichern, bevor Sie ein anderes bearbeiten',
+    'es-es': 'Debes guardar este formulario antes de editar otro.',
+    'fr-fr':
       "Vous devez enregistrer ce formulaire avant d'en modifier un autre.",
-    "ru-ru":
-      "Вам необходимо сохранить эту форму, прежде чем редактировать другую.",
-    "uk-ua": "Вам потрібно зберегти цю форму, перш ніж редагувати іншу",
-    "pt-br": "Você precisa salvar este formulário antes de editar outro",
+    'ru-ru':
+      'Вам необходимо сохранить эту форму, прежде чем редактировать другую.',
+    'uk-ua': 'Вам потрібно зберегти цю форму, перш ніж редагувати іншу',
+    'pt-br': 'Você precisa salvar este formulário antes de editar outro',
   },
   conditionalFormatter: {
-    "en-us": "Conditional Format",
-    "de-ch": "Bedingtes Format",
-    "es-es": "Formato condicional",
-    "fr-fr": "Format conditionnel",
-    "ru-ru": "Условный формат",
-    "uk-ua": "Умовний формат",
-    "pt-br": "Formato condicional",
+    'en-us': 'Conditional Format',
+    'de-ch': 'Bedingtes Format',
+    'es-es': 'Formato condicional',
+    'fr-fr': 'Format conditionnel',
+    'ru-ru': 'Условный формат',
+    'uk-ua': 'Умовний формат',
+    'pt-br': 'Formato condicional',
   },
   customizeFieldFormatters: {
-    "en-us": "Customize Field Formats",
-    "de-ch": "Feldformate anpassen",
-    "es-es": "Personalizar formatos de campo",
-    "fr-fr": "Personnaliser les formats de champ",
-    "ru-ru": "Настройте форматы полей",
-    "uk-ua": "Налаштувати формати полів",
-    "pt-br": "Personalizar formatos de campo",
+    'en-us': 'Customize Field Formats',
+    'de-ch': 'Feldformate anpassen',
+    'es-es': 'Personalizar formatos de campo',
+    'fr-fr': 'Personnaliser les formats de champ',
+    'ru-ru': 'Настройте форматы полей',
+    'uk-ua': 'Налаштувати формати полів',
+    'pt-br': 'Personalizar formatos de campo',
   },
   expandConditionalField: {
-    "en-us": "Expand Conditional Field",
-    "de-ch": "Bedingtes Feld erweitern",
-    "es-es": "Expandir campo condicional",
-    "fr-fr": "Développer le champ conditionnel",
-    "ru-ru": "Развернуть условное поле",
-    "uk-ua": "Розгорнути умовне поле",
-    "pt-br": "Expandir campo condicional",
+    'en-us': 'Expand Conditional Field',
+    'de-ch': 'Bedingtes Feld erweitern',
+    'es-es': 'Expandir campo condicional',
+    'fr-fr': 'Développer le champ conditionnel',
+    'ru-ru': 'Развернуть условное поле',
+    'uk-ua': 'Розгорнути умовне поле',
+    'pt-br': 'Expandir campo condicional',
   },
   collapseConditionalField: {
-    "en-us": "Collapse Conditional Field",
-    "de-ch": "Bedingtes Feld reduzieren",
-    "es-es": "Contraer campo condicional",
-    "fr-fr": "Champ conditionnel de réduction",
-    "ru-ru": "Свернуть условное поле",
-    "uk-ua": "Згорнути умовне поле",
-    "pt-br": "Recolher campo condicional",
+    'en-us': 'Collapse Conditional Field',
+    'de-ch': 'Bedingtes Feld reduzieren',
+    'es-es': 'Contraer campo condicional',
+    'fr-fr': 'Champ conditionnel de réduction',
+    'ru-ru': 'Свернуть условное поле',
+    'uk-ua': 'Згорнути умовне поле',
+    'pt-br': 'Recolher campo condicional',
   },
   conditionalFieldValue: {
-    "en-us": "Conditional Field Value",
-    "de-ch": "Bedingter Feldwert",
-    "es-es": "Valor de campo condicional",
-    "fr-fr": "Valeur du champ conditionnel",
-    "ru-ru": "Условное значение поля",
-    "uk-ua": "Умовне значення поля",
-    "pt-br": "Valor do campo condicional",
+    'en-us': 'Conditional Field Value',
+    'de-ch': 'Bedingter Feldwert',
+    'es-es': 'Valor de campo condicional',
+    'fr-fr': 'Valeur du champ conditionnel',
+    'ru-ru': 'Условное значение поля',
+    'uk-ua': 'Умовне значення поля',
+    'pt-br': 'Valor do campo condicional',
   },
   formatPreview: {
-    "en-us": "Format Preview",
-    "de-ch": "Formatvorschau",
-    "es-es": "Vista previa del formato",
-    "fr-fr": "Aperçu du format",
-    "ru-ru": "Предварительный просмотр формата",
-    "uk-ua": "Попередній перегляд формату",
-    "pt-br": "Visualização do formato",
+    'en-us': 'Format Preview',
+    'de-ch': 'Formatvorschau',
+    'es-es': 'Vista previa del formato',
+    'fr-fr': 'Aperçu du format',
+    'ru-ru': 'Предварительный просмотр формата',
+    'uk-ua': 'Попередній перегляд формату',
+    'pt-br': 'Visualização do formato',
   },
   currentDeterminationRequired: {
-    "en-us": "A current determination is required.",
-    "de-ch": "Eine aktuelle Feststellung ist erforderlich.",
-    "es-es": "Se requiere una determinación actual.",
-    "fr-fr": "Une détermination actuelle est requise.",
-    "ru-ru": "Требуется текущее определение.",
-    "uk-ua": "Потрібне поточне визначення.",
-    "pt-br": "É necessária uma determinação atual.",
+    'en-us': 'A current determination is required.',
+    'de-ch': 'Eine aktuelle Feststellung ist erforderlich.',
+    'es-es': 'Se requiere una determinación actual.',
+    'fr-fr': 'Une détermination actuelle est requise.',
+    'ru-ru': 'Требуется текущее определение.',
+    'uk-ua': 'Потрібне поточне визначення.',
+    'pt-br': 'É necessária uma determinação atual.',
   },
   cogAddedToItself: {
-    "en-us": "A COG cannot be added to itself.",
-    "de-ch": "Ein Schwerpunkt kann nicht zu sich selbst addiert werden.",
-    "es-es": "No se puede agregar un COG a sí mismo.",
-    "fr-fr": "Un COG ne peut pas être ajouté à lui-même.",
-    "pt-br": "Um COG não pode ser adicionado a si mesmo.",
-    "ru-ru": "COG не может быть сложен сам с собой.",
-    "uk-ua": "COG не можна додати до самого себе.",
+    'en-us': 'A COG cannot be added to itself.',
+    'de-ch': 'Ein Schwerpunkt kann nicht zu sich selbst addiert werden.',
+    'es-es': 'No se puede agregar un COG a sí mismo.',
+    'fr-fr': 'Un COG ne peut pas être ajouté à lui-même.',
+    'pt-br': 'Um COG não pode ser adicionado a si mesmo.',
+    'ru-ru': 'COG не может быть сложен сам с собой.',
+    'uk-ua': 'COG не можна додати до самого себе.',
   },
   primaryCogChildRequired: {
-    "en-us":
-      "A Consolidated Collection Object Group must have a primary Collection Object child",
-    "de-ch":
-      "Eine konsolidierte Sammlungsobjektgruppe muss ein primäres Sammlungsobjekt-Unterobjekt haben",
-    "es-es":
-      "Un grupo de objetos de colección consolidada debe tener un objeto de colección secundario principal",
-    "fr-fr":
+    'en-us':
+      'A Consolidated Collection Object Group must have a primary Collection Object child',
+    'de-ch':
+      'Eine konsolidierte Sammlungsobjektgruppe muss ein primäres Sammlungsobjekt-Unterobjekt haben',
+    'es-es':
+      'Un grupo de objetos de colección consolidada debe tener un objeto de colección secundario principal',
+    'fr-fr':
       "Un groupe d'objets de collection consolidé doit avoir un objet de collection enfant principal",
-    "pt-br":
-      "Um Grupo de Objetos de Coleção Consolidada deve ter um Objeto de Coleção primário filho",
-    "ru-ru":
-      "Группа объектов консолидированной коллекции должна иметь основной дочерний объект коллекции.",
-    "uk-ua":
+    'pt-br':
+      'Um Grupo de Objetos de Coleção Consolidada deve ter um Objeto de Coleção primário filho',
+    'ru-ru':
+      'Группа объектов консолидированной коллекции должна иметь основной дочерний объект коллекции.',
+    'uk-ua':
       "Консолідована група об'єктів колекції повинна мати дочірній об'єкт первинної колекції",
   },
   deletePrimaryRecord: {
-    "en-us": "Primary record CO cannot be deleted.",
-    "de-ch": "Primärdatensatz CO kann nicht gelöscht werden.",
-    "es-es": "El registro primario CO no se puede eliminar.",
-    "fr-fr": "L'enregistrement principal CO ne peut pas être supprimé.",
-    "pt-br": "O registro primário CO não pode ser excluído.",
-    "ru-ru": "Первичная запись CO не может быть удалена.",
-    "uk-ua": "Основний запис CO неможливо видалити.",
+    'en-us': 'Primary record CO cannot be deleted.',
+    'de-ch': 'Primärdatensatz CO kann nicht gelöscht werden.',
+    'es-es': 'El registro primario CO no se puede eliminar.',
+    'fr-fr': "L'enregistrement principal CO ne peut pas être supprimé.",
+    'pt-br': 'O registro primário CO não pode ser excluído.',
+    'ru-ru': 'Первичная запись CO не может быть удалена.',
+    'uk-ua': 'Основний запис CO неможливо видалити.',
   },
   deleteLoanedPrep: {
-    "en-us": "A loaned preparation cannot be deleted",
-    "de-ch": "Eine ausgeliehene Zubereitung kann nicht gelöscht werden",
-    "es-es": "Una preparación prestada no se puede eliminar",
-    "fr-fr": "Une préparation prêtée ne peut pas être supprimée",
-    "pt-br": "Uma preparação emprestada não pode ser excluída",
-    "ru-ru": "Заимствованный препарат не может быть удален",
-    "uk-ua": "Позичений препарат не можна видалити",
+    'en-us': 'A loaned preparation cannot be deleted',
+    'de-ch': 'Eine ausgeliehene Zubereitung kann nicht gelöscht werden',
+    'es-es': 'Una preparación prestada no se puede eliminar',
+    'fr-fr': 'Une préparation prêtée ne peut pas être supprimée',
+    'pt-br': 'Uma preparação emprestada não pode ser excluída',
+    'ru-ru': 'Заимствованный препарат не может быть удален',
+    'uk-ua': 'Позичений препарат не можна видалити',
   },
   deleteGiftedPrep: {
-    "en-us": "A gifted preparation cannot be deleted",
-    "de-ch": "Eine geschenkte Vorbereitung kann nicht gelöscht werden",
-    "es-es": "Una preparación dotada no se puede eliminar",
-    "fr-fr": "Une préparation surdouée ne peut pas être supprimée",
-    "pt-br": "Uma preparação talentosa não pode ser apagada",
-    "ru-ru": "Подаренный препарат не может быть удален",
-    "uk-ua": "Подарований препарат не можна видалити",
+    'en-us': 'A gifted preparation cannot be deleted',
+    'de-ch': 'Eine geschenkte Vorbereitung kann nicht gelöscht werden',
+    'es-es': 'Una preparación dotada no se puede eliminar',
+    'fr-fr': 'Une préparation surdouée ne peut pas être supprimée',
+    'pt-br': 'Uma preparação talentosa não pode ser apagada',
+    'ru-ru': 'Подаренный препарат не может быть удален',
+    'uk-ua': 'Подарований препарат не можна видалити',
   },
   deleteDisposedPrep: {
-    "en-us": "A disposed preparation cannot be deleted",
-    "de-ch": "Eine entsorgte Zubereitung kann nicht gelöscht werden",
-    "es-es": "Una preparación desechada no se puede eliminar",
-    "fr-fr": "Une préparation éliminée ne peut pas être supprimée",
-    "pt-br": "Uma preparação descartada não pode ser excluída",
-    "ru-ru": "Утилизированный препарат не может быть удален",
-    "uk-ua": "Викинутий препарат не можна видалити",
+    'en-us': 'A disposed preparation cannot be deleted',
+    'de-ch': 'Eine entsorgte Zubereitung kann nicht gelöscht werden',
+    'es-es': 'Una preparación desechada no se puede eliminar',
+    'fr-fr': 'Une préparation éliminée ne peut pas être supprimée',
+    'pt-br': 'Uma preparação descartada não pode ser excluída',
+    'ru-ru': 'Утилизированный препарат не может быть удален',
+    'uk-ua': 'Викинутий препарат не можна видалити',
   },
   deleteExchangeOutPrep: {
-    "en-us": "A exchanged out preparation cannot be deleted",
-    "de-ch": "Ein ausgetauschtes Präparat kann nicht gelöscht werden",
-    "es-es": "No se puede eliminar una preparación intercambiada",
-    "fr-fr": "Une préparation échangée ne peut pas être supprimée",
-    "pt-br": "Uma preparação trocada não pode ser excluída",
-    "ru-ru": "Замененный препарат не может быть удален.",
-    "uk-ua": "Обмінений препарат не можна видалити",
+    'en-us': 'A exchanged out preparation cannot be deleted',
+    'de-ch': 'Ein ausgetauschtes Präparat kann nicht gelöscht werden',
+    'es-es': 'No se puede eliminar una preparación intercambiada',
+    'fr-fr': 'Une préparation échangée ne peut pas être supprimée',
+    'pt-br': 'Uma preparação trocada não pode ser excluída',
+    'ru-ru': 'Замененный препарат не может быть удален.',
+    'uk-ua': 'Обмінений препарат не можна видалити',
   },
   deleteExchangeInPrep: {
-    "en-us": "A exchanged in preparation cannot be deleted",
-    "de-ch":
-      "Ein in Vorbereitung befindlicher Austausch kann nicht gelöscht werden",
-    "es-es": "No se puede eliminar un intercambio en preparación",
-    "fr-fr": "Un échange en préparation ne peut pas être supprimé",
-    "pt-br": "Uma troca em preparação não pode ser excluída",
-    "ru-ru": "Обмен в стадии подготовки не может быть удален",
-    "uk-ua": "Обмін, що готується, не можна видалити",
+    'en-us': 'A exchanged in preparation cannot be deleted',
+    'de-ch':
+      'Ein in Vorbereitung befindlicher Austausch kann nicht gelöscht werden',
+    'es-es': 'No se puede eliminar un intercambio en preparación',
+    'fr-fr': 'Un échange en préparation ne peut pas être supprimé',
+    'pt-br': 'Uma troca em preparação não pode ser excluída',
+    'ru-ru': 'Обмен в стадии подготовки не может быть удален',
+    'uk-ua': 'Обмін, що готується, не можна видалити',
   },
   invalidDeterminationTaxon: {
-    "en-us":
-      "Determination does not belong to the taxon tree associated with the Collection Object Type",
-    "de-ch":
-      "Die Bestimmung gehört nicht zum Taxonbaum, der mit dem Sammlungsobjekttyp verknüpft ist",
-    "es-es":
-      "La determinación no pertenece al árbol taxonómico asociado con el tipo de objeto de colección",
-    "fr-fr":
+    'en-us':
+      'Determination does not belong to the taxon tree associated with the Collection Object Type',
+    'de-ch':
+      'Die Bestimmung gehört nicht zum Taxonbaum, der mit dem Sammlungsobjekttyp verknüpft ist',
+    'es-es':
+      'La determinación no pertenece al árbol taxonómico asociado con el tipo de objeto de colección',
+    'fr-fr':
       "La détermination n'appartient pas à l'arbre taxonomique associé au type d'objet de collection",
-    "pt-br":
-      "A determinação não pertence à árvore de táxons associada ao Tipo de Objeto de Coleção",
-    "ru-ru":
-      "Определение не принадлежит к таксонному дереву, связанному с типом объекта коллекции.",
-    "uk-ua":
+    'pt-br':
+      'A determinação não pertence à árvore de táxons associada ao Tipo de Objeto de Coleção',
+    'ru-ru':
+      'Определение не принадлежит к таксонному дереву, связанному с типом объекта коллекции.',
+    'uk-ua':
       "Визначення не належить до дерева таксонів, пов'язаного з типом об'єкта колекції",
   },
   invalidNameTaxon: {
-    "en-us":
-      "{taxonName: string} does not belong to the {taxonTableLabel: string} tree associated with {typeName: string}",
-    "de-ch":
-      "{taxonName: string} gehört nicht zum {taxonTableLabel: string}-Baum, der mit {typeName: string} verknüpft ist",
-    "es-es":
-      "{taxonName: string} no pertenece al árbol {taxonTableLabel: string} asociado con {typeName: string}",
-    "fr-fr":
+    'en-us':
+      '{taxonName: string} does not belong to the {taxonTableLabel: string} tree associated with {typeName: string}',
+    'de-ch':
+      '{taxonName: string} gehört nicht zum {taxonTableLabel: string}-Baum, der mit {typeName: string} verknüpft ist',
+    'es-es':
+      '{taxonName: string} no pertenece al árbol {taxonTableLabel: string} asociado con {typeName: string}',
+    'fr-fr':
       "{taxonName: string} n'appartient pas à l'arbre {taxonTableLabel: string} associé à {typeName: string}",
-    "pt-br":
-      "{taxonName: string} não pertence à árvore {taxonTableLabel: string} associada a {typeName: string}",
-    "ru-ru":
-      "{taxonName: string} не принадлежит дереву {taxonTableLabel: string}, связанному с {typeName: string}",
-    "uk-ua":
+    'pt-br':
+      '{taxonName: string} não pertence à árvore {taxonTableLabel: string} associada a {typeName: string}',
+    'ru-ru':
+      '{taxonName: string} не принадлежит дереву {taxonTableLabel: string}, связанному с {typeName: string}',
+    'uk-ua':
       "{taxonName: string} не належить до дерева {taxonTableLabel: string}, пов'язаного з {typeName: string}",
   },
   catalogNumberAlreadyUsed: {
-    "en-us":
-      "{catalogNumberFieldName: string} {catalogNumber: string} is already in use for another Component or Collection Object in this collection.",
-    "de-ch":
-      "{catalogNumberFieldName: string} {catalogNumber: string} wird bereits für eine andere Komponente oder ein anderes Sammlungsobjekt in dieser Sammlung verwendet.",
-    "es-es":
-      "{catalogNumberFieldName: string} {catalogNumber: string} ya está en uso para otro componente u objeto de colección en esta colección.",
-    "fr-fr":
-      "{catalogNumberFieldName: string} {catalogNumber: string} est déjà utilisé pour un autre composant ou objet de collection dans cette collection.",
-    "pt-br":
-      "{catalogNumberFieldName: string} {catalogNumber: string} já está em uso para outro Componente ou Objeto de Coleção nesta coleção.",
-    "ru-ru":
-      "{catalogNumberFieldName: string} {catalogNumber: string} уже используется для другого компонента или объекта коллекции в этой коллекции.",
-    "uk-ua":
+    'en-us':
+      '{catalogNumberFieldName: string} {catalogNumber: string} is already in use for another Component or Collection Object in this collection.',
+    'de-ch':
+      '{catalogNumberFieldName: string} {catalogNumber: string} wird bereits für eine andere Komponente oder ein anderes Sammlungsobjekt in dieser Sammlung verwendet.',
+    'es-es':
+      '{catalogNumberFieldName: string} {catalogNumber: string} ya está en uso para otro componente u objeto de colección en esta colección.',
+    'fr-fr':
+      '{catalogNumberFieldName: string} {catalogNumber: string} est déjà utilisé pour un autre composant ou objet de collection dans cette collection.',
+    'pt-br':
+      '{catalogNumberFieldName: string} {catalogNumber: string} já está em uso para outro Componente ou Objeto de Coleção nesta coleção.',
+    'ru-ru':
+      '{catalogNumberFieldName: string} {catalogNumber: string} уже используется для другого компонента или объекта коллекции в этой коллекции.',
+    'uk-ua':
       "{catalogNumberFieldName: string} {catalogNumber: string} вже використовується для іншого компонента або об'єкта колекції в цій колекції.",
   },
   preparationUsedInLoan: {
-    "en-us": "The preparation is used in a loan.",
-    "de-ch": "Das Präparat dient der Kreditvergabe.",
-    "es-es": "La preparación se utiliza en un préstamo.",
-    "fr-fr": "La préparation est utilisée dans un prêt.",
-    "pt-br": "A preparação é usada em um empréstimo.",
-    "ru-ru": "Препарат используется при кредитовании.",
-    "uk-ua": "Препарат використовується у позиці.",
+    'en-us': 'The preparation is used in a loan.',
+    'de-ch': 'Das Präparat dient der Kreditvergabe.',
+    'es-es': 'La preparación se utiliza en un préstamo.',
+    'fr-fr': 'La préparation est utilisée dans un prêt.',
+    'pt-br': 'A preparação é usada em um empréstimo.',
+    'ru-ru': 'Препарат используется при кредитовании.',
+    'uk-ua': 'Препарат використовується у позиці.',
   },
   preparationIsNegative: {
-    "en-us": "Preparation count cannot be negative",
-    "de-ch": "Die Anzahl der Vorbereitungen darf nicht negativ sein",
-    "es-es": "El recuento de preparación no puede ser negativo",
-    "fr-fr": "Le nombre de préparations ne peut pas être négatif",
-    "pt-br": "A contagem de preparação não pode ser negativa",
-    "ru-ru": "Количество приготовлений не может быть отрицательным.",
-    "uk-ua": "Кількість підготовок не може бути від'ємним значенням",
+    'en-us': 'Preparation count cannot be negative',
+    'de-ch': 'Die Anzahl der Vorbereitungen darf nicht negativ sein',
+    'es-es': 'El recuento de preparación no puede ser negativo',
+    'fr-fr': 'Le nombre de préparations ne peut pas être négatif',
+    'pt-br': 'A contagem de preparação não pode ser negativa',
+    'ru-ru': 'Количество приготовлений не может быть отрицательным.',
+    'uk-ua': "Кількість підготовок не може бути від'ємним значенням",
   },
   configureField: {
-    "en-us": "Configure field",
-    "de-ch": "Feld konfigurieren",
-    "es-es": "Configurar campo",
-    "fr-fr": "Configurer le champ",
-    "pt-br": "Configurar campo",
-    "ru-ru": "Настроить поле",
-    "uk-ua": "Налаштувати поле",
+    'en-us': 'Configure field',
+    'de-ch': 'Feld konfigurieren',
+    'es-es': 'Configurar campo',
+    'fr-fr': 'Configurer le champ',
+    'pt-br': 'Configurar campo',
+    'ru-ru': 'Настроить поле',
+    'uk-ua': 'Налаштувати поле',
   },
   trimZeros: {
-    "en-us": "Trim Leading Zeros",
-    "de-ch": "Führende Nullen entfernen",
-    "es-es": "Recortar ceros iniciales",
-    "fr-fr": "Couper les zéros non significatifs",
-    "pt-br": "Aparar zeros à esquerda",
-    "ru-ru": "Удалить начальные нули",
-    "uk-ua": "Видалити початкові нулі",
+    'en-us': 'Trim Leading Zeros',
+    'de-ch': 'Führende Nullen entfernen',
+    'es-es': 'Recortar ceros iniciales',
+    'fr-fr': 'Couper les zéros non significatifs',
+    'pt-br': 'Aparar zeros à esquerda',
+    'ru-ru': 'Удалить начальные нули',
+    'uk-ua': 'Видалити початкові нулі',
   },
   trimZerosDescription: {
-    "en-us": "Remove leading zeros from numeric values.",
-    "de-ch": "Entfernen Sie führende Nullen aus numerischen Werten.",
-    "es-es": "Eliminar los ceros iniciales de los valores numéricos.",
-    "fr-fr": "Supprimez les zéros non significatifs des valeurs numériques.",
-    "pt-br": "Remova os zeros à esquerda dos valores numéricos.",
-    "ru-ru": "Удалить начальные нули из числовых значений.",
-    "uk-ua": "Видаліть початкові нулі з числових значень.",
+    'en-us': 'Remove leading zeros from numeric values.',
+    'de-ch': 'Entfernen Sie führende Nullen aus numerischen Werten.',
+    'es-es': 'Eliminar los ceros iniciales de los valores numéricos.',
+    'fr-fr': 'Supprimez les zéros non significatifs des valeurs numériques.',
+    'pt-br': 'Remova os zeros à esquerda dos valores numéricos.',
+    'ru-ru': 'Удалить начальные нули из числовых значений.',
+    'uk-ua': 'Видаліть початкові нулі з числових значень.',
   },
   formatterPreviewUnavailable: {
-    "en-us": "Preview for formatter of this type is not available",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Попередній перегляд для форматера цього типу недоступний",
+    'en-us': 'Preview for formatter of this type is not available',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Попередній перегляд для форматера цього типу недоступний',
   },
   nonConformingInline: {
-    "en-us": "(non-conforming)",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "(невідповідний)",
+    'en-us': '(non-conforming)',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': '(невідповідний)',
   },
   value: {
-    "en-us": "Value",
-    "de-ch": "Wert",
-    "es-es": "Valor",
-    "fr-fr": "Valeur",
-    "ru-ru": "Значение",
-    "uk-ua": "Значення",
-    "pt-br": "",
+    'en-us': 'Value',
+    'de-ch': 'Wert',
+    'es-es': 'Valor',
+    'fr-fr': 'Valeur',
+    'ru-ru': 'Значение',
+    'uk-ua': 'Значення',
+    'pt-br': '',
   },
   constant: {
-    "en-us": "Constant",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Постійна",
+    'en-us': 'Constant',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Постійна',
   },
   alpha: {
-    "en-us": "Alpha",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Альфа",
+    'en-us': 'Alpha',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Альфа',
   },
   numeric: {
-    "en-us": "Numeric",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Числовий",
+    'en-us': 'Numeric',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Числовий',
   },
   alphanumeric: {
-    "en-us": "Alphanumeric",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Буквено-цифровий",
+    'en-us': 'Alphanumeric',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Буквено-цифровий',
   },
   anychar: {
-    "en-us": "Any character",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Будь-який символ",
+    'en-us': 'Any character',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Будь-який символ',
   },
   regex: {
-    "en-us": "Regular expression",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Регулярний вираз",
+    'en-us': 'Regular expression',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Регулярний вираз',
   },
   exampleField: {
-    "en-us": "Example Field",
-    "de-ch": "Beispielfeld",
-    "es-es": "Campo de ejemplo",
-    "fr-fr": "Champ d'exemple",
-    "ru-ru": "Пример поля",
-    "uk-ua": "Приклад поле",
-    "pt-br": "",
+    'en-us': 'Example Field',
+    'de-ch': 'Beispielfeld',
+    'es-es': 'Campo de ejemplo',
+    'fr-fr': "Champ d'exemple",
+    'ru-ru': 'Пример поля',
+    'uk-ua': 'Приклад поле',
+    'pt-br': '',
   },
   pattern: {
-    "en-us": "Pattern",
-    "de-ch": "",
-    "es-es": "",
-    "fr-fr": "",
-    "pt-br": "",
-    "ru-ru": "",
-    "uk-ua": "Візерунок",
+    'en-us': 'Pattern',
+    'de-ch': '',
+    'es-es': '',
+    'fr-fr': '',
+    'pt-br': '',
+    'ru-ru': '',
+    'uk-ua': 'Візерунок',
   },
 } as const);
diff --git a/specifyweb/frontend/js_src/lib/localization/schema.ts b/specifyweb/frontend/js_src/lib/localization/schema.ts
index 6f7d9544804..403174cd921 100644
--- a/specifyweb/frontend/js_src/lib/localization/schema.ts
+++ b/specifyweb/frontend/js_src/lib/localization/schema.ts
@@ -4,549 +4,549 @@
  * @module
  */
 
-import { createDictionary } from "./utils";
+import { createDictionary } from './utils';
 
 // Refer to "Guidelines for Programmers" in ./README.md before editing this file
 
 export const schemaText = createDictionary({
   table: {
-    "en-us": "Table",
-    "ru-ru": "Стол",
-    "es-es": "Tabla",
-    "fr-fr": "Tableau",
-    "uk-ua": "Таблиця",
-    "de-ch": "Tabelle",
-    "pt-br": "Mesa",
+    'en-us': 'Table',
+    'ru-ru': 'Стол',
+    'es-es': 'Tabla',
+    'fr-fr': 'Tableau',
+    'uk-ua': 'Таблиця',
+    'de-ch': 'Tabelle',
+    'pt-br': 'Mesa',
   },
   tables: {
-    "en-us": "Tables",
-    "ru-ru": "Таблицы",
-    "es-es": "Tablas",
-    "fr-fr": "Tables",
-    "uk-ua": "Столи",
-    "de-ch": "Tabellen",
-    "pt-br": "Tabelas",
+    'en-us': 'Tables',
+    'ru-ru': 'Таблицы',
+    'es-es': 'Tablas',
+    'fr-fr': 'Tables',
+    'uk-ua': 'Столи',
+    'de-ch': 'Tabellen',
+    'pt-br': 'Tabelas',
   },
   tableName: {
-    "en-us": "Table Name",
-    "ru-ru": "Название таблицы",
-    "fr-fr": "Nom de la table",
-    "uk-ua": "Назва таблиці",
-    "de-ch": "Tabellennamen",
-    "es-es": "Nombre de la tabla",
-    "pt-br": "Nome da tabela",
+    'en-us': 'Table Name',
+    'ru-ru': 'Название таблицы',
+    'fr-fr': 'Nom de la table',
+    'uk-ua': 'Назва таблиці',
+    'de-ch': 'Tabellennamen',
+    'es-es': 'Nombre de la tabla',
+    'pt-br': 'Nome da tabela',
   },
   withoutTable: {
-    "en-us": "Without Table",
-    "de-ch": "Ohne Tisch",
-    "es-es": "Sin tabla",
-    "fr-fr": "Sans table",
-    "ru-ru": "Без стола",
-    "uk-ua": "Без столу",
-    "pt-br": "Sem mesa",
+    'en-us': 'Without Table',
+    'de-ch': 'Ohne Tisch',
+    'es-es': 'Sin tabla',
+    'fr-fr': 'Sans table',
+    'ru-ru': 'Без стола',
+    'uk-ua': 'Без столу',
+    'pt-br': 'Sem mesa',
   },
   schemaConfig: {
-    "en-us": "Schema Config",
-    "ru-ru": "Конфигурация схемы",
-    "es-es": "Configuración del esquema",
-    "fr-fr": "Configuration du schéma",
-    "uk-ua": "Конфігурація схеми",
-    "de-ch": "Schema konfigurieren",
-    "pt-br": "Configuração do esquema",
+    'en-us': 'Schema Config',
+    'ru-ru': 'Конфигурация схемы',
+    'es-es': 'Configuración del esquema',
+    'fr-fr': 'Configuration du schéma',
+    'uk-ua': 'Конфігурація схеми',
+    'de-ch': 'Schema konfigurieren',
+    'pt-br': 'Configuração do esquema',
   },
   unsavedSchemaUnloadProtect: {
-    "en-us": "Schema changes have not been saved",
-    "ru-ru": "Изменения схемы не были сохранены",
-    "es-es": "Los cambios en el esquema no se han guardado",
-    "fr-fr": "Les modifications de schéma n'ont pas été enregistrées",
-    "uk-ua": "Зміни схеми не збережено",
-    "de-ch": "Schema Änderungen wurden nicht gespeichert",
-    "pt-br": "As alterações de esquema não foram salvas",
+    'en-us': 'Schema changes have not been saved',
+    'ru-ru': 'Изменения схемы не были сохранены',
+    'es-es': 'Los cambios en el esquema no se han guardado',
+    'fr-fr': "Les modifications de schéma n'ont pas été enregistrées",
+    'uk-ua': 'Зміни схеми не збережено',
+    'de-ch': 'Schema Änderungen wurden nicht gespeichert',
+    'pt-br': 'As alterações de esquema não foram salvas',
   },
   changeBaseTable: {
-    "en-us": "Change Base Table",
-    "ru-ru": "Изменить базовую таблицу",
-    "es-es": "Cambiar la tabla base",
-    "fr-fr": "Modifier la table de base",
-    "uk-ua": "Змінити базову таблицю",
-    "de-ch": "Basis-Tabelle ändern",
-    "pt-br": "Alterar tabela base",
+    'en-us': 'Change Base Table',
+    'ru-ru': 'Изменить базовую таблицу',
+    'es-es': 'Cambiar la tabla base',
+    'fr-fr': 'Modifier la table de base',
+    'uk-ua': 'Змінити базову таблицю',
+    'de-ch': 'Basis-Tabelle ändern',
+    'pt-br': 'Alterar tabela base',
   },
   field: {
-    "en-us": "Field",
-    "ru-ru": "Поле",
-    "es-es": "Campo",
-    "fr-fr": "Champ",
-    "uk-ua": "Поле",
-    "de-ch": "Feld",
-    "pt-br": "Campo",
+    'en-us': 'Field',
+    'ru-ru': 'Поле',
+    'es-es': 'Campo',
+    'fr-fr': 'Champ',
+    'uk-ua': 'Поле',
+    'de-ch': 'Feld',
+    'pt-br': 'Campo',
   },
   fields: {
-    "en-us": "Fields",
-    "ru-ru": "Поля",
-    "es-es": "Campos",
-    "fr-fr": "Champs",
-    "uk-ua": "Поля",
-    "de-ch": "Felder",
-    "pt-br": "Campos",
+    'en-us': 'Fields',
+    'ru-ru': 'Поля',
+    'es-es': 'Campos',
+    'fr-fr': 'Champs',
+    'uk-ua': 'Поля',
+    'de-ch': 'Felder',
+    'pt-br': 'Campos',
   },
   relationships: {
-    "en-us": "Relationships",
-    "ru-ru": "Отношения",
-    "es-es": "Relaciones",
-    "fr-fr": "Relations",
-    "uk-ua": "Стосунки",
-    "de-ch": "Beziehungen",
-    "pt-br": "Relacionamentos",
+    'en-us': 'Relationships',
+    'ru-ru': 'Отношения',
+    'es-es': 'Relaciones',
+    'fr-fr': 'Relations',
+    'uk-ua': 'Стосунки',
+    'de-ch': 'Beziehungen',
+    'pt-br': 'Relacionamentos',
   },
   database: {
-    "en-us": "Database",
-    "de-ch": "Datenbank",
-    "fr-fr": "Base de données",
-    "ru-ru": "База данных",
-    "uk-ua": "База даних",
-    "es-es": "Base de datos",
-    "pt-br": "Banco de dados",
+    'en-us': 'Database',
+    'de-ch': 'Datenbank',
+    'fr-fr': 'Base de données',
+    'ru-ru': 'База данных',
+    'uk-ua': 'База даних',
+    'es-es': 'Base de datos',
+    'pt-br': 'Banco de dados',
   },
   setScope: {
-    "en-us": "Set Scope",
-    "de-ch": "Geltungsbereich festlegen",
-    "es-es": "Establecer alcance",
-    "fr-fr": "Définir la portée",
-    "ru-ru": "Установить область действия",
-    "uk-ua": "Встановити область дії",
-    "pt-br": "Definir escopo",
+    'en-us': 'Set Scope',
+    'de-ch': 'Geltungsbereich festlegen',
+    'es-es': 'Establecer alcance',
+    'fr-fr': 'Définir la portée',
+    'ru-ru': 'Установить область действия',
+    'uk-ua': 'Встановити область дії',
+    'pt-br': 'Definir escopo',
   },
   caption: {
-    "en-us": "Caption",
-    "ru-ru": "Подпись",
-    "es-es": "Subtítulo",
-    "fr-fr": "Légende",
-    "uk-ua": "Підпис",
-    "de-ch": "Beschriftung",
-    "pt-br": "Rubrica",
+    'en-us': 'Caption',
+    'ru-ru': 'Подпись',
+    'es-es': 'Subtítulo',
+    'fr-fr': 'Légende',
+    'uk-ua': 'Підпис',
+    'de-ch': 'Beschriftung',
+    'pt-br': 'Rubrica',
   },
   description: {
-    "en-us": "Description",
-    "ru-ru": "Описание",
-    "es-es": "Descripción",
-    "fr-fr": "Description",
-    "uk-ua": "Опис",
-    "de-ch": "Beschreibung",
-    "pt-br": "Descrição",
+    'en-us': 'Description',
+    'ru-ru': 'Описание',
+    'es-es': 'Descripción',
+    'fr-fr': 'Description',
+    'uk-ua': 'Опис',
+    'de-ch': 'Beschreibung',
+    'pt-br': 'Descrição',
   },
   hideTable: {
-    "en-us": "Hide Table",
-    "ru-ru": "Скрыть таблицу",
-    "es-es": "Ocultar tabla",
-    "fr-fr": "Masquer le tableau",
-    "uk-ua": "Приховати таблицю",
-    "de-ch": "Tabelle verbergen",
-    "pt-br": "Ocultar tabela",
+    'en-us': 'Hide Table',
+    'ru-ru': 'Скрыть таблицу',
+    'es-es': 'Ocultar tabla',
+    'fr-fr': 'Masquer le tableau',
+    'uk-ua': 'Приховати таблицю',
+    'de-ch': 'Tabelle verbergen',
+    'pt-br': 'Ocultar tabela',
   },
   hideField: {
-    "en-us": "Hide Field",
-    "ru-ru": "Скрыть поле",
-    "es-es": "Ocultar campo",
-    "fr-fr": "Masquer le champ",
-    "uk-ua": "Приховати поле",
-    "de-ch": "Feld verbergen",
-    "pt-br": "Ocultar campo",
+    'en-us': 'Hide Field',
+    'ru-ru': 'Скрыть поле',
+    'es-es': 'Ocultar campo',
+    'fr-fr': 'Masquer le champ',
+    'uk-ua': 'Приховати поле',
+    'de-ch': 'Feld verbergen',
+    'pt-br': 'Ocultar campo',
   },
   tableFormat: {
-    "en-us": "Table Format",
-    "ru-ru": "Формат таблицы",
-    "es-es": "Formato de tabla",
-    "fr-fr": "Format de tableau",
-    "uk-ua": "Формат таблиці",
-    "de-ch": "Tabellenformat",
-    "pt-br": "Formato de tabela",
+    'en-us': 'Table Format',
+    'ru-ru': 'Формат таблицы',
+    'es-es': 'Formato de tabla',
+    'fr-fr': 'Format de tableau',
+    'uk-ua': 'Формат таблиці',
+    'de-ch': 'Tabellenformat',
+    'pt-br': 'Formato de tabela',
   },
   tableAggregation: {
-    "en-us": "Table Aggregation",
-    "ru-ru": "Агрегация таблиц",
-    "es-es": "Agregación de tablas",
-    "fr-fr": "Agrégation de table",
-    "uk-ua": "Агрегація таблиць",
-    "de-ch": "Tabellenaggregation",
-    "pt-br": "Agregação de tabelas",
+    'en-us': 'Table Aggregation',
+    'ru-ru': 'Агрегация таблиц',
+    'es-es': 'Agregación de tablas',
+    'fr-fr': 'Agrégation de table',
+    'uk-ua': 'Агрегація таблиць',
+    'de-ch': 'Tabellenaggregation',
+    'pt-br': 'Agregação de tabelas',
   },
   oneToOne: {
-    "en-us": "One-to-one",
-    "ru-ru": "Один на один",
-    "es-es": "Uno-a-uno",
-    "fr-fr": "Un à un",
-    "uk-ua": "Один на один",
-    "de-ch": "Eins zu eins",
-    "pt-br": "Um para um",
+    'en-us': 'One-to-one',
+    'ru-ru': 'Один на один',
+    'es-es': 'Uno-a-uno',
+    'fr-fr': 'Un à un',
+    'uk-ua': 'Один на один',
+    'de-ch': 'Eins zu eins',
+    'pt-br': 'Um para um',
   },
   oneToMany: {
-    "en-us": "One-to-many",
-    "ru-ru": "Один ко многим",
-    "es-es": "Uno a muchos",
-    "fr-fr": "Un-à-plusieurs",
-    "uk-ua": "Один до багатьох",
-    "de-ch": "Eins zu vielen",
-    "pt-br": "Um para muitos",
+    'en-us': 'One-to-many',
+    'ru-ru': 'Один ко многим',
+    'es-es': 'Uno a muchos',
+    'fr-fr': 'Un-à-plusieurs',
+    'uk-ua': 'Один до багатьох',
+    'de-ch': 'Eins zu vielen',
+    'pt-br': 'Um para muitos',
   },
   manyToOne: {
-    "en-us": "Many-to-one",
-    "ru-ru": "Многие-к-одному",
-    "es-es": "Muchos a uno",
-    "fr-fr": "Plusieurs à un",
-    "uk-ua": "Багато до одного",
-    "de-ch": "Viele zu eins",
-    "pt-br": "Muitos para um",
+    'en-us': 'Many-to-one',
+    'ru-ru': 'Многие-к-одному',
+    'es-es': 'Muchos a uno',
+    'fr-fr': 'Plusieurs à un',
+    'uk-ua': 'Багато до одного',
+    'de-ch': 'Viele zu eins',
+    'pt-br': 'Muitos para um',
   },
   manyToMany: {
-    "en-us": "many-to-many",
-    "ru-ru": "многие-ко-многим",
-    "es-es": "de muchos a muchos",
-    "fr-fr": "plusieurs à plusieurs",
-    "uk-ua": "багато-до-багатьох",
-    "de-ch": "Viele zu viele",
-    "pt-br": "muitos para muitos",
+    'en-us': 'many-to-many',
+    'ru-ru': 'многие-ко-многим',
+    'es-es': 'de muchos a muchos',
+    'fr-fr': 'plusieurs à plusieurs',
+    'uk-ua': 'багато-до-багатьох',
+    'de-ch': 'Viele zu viele',
+    'pt-br': 'muitos para muitos',
   },
   fieldLength: {
-    "en-us": "Length",
-    "es-es": "Longitud",
-    "fr-fr": "Longueur",
-    "uk-ua": "Довжина",
-    "de-ch": "Länge",
-    "ru-ru": "Длина",
-    "pt-br": "Comprimento",
+    'en-us': 'Length',
+    'es-es': 'Longitud',
+    'fr-fr': 'Longueur',
+    'uk-ua': 'Довжина',
+    'de-ch': 'Länge',
+    'ru-ru': 'Длина',
+    'pt-br': 'Comprimento',
   },
   readOnly: {
-    "en-us": "Read-only",
-    "ru-ru": "Только для чтения",
-    "es-es": "Sólo lectura",
-    "fr-fr": "Lecture seule",
-    "uk-ua": "Тільки для читання",
-    "de-ch": "Nur-Lesen",
-    "pt-br": "Somente leitura",
+    'en-us': 'Read-only',
+    'ru-ru': 'Только для чтения',
+    'es-es': 'Sólo lectura',
+    'fr-fr': 'Lecture seule',
+    'uk-ua': 'Тільки для читання',
+    'de-ch': 'Nur-Lesen',
+    'pt-br': 'Somente leitura',
   },
   fieldFormat: {
-    "en-us": "Field Format",
-    "ru-ru": "Формат поля",
-    "es-es": "Formato de campo",
-    "fr-fr": "Format de champ",
-    "uk-ua": "Формат поля",
-    "de-ch": "Feldformat",
-    "pt-br": "Formato de campo",
+    'en-us': 'Field Format',
+    'ru-ru': 'Формат поля',
+    'es-es': 'Formato de campo',
+    'fr-fr': 'Format de champ',
+    'uk-ua': 'Формат поля',
+    'de-ch': 'Feldformat',
+    'pt-br': 'Formato de campo',
   },
   uiFormattersForField: {
-    "en-us": "Field Formatters for {fieldLabel:string}",
-    "de-ch": "Feldformatierer für {fieldLabel:string}",
-    "es-es": "Formateadores de campos para {fieldLabel:string}",
-    "fr-fr": "Formateurs de champs pour {fieldLabel:string}",
-    "pt-br": "Formatadores de campo para {fieldLabel:string}",
-    "ru-ru": "Форматировщики полей для {fieldLabel:string}",
-    "uk-ua": "Форматування полів для {fieldLabel:string}",
+    'en-us': 'Field Formatters for {fieldLabel:string}',
+    'de-ch': 'Feldformatierer für {fieldLabel:string}',
+    'es-es': 'Formateadores de campos para {fieldLabel:string}',
+    'fr-fr': 'Formateurs de champs pour {fieldLabel:string}',
+    'pt-br': 'Formatadores de campo para {fieldLabel:string}',
+    'ru-ru': 'Форматировщики полей для {fieldLabel:string}',
+    'uk-ua': 'Форматування полів для {fieldLabel:string}',
   },
   formatted: {
-    "en-us": "Formatted",
-    "ru-ru": "Отформатированный",
-    "es-es": "Formateado",
-    "fr-fr": "Formaté",
-    "uk-ua": "Відформатовано",
-    "de-ch": "Formatiert",
-    "pt-br": "Formatado",
+    'en-us': 'Formatted',
+    'ru-ru': 'Отформатированный',
+    'es-es': 'Formateado',
+    'fr-fr': 'Formaté',
+    'uk-ua': 'Відформатовано',
+    'de-ch': 'Formatiert',
+    'pt-br': 'Formatado',
   },
   webLink: {
-    "en-us": "Web Link",
-    "ru-ru": "Веб-ссылка",
-    "es-es": "Enlace web",
-    "fr-fr": "Lien Web",
-    "uk-ua": "Веб-посиланні",
-    "de-ch": "Web-Link",
-    "pt-br": "Link da Web",
+    'en-us': 'Web Link',
+    'ru-ru': 'Веб-ссылка',
+    'es-es': 'Enlace web',
+    'fr-fr': 'Lien Web',
+    'uk-ua': 'Веб-посиланні',
+    'de-ch': 'Web-Link',
+    'pt-br': 'Link da Web',
   },
   userDefined: {
-    "en-us": "User Defined",
-    "es-es": "Definido por el usuario",
-    "fr-fr": "Défini par l'utilisateur",
-    "uk-ua": "Визначено користувачем",
-    "de-ch": "Benutzerdefiniert",
-    "ru-ru": "Определяется пользователем",
-    "pt-br": "Definido pelo usuário",
+    'en-us': 'User Defined',
+    'es-es': 'Definido por el usuario',
+    'fr-fr': "Défini par l'utilisateur",
+    'uk-ua': 'Визначено користувачем',
+    'de-ch': 'Benutzerdefiniert',
+    'ru-ru': 'Определяется пользователем',
+    'pt-br': 'Definido pelo usuário',
   },
   addLanguage: {
-    "en-us": "Add Language",
-    "fr-fr": "Ajouter une langue",
-    "uk-ua": "Додати мову",
-    "de-ch": "Sprache hinzuzufügen",
-    "es-es": "Agregar idioma",
-    "ru-ru": "Добавить язык",
-    "pt-br": "Adicionar idioma",
+    'en-us': 'Add Language',
+    'fr-fr': 'Ajouter une langue',
+    'uk-ua': 'Додати мову',
+    'de-ch': 'Sprache hinzuzufügen',
+    'es-es': 'Agregar idioma',
+    'ru-ru': 'Добавить язык',
+    'pt-br': 'Adicionar idioma',
   },
   databaseColumn: {
-    "en-us": "Database Column",
-    "ru-ru": "Столбец базы данных",
-    "es-es": "Columna de base de datos",
-    "fr-fr": "Colonne de base de données",
-    "uk-ua": "Стовпець бази даних",
-    "de-ch": "Datenbank-Spalte",
-    "pt-br": "Coluna do banco de dados",
+    'en-us': 'Database Column',
+    'ru-ru': 'Столбец базы данных',
+    'es-es': 'Columna de base de datos',
+    'fr-fr': 'Colonne de base de données',
+    'uk-ua': 'Стовпець бази даних',
+    'de-ch': 'Datenbank-Spalte',
+    'pt-br': 'Coluna do banco de dados',
   },
   relatedTable: {
-    "en-us": "Related Model",
-    "ru-ru": "Связанная модель",
-    "es-es": "Modelo relacionado",
-    "fr-fr": "Modèle associé",
-    "uk-ua": "Пов'язана модель",
-    "de-ch": "Zugehöriges Modell",
-    "pt-br": "Modelo relacionado",
+    'en-us': 'Related Model',
+    'ru-ru': 'Связанная модель',
+    'es-es': 'Modelo relacionado',
+    'fr-fr': 'Modèle associé',
+    'uk-ua': "Пов'язана модель",
+    'de-ch': 'Zugehöriges Modell',
+    'pt-br': 'Modelo relacionado',
   },
   otherSideName: {
-    "en-us": "Other side name",
-    "ru-ru": "Имя другой стороны",
-    "fr-fr": "Nom de l'autre côté",
-    "uk-ua": "Інша назва сторони",
-    "de-ch": "Name der anderen Seite",
-    "es-es": "Nombre del otro lado",
-    "pt-br": "Nome do outro lado",
+    'en-us': 'Other side name',
+    'ru-ru': 'Имя другой стороны',
+    'fr-fr': "Nom de l'autre côté",
+    'uk-ua': 'Інша назва сторони',
+    'de-ch': 'Name der anderen Seite',
+    'es-es': 'Nombre del otro lado',
+    'pt-br': 'Nome do outro lado',
   },
   dependent: {
-    "en-us": "Dependent",
-    "ru-ru": "Зависимый",
-    "es-es": "Dependiente",
-    "fr-fr": "Dépendant",
-    "uk-ua": "Утриманець",
-    "de-ch": "Abhängig",
-    "pt-br": "Dependente",
+    'en-us': 'Dependent',
+    'ru-ru': 'Зависимый',
+    'es-es': 'Dependiente',
+    'fr-fr': 'Dépendant',
+    'uk-ua': 'Утриманець',
+    'de-ch': 'Abhängig',
+    'pt-br': 'Dependente',
   },
   independent: {
-    "en-us": "Independent",
-    "es-es": "Independiente",
-    "fr-fr": "Indépendant",
-    "ru-ru": "Независимый",
-    "uk-ua": "Незалежний",
-    "de-ch": "Unabhängig",
-    "pt-br": "Independente",
+    'en-us': 'Independent',
+    'es-es': 'Independiente',
+    'fr-fr': 'Indépendant',
+    'ru-ru': 'Независимый',
+    'uk-ua': 'Незалежний',
+    'de-ch': 'Unabhängig',
+    'pt-br': 'Independente',
   },
   downloadAsJson: {
-    "en-us": "Download as JSON",
-    "ru-ru": "Скачать как JSON",
-    "es-es": "Descargar como JSON",
-    "fr-fr": "Télécharger au format JSON",
-    "uk-ua": "Завантажити як JSON",
-    "de-ch": "Als JSON herunterladen",
-    "pt-br": "Baixar como JSON",
+    'en-us': 'Download as JSON',
+    'ru-ru': 'Скачать как JSON',
+    'es-es': 'Descargar como JSON',
+    'fr-fr': 'Télécharger au format JSON',
+    'uk-ua': 'Завантажити як JSON',
+    'de-ch': 'Als JSON herunterladen',
+    'pt-br': 'Baixar como JSON',
   },
   downloadAsXml: {
-    "en-us": "Download as XML",
-    "ru-ru": "Загрузить как XML",
-    "es-es": "Descargar como XML",
-    "fr-fr": "Télécharger au format XML",
-    "uk-ua": "Завантажити як XML",
-    "de-ch": "Als XML herunterladen",
-    "pt-br": "Baixar como XML",
+    'en-us': 'Download as XML',
+    'ru-ru': 'Загрузить как XML',
+    'es-es': 'Descargar como XML',
+    'fr-fr': 'Télécharger au format XML',
+    'uk-ua': 'Завантажити як XML',
+    'de-ch': 'Als XML herunterladen',
+    'pt-br': 'Baixar como XML',
   },
   downloadAsTsv: {
-    "en-us": "Download as TSV",
-    "ru-ru": "Загрузить как TSV",
-    "es-es": "Descargar como TSV",
-    "fr-fr": "Télécharger au format TSV",
-    "uk-ua": "Завантажити як TSV",
-    "de-ch": "Als TSV herunterladen",
-    "pt-br": "Baixar como TSV",
+    'en-us': 'Download as TSV',
+    'ru-ru': 'Загрузить как TSV',
+    'es-es': 'Descargar como TSV',
+    'fr-fr': 'Télécharger au format TSV',
+    'uk-ua': 'Завантажити як TSV',
+    'de-ch': 'Als TSV herunterladen',
+    'pt-br': 'Baixar como TSV',
   },
   tableId: {
-    "en-us": "Table ID",
-    "ru-ru": "Идентификатор таблицы",
-    "es-es": "ID de tabla",
-    "fr-fr": "ID de la table",
-    "uk-ua": "Ідентифікатор таблиці",
-    "de-ch": "Tabellen-ID",
-    "pt-br": "ID da tabela",
+    'en-us': 'Table ID',
+    'ru-ru': 'Идентификатор таблицы',
+    'es-es': 'ID de tabla',
+    'fr-fr': 'ID de la table',
+    'uk-ua': 'Ідентифікатор таблиці',
+    'de-ch': 'Tabellen-ID',
+    'pt-br': 'ID da tabela',
   },
   fieldCount: {
-    "en-us": "Field count",
-    "ru-ru": "Количество полей",
-    "es-es": "Recuento de campos",
-    "fr-fr": "Nombre de champs",
-    "uk-ua": "Кількість полів",
-    "de-ch": "Anzahl Felder",
-    "pt-br": "Contagem de campos",
+    'en-us': 'Field count',
+    'ru-ru': 'Количество полей',
+    'es-es': 'Recuento de campos',
+    'fr-fr': 'Nombre de champs',
+    'uk-ua': 'Кількість полів',
+    'de-ch': 'Anzahl Felder',
+    'pt-br': 'Contagem de campos',
   },
   relationshipCount: {
-    "en-us": "Relationship count",
-    "ru-ru": "Количество отношений",
-    "es-es": "Recuento de relaciones",
-    "fr-fr": "Nombre de relations",
-    "uk-ua": "Кількість зв'язків",
-    "de-ch": "Anzahl Beziehungen",
-    "pt-br": "Contagem de relacionamentos",
+    'en-us': 'Relationship count',
+    'ru-ru': 'Количество отношений',
+    'es-es': 'Recuento de relaciones',
+    'fr-fr': 'Nombre de relations',
+    'uk-ua': "Кількість зв'язків",
+    'de-ch': 'Anzahl Beziehungen',
+    'pt-br': 'Contagem de relacionamentos',
   },
   databaseSchema: {
-    "en-us": "Database Schema",
-    "ru-ru": "Схема базы данных",
-    "es-es": "Esquema de base de datos",
-    "fr-fr": "Schéma de base de données",
-    "uk-ua": "Схема бази даних",
-    "de-ch": "Datenbankschema",
-    "pt-br": "Esquema de banco de dados",
+    'en-us': 'Database Schema',
+    'ru-ru': 'Схема базы данных',
+    'es-es': 'Esquema de base de datos',
+    'fr-fr': 'Schéma de base de données',
+    'uk-ua': 'Схема бази даних',
+    'de-ch': 'Datenbankschema',
+    'pt-br': 'Esquema de banco de dados',
   },
   selectedTables: {
-    "en-us": "Selected Tables",
-    "ru-ru": "Избранные таблицы",
-    "es-es": "Tablas seleccionadas",
-    "fr-fr": "Tableaux sélectionnés",
-    "uk-ua": "Вибрані таблиці",
-    "de-ch": "Ausgewählte Tabellen",
-    "pt-br": "Tabelas Selecionadas",
+    'en-us': 'Selected Tables',
+    'ru-ru': 'Избранные таблицы',
+    'es-es': 'Tablas seleccionadas',
+    'fr-fr': 'Tableaux sélectionnés',
+    'uk-ua': 'Вибрані таблиці',
+    'de-ch': 'Ausgewählte Tabellen',
+    'pt-br': 'Tabelas Selecionadas',
   },
   possibleTables: {
-    "en-us": "Possible Tables",
-    "ru-ru": "Возможные таблицы",
-    "es-es": "Tablas posibles",
-    "fr-fr": "Tables possibles",
-    "uk-ua": "Можливі таблиці",
-    "de-ch": "Mögliche Tabellen",
-    "pt-br": "Tabelas Possíveis",
+    'en-us': 'Possible Tables',
+    'ru-ru': 'Возможные таблицы',
+    'es-es': 'Tablas posibles',
+    'fr-fr': 'Tables possibles',
+    'uk-ua': 'Можливі таблиці',
+    'de-ch': 'Mögliche Tabellen',
+    'pt-br': 'Tabelas Possíveis',
   },
   goToTop: {
-    "en-us": "Go to top",
-    "es-es": "Ir arriba",
-    "fr-fr": "Aller en haut",
-    "uk-ua": "Перейти на початок",
-    "de-ch": "Nach oben",
-    "ru-ru": "Перейти наверх",
-    "pt-br": "Ir para o topo",
+    'en-us': 'Go to top',
+    'es-es': 'Ir arriba',
+    'fr-fr': 'Aller en haut',
+    'uk-ua': 'Перейти на початок',
+    'de-ch': 'Nach oben',
+    'ru-ru': 'Перейти наверх',
+    'pt-br': 'Ir para o topo',
   },
   idField: {
-    "en-us": "ID Field",
-    "es-es": "Campo de identificación",
-    "fr-fr": "Champ d'identification",
-    "ru-ru": "Поле идентификатора",
-    "uk-ua": "Поле ідентифікатора",
-    "de-ch": "Feld-ID",
-    "pt-br": "Campo ID",
+    'en-us': 'ID Field',
+    'es-es': 'Campo de identificación',
+    'fr-fr': "Champ d'identification",
+    'ru-ru': 'Поле идентификатора',
+    'uk-ua': 'Поле ідентифікатора',
+    'de-ch': 'Feld-ID',
+    'pt-br': 'Campo ID',
   },
   tableUniquenessRules: {
-    "en-us": "{tableName:string} Uniqueness Rules",
-    "de-ch": "{tableName:string} Eindeutigkeitsregeln",
-    "es-es": "{tableName:string} Reglas de singularidad",
-    "fr-fr": "{tableName:string} Règles d'unicité",
-    "ru-ru": "{tableName:string} Правила уникальности",
-    "uk-ua": "{tableName:string} Правила унікальності",
-    "pt-br": "{tableName:string} Regras de Unicidade",
+    'en-us': '{tableName:string} Uniqueness Rules',
+    'de-ch': '{tableName:string} Eindeutigkeitsregeln',
+    'es-es': '{tableName:string} Reglas de singularidad',
+    'fr-fr': "{tableName:string} Règles d'unicité",
+    'ru-ru': '{tableName:string} Правила уникальности',
+    'uk-ua': '{tableName:string} Правила унікальності',
+    'pt-br': '{tableName:string} Regras de Unicidade',
   },
   uniquenessRules: {
-    "en-us": "Uniqueness Rules",
-    "de-ch": "Eindeutigkeitsregeln",
-    "es-es": "Reglas de unicidad",
-    "fr-fr": "Règles d'unicité",
-    "ru-ru": "Правила уникальности",
-    "uk-ua": "Правила унікальності",
-    "pt-br": "Regras de Unicidade",
+    'en-us': 'Uniqueness Rules',
+    'de-ch': 'Eindeutigkeitsregeln',
+    'es-es': 'Reglas de unicidad',
+    'fr-fr': "Règles d'unicité",
+    'ru-ru': 'Правила уникальности',
+    'uk-ua': 'Правила унікальності',
+    'pt-br': 'Regras de Unicidade',
   },
   uniqueFields: {
-    "en-us": "Unique Fields",
-    "de-ch": "Eindeutige Felder",
-    "es-es": "Campos únicos",
-    "fr-fr": "Champs uniques",
-    "ru-ru": "Уникальные поля",
-    "uk-ua": "Унікальні поля",
-    "pt-br": "Campos Únicos",
+    'en-us': 'Unique Fields',
+    'de-ch': 'Eindeutige Felder',
+    'es-es': 'Campos únicos',
+    'fr-fr': 'Champs uniques',
+    'ru-ru': 'Уникальные поля',
+    'uk-ua': 'Унікальні поля',
+    'pt-br': 'Campos Únicos',
   },
   addUniquenessRule: {
-    "en-us": "Add Uniqueness Rule",
-    "de-ch": "Eindeutigkeitsregel hinzufügen",
-    "es-es": "Agregar regla de unicidad",
-    "fr-fr": "Ajouter une règle d'unicité",
-    "ru-ru": "Добавить правило уникальности",
-    "uk-ua": "Додати правило унікальності",
-    "pt-br": "Adicionar regra de exclusividade",
+    'en-us': 'Add Uniqueness Rule',
+    'de-ch': 'Eindeutigkeitsregel hinzufügen',
+    'es-es': 'Agregar regla de unicidad',
+    'fr-fr': "Ajouter une règle d'unicité",
+    'ru-ru': 'Добавить правило уникальности',
+    'uk-ua': 'Додати правило унікальності',
+    'pt-br': 'Adicionar regra de exclusividade',
   },
   configureUniquenessRule: {
-    "en-us": "Configure Uniqueness Rule",
-    "de-ch": "Eindeutigkeitsregel konfigurieren",
-    "es-es": "Configurar regla de unicidad",
-    "fr-fr": "Configurer la règle d'unicité",
-    "ru-ru": "Настроить правило уникальности",
-    "uk-ua": "Налаштувати правило унікальності",
-    "pt-br": "Configurar regra de exclusividade",
+    'en-us': 'Configure Uniqueness Rule',
+    'de-ch': 'Eindeutigkeitsregel konfigurieren',
+    'es-es': 'Configurar regla de unicidad',
+    'fr-fr': "Configurer la règle d'unicité",
+    'ru-ru': 'Настроить правило уникальности',
+    'uk-ua': 'Налаштувати правило унікальності',
+    'pt-br': 'Configurar regra de exclusividade',
   },
   scope: {
-    "en-us": "Scope",
-    "es-es": "Alcance",
-    "fr-fr": "Portée",
-    "ru-ru": "Объем",
-    "uk-ua": "Сфера застосування",
-    "de-ch": "Anwendungsbereich",
-    "pt-br": "Escopo",
+    'en-us': 'Scope',
+    'es-es': 'Alcance',
+    'fr-fr': 'Portée',
+    'ru-ru': 'Объем',
+    'uk-ua': 'Сфера застосування',
+    'de-ch': 'Anwendungsbereich',
+    'pt-br': 'Escopo',
   },
   uniquenessDuplicatesFound: {
-    "en-us": "Duplicates found in database",
-    "de-ch": "In der Datenbank gefundene Duplikate",
-    "es-es": "muchos a uno",
-    "fr-fr": "Doublons trouvés dans la base de données",
-    "ru-ru": "В базе данных найдены дубликаты",
-    "uk-ua": "У базі даних знайдено дублікати",
-    "pt-br": "Duplicatas encontradas no banco de dados",
+    'en-us': 'Duplicates found in database',
+    'de-ch': 'In der Datenbank gefundene Duplikate',
+    'es-es': 'muchos a uno',
+    'fr-fr': 'Doublons trouvés dans la base de données',
+    'ru-ru': 'В базе данных найдены дубликаты',
+    'uk-ua': 'У базі даних знайдено дублікати',
+    'pt-br': 'Duplicatas encontradas no banco de dados',
   },
   exportDuplicates: {
-    "en-us": "Export Duplicates",
-    "de-ch": "Duplikate exportieren",
-    "es-es": "Exportar duplicados",
-    "fr-fr": "Exporter les doublons",
-    "ru-ru": "Экспортировать дубликаты",
-    "uk-ua": "Експорт дублікатів",
-    "pt-br": "Exportar Duplicatas",
+    'en-us': 'Export Duplicates',
+    'de-ch': 'Duplikate exportieren',
+    'es-es': 'Exportar duplicados',
+    'fr-fr': 'Exporter les doublons',
+    'ru-ru': 'Экспортировать дубликаты',
+    'uk-ua': 'Експорт дублікатів',
+    'pt-br': 'Exportar Duplicatas',
   },
   numberOfDuplicates: {
-    "en-us": "Number of Duplicates",
-    "de-ch": "Anzahl Duplikate",
-    "es-es": "Número de duplicados",
-    "fr-fr": "Nombre de doublons",
-    "ru-ru": "Количество дубликатов",
-    "uk-ua": "Кількість дублікатів",
-    "pt-br": "Número de duplicatas",
+    'en-us': 'Number of Duplicates',
+    'de-ch': 'Anzahl Duplikate',
+    'es-es': 'Número de duplicados',
+    'fr-fr': 'Nombre de doublons',
+    'ru-ru': 'Количество дубликатов',
+    'uk-ua': 'Кількість дублікатів',
+    'pt-br': 'Número de duplicatas',
   },
   schemaViewTitle: {
-    "en-us": "Schema Config: {tableName:string}",
-    "es-es": "Configuración del esquema: {tableName:string}",
-    "fr-fr": "Configuration du schéma : {tableName:string}",
-    "ru-ru": "Конфигурация схемы: {tableName:string}",
-    "uk-ua": "Конфігурація схеми: {tableName:string}",
-    "de-ch": "Schema-Konfiguration: {tableName:string}",
-    "pt-br": "Configuração do esquema: {tableName:string}",
+    'en-us': 'Schema Config: {tableName:string}',
+    'es-es': 'Configuración del esquema: {tableName:string}',
+    'fr-fr': 'Configuration du schéma : {tableName:string}',
+    'ru-ru': 'Конфигурация схемы: {tableName:string}',
+    'uk-ua': 'Конфігурація схеми: {tableName:string}',
+    'de-ch': 'Schema-Konfiguration: {tableName:string}',
+    'pt-br': 'Configuração do esquema: {tableName:string}',
   },
   schemaExportFileName: {
-    "en-us": "Specify 7 Data Model",
-    "ru-ru": "Укажите 7 моделей данных",
-    "es-es": "Especificar 7 modelos de datos",
-    "fr-fr": "Spécifier 7 modèles de données",
-    "uk-ua": "Specify 7 моделей даних",
-    "de-ch": "Specify 7 Datenmodell",
-    "pt-br": "Especifique 7 modelos de dados",
+    'en-us': 'Specify 7 Data Model',
+    'ru-ru': 'Укажите 7 моделей данных',
+    'es-es': 'Especificar 7 modelos de datos',
+    'fr-fr': 'Spécifier 7 modèles de données',
+    'uk-ua': 'Specify 7 моделей даних',
+    'de-ch': 'Specify 7 Datenmodell',
+    'pt-br': 'Especifique 7 modelos de dados',
   },
   sortByHiddenFields: {
-    "en-us": "Sort by hidden fields",
-    "de-ch": "Nach ausgeblendeten Feldern sortieren",
-    "es-es": "Ordenar por campos ocultos",
-    "fr-fr": "Trier par champs cachés",
-    "ru-ru": "Сортировать по скрытым полям",
-    "uk-ua": "Сортувати за прихованими полями",
-    "pt-br": "Classificar por campos ocultos",
+    'en-us': 'Sort by hidden fields',
+    'de-ch': 'Nach ausgeblendeten Feldern sortieren',
+    'es-es': 'Ordenar por campos ocultos',
+    'fr-fr': 'Trier par champs cachés',
+    'ru-ru': 'Сортировать по скрытым полям',
+    'uk-ua': 'Сортувати за прихованими полями',
+    'pt-br': 'Classificar por campos ocultos',
   },
   hidden: {
-    "en-us": "hidden",
-    "de-ch": "versteckt",
-    "es-es": "oculto",
-    "fr-fr": "caché",
-    "ru-ru": "скрытый",
-    "uk-ua": "прихований",
-    "pt-br": "escondido",
+    'en-us': 'hidden',
+    'de-ch': 'versteckt',
+    'es-es': 'oculto',
+    'fr-fr': 'caché',
+    'ru-ru': 'скрытый',
+    'uk-ua': 'прихований',
+    'pt-br': 'escondido',
   },
   customFieldFormat: {
-    "en-us": "Custom Field Format",
-    "de-ch": "Benutzerdefiniertes Feldformat",
-    "es-es": "Formato de campo personalizado",
-    "fr-fr": "Format de champ personnalisé",
-    "ru-ru": "Пользовательский формат поля",
-    "uk-ua": "Формат користувацького поля",
-    "pt-br": "Formato de campo personalizado",
+    'en-us': 'Custom Field Format',
+    'de-ch': 'Benutzerdefiniertes Feldformat',
+    'es-es': 'Formato de campo personalizado',
+    'fr-fr': 'Format de champ personnalisé',
+    'ru-ru': 'Пользовательский формат поля',
+    'uk-ua': 'Формат користувацького поля',
+    'pt-br': 'Formato de campo personalizado',
   },
 } as const);
diff --git a/specifyweb/frontend/js_src/lib/localization/tree.ts b/specifyweb/frontend/js_src/lib/localization/tree.ts
index 63a444f055d..a6a5ce09643 100644
--- a/specifyweb/frontend/js_src/lib/localization/tree.ts
+++ b/specifyweb/frontend/js_src/lib/localization/tree.ts
@@ -4,703 +4,703 @@
  * @module
  */
 
-import { createDictionary } from "./utils";
+import { createDictionary } from './utils';
 
 // Refer to "Guidelines for Programmers" in ./README.md before editing this file
 
 export const treeText = createDictionary({
   trees: {
-    "en-us": "Trees",
-    "ru-ru": "Деревья",
-    "es-es": "Árboles",
-    "fr-fr": "Arbres",
-    "uk-ua": "дерева",
-    "de-ch": "Hierarchien",
-    "pt-br": "Árvores",
+    'en-us': 'Trees',
+    'ru-ru': 'Деревья',
+    'es-es': 'Árboles',
+    'fr-fr': 'Arbres',
+    'uk-ua': 'дерева',
+    'de-ch': 'Hierarchien',
+    'pt-br': 'Árvores',
   },
   badStructure: {
-    "en-us": "Bad tree structure.",
-    "ru-ru": "Плохая структура дерева.",
-    "es-es": "Estructura de árbol incorrecta.",
-    "fr-fr": "Mauvaise arborescence.",
-    "uk-ua": "Погана структура дерева.",
-    "de-ch": "Fehlerhafte Baumstruktur.",
-    "pt-br": "Estrutura de árvore ruim.",
+    'en-us': 'Bad tree structure.',
+    'ru-ru': 'Плохая структура дерева.',
+    'es-es': 'Estructura de árbol incorrecta.',
+    'fr-fr': 'Mauvaise arborescence.',
+    'uk-ua': 'Погана структура дерева.',
+    'de-ch': 'Fehlerhafte Baumstruktur.',
+    'pt-br': 'Estrutura de árvore ruim.',
   },
   move: {
-    "en-us": "Move",
-    "ru-ru": "Двигаться",
-    "es-es": "Mover",
-    "fr-fr": "Déplacer",
-    "uk-ua": "рухатися",
-    "de-ch": "Verschieben",
-    "pt-br": "Mover",
+    'en-us': 'Move',
+    'ru-ru': 'Двигаться',
+    'es-es': 'Mover',
+    'fr-fr': 'Déplacer',
+    'uk-ua': 'рухатися',
+    'de-ch': 'Verschieben',
+    'pt-br': 'Mover',
   },
   merge: {
-    "en-us": "Merge",
-    "ru-ru": "Слияние",
-    "es-es": "Unir",
-    "fr-fr": "Fusionner",
-    "uk-ua": "Об’єднати",
-    "de-ch": "Zusammenführen",
-    "pt-br": "Mesclar",
+    'en-us': 'Merge',
+    'ru-ru': 'Слияние',
+    'es-es': 'Unir',
+    'fr-fr': 'Fusionner',
+    'uk-ua': 'Об’єднати',
+    'de-ch': 'Zusammenführen',
+    'pt-br': 'Mesclar',
   },
   undoSynonymy: {
-    "en-us": "Undo Synonymy",
-    "ru-ru": "Отменить синонимию",
-    "es-es": "Deshacer sinonimia",
-    "fr-fr": "Annuler la synonymie",
-    "uk-ua": "Скасувати синонімію",
-    "de-ch": "Synonymie rückgängig machen",
-    "pt-br": "Desfazer Sinonímia",
+    'en-us': 'Undo Synonymy',
+    'ru-ru': 'Отменить синонимию',
+    'es-es': 'Deshacer sinonimia',
+    'fr-fr': 'Annuler la synonymie',
+    'uk-ua': 'Скасувати синонімію',
+    'de-ch': 'Synonymie rückgängig machen',
+    'pt-br': 'Desfazer Sinonímia',
   },
   synonymize: {
-    "en-us": "Synonymize",
-    "ru-ru": "Подбирать синонимы",
-    "es-es": "Sinonimizar",
-    "fr-fr": "Synonymiser",
-    "uk-ua": "Синонімізувати",
-    "de-ch": "Synonymisieren",
-    "pt-br": "Sinonímia",
+    'en-us': 'Synonymize',
+    'ru-ru': 'Подбирать синонимы',
+    'es-es': 'Sinonimizar',
+    'fr-fr': 'Synonymiser',
+    'uk-ua': 'Синонімізувати',
+    'de-ch': 'Synonymisieren',
+    'pt-br': 'Sinonímia',
   },
   actionFailed: {
-    "en-us": "Operation failed",
-    "ru-ru": "Операция провалилась",
-    "es-es": "Operación fallida",
-    "fr-fr": "L'opération a échoué",
-    "uk-ua": "Операція не вдалася",
-    "de-ch": "Vorgang fehlgeschlagen",
-    "pt-br": "A operação falhou",
+    'en-us': 'Operation failed',
+    'ru-ru': 'Операция провалилась',
+    'es-es': 'Operación fallida',
+    'fr-fr': "L'opération a échoué",
+    'uk-ua': 'Операція не вдалася',
+    'de-ch': 'Vorgang fehlgeschlagen',
+    'pt-br': 'A operação falhou',
   },
   actionFailedDescription: {
-    "en-us":
-      "The operation could not be completed due to the following errors:",
-    "ru-ru": "Операция не может быть завершена из-за следующих ошибок:",
-    "es-es":
-      "La operación no se pudo completar debido a los siguientes errores:",
-    "fr-fr":
+    'en-us':
+      'The operation could not be completed due to the following errors:',
+    'ru-ru': 'Операция не может быть завершена из-за следующих ошибок:',
+    'es-es':
+      'La operación no se pudo completar debido a los siguientes errores:',
+    'fr-fr':
       "L'opération n'a pas pu être terminée en raison des erreurs suivantes :",
-    "de-ch":
-      "Der Vorgang konnte aufgrund der folgenden Fehler nicht ausgeführt werden:",
-    "uk-ua": "Операцію не вдалося завершити через такі помилки:",
-    "pt-br": "A operação não pôde ser concluída devido aos seguintes erros:",
+    'de-ch':
+      'Der Vorgang konnte aufgrund der folgenden Fehler nicht ausgeführt werden:',
+    'uk-ua': 'Операцію не вдалося завершити через такі помилки:',
+    'pt-br': 'A operação não pôde ser concluída devido aos seguintes erros:',
   },
   moveNode: {
-    "en-us": "Move node",
-    "ru-ru": "Переместить узел",
-    "es-es": "Mover nodo",
-    "fr-fr": "Déplacer le nœud",
-    "uk-ua": "Перемістити вузол",
-    "de-ch": "Knoten verschieben",
-    "pt-br": "Mover nó",
+    'en-us': 'Move node',
+    'ru-ru': 'Переместить узел',
+    'es-es': 'Mover nodo',
+    'fr-fr': 'Déplacer le nœud',
+    'uk-ua': 'Перемістити вузол',
+    'de-ch': 'Knoten verschieben',
+    'pt-br': 'Mover nó',
   },
   addChild: {
-    "en-us": "Add Child",
-    "ru-ru": "Добавить ребенка",
-    "es-es": "Agregar hijo",
-    "fr-fr": "Ajouter un enfant",
-    "uk-ua": "Додати дитину",
-    "de-ch": "Kind hinzuzufügen",
-    "pt-br": "Adicionar criança",
+    'en-us': 'Add Child',
+    'ru-ru': 'Добавить ребенка',
+    'es-es': 'Agregar hijo',
+    'fr-fr': 'Ajouter un enfant',
+    'uk-ua': 'Додати дитину',
+    'de-ch': 'Kind hinzuzufügen',
+    'pt-br': 'Adicionar criança',
   },
   moveNodeHere: {
-    "en-us": 'Move "{nodeName:string}" here',
-    "ru-ru": "Переместите «{nodeName:string}» сюда",
-    "es-es": 'Mover "{nodeName:string}" aquí',
-    "fr-fr": "Déplacer « {nodeName:string} » ici",
-    "uk-ua": 'Перемістіть сюди "{nodeName:string}"',
-    "de-ch": 'Verschiebe "{nodeName:string}" hierhin',
-    "pt-br": 'Mova "{nodeName:string}" aqui',
+    'en-us': 'Move "{nodeName:string}" here',
+    'ru-ru': 'Переместите «{nodeName:string}» сюда',
+    'es-es': 'Mover "{nodeName:string}" aquí',
+    'fr-fr': 'Déplacer « {nodeName:string} » ici',
+    'uk-ua': 'Перемістіть сюди "{nodeName:string}"',
+    'de-ch': 'Verschiebe "{nodeName:string}" hierhin',
+    'pt-br': 'Mova "{nodeName:string}" aqui',
   },
   moveNodePreparationsHere: {
-    "en-us": 'Move all "{nodeName:string}" preparations here',
-    "de-ch": 'Verschieben Sie alle "{nodeName:string}"-Vorbereitungen hierher',
-    "es-es": 'Mover todas las preparaciones "{nodeName:string}" aquí',
-    "fr-fr": "Déplacer toutes les préparations « {nodeName:string} » ici",
-    "ru-ru": "Переместить все препараты «{nodeName:string}» сюда",
-    "uk-ua": 'Перемістіть сюди всі препарати "{nodeName:string}"',
-    "pt-br": 'Mova todos os preparativos "{nodeName:string}" aqui',
+    'en-us': 'Move all "{nodeName:string}" preparations here',
+    'de-ch': 'Verschieben Sie alle "{nodeName:string}"-Vorbereitungen hierher',
+    'es-es': 'Mover todas las preparaciones "{nodeName:string}" aquí',
+    'fr-fr': 'Déplacer toutes les préparations « {nodeName:string} » ici',
+    'ru-ru': 'Переместить все препараты «{nodeName:string}» сюда',
+    'uk-ua': 'Перемістіть сюди всі препарати "{nodeName:string}"',
+    'pt-br': 'Mova todos os preparativos "{nodeName:string}" aqui',
   },
   nodeMoveMessage: {
-    "en-us":
+    'en-us':
       'The {treeName:string} node "{nodeName:string}" will be placed, along with all of its descendants, under the new parent "{parentName:string}".',
-    "ru-ru":
-      "Узел {treeName:string} «{nodeName:string}» будет помещен вместе со всеми его потомками под новый родительский узел «{parentName:string}».",
-    "es-es":
+    'ru-ru':
+      'Узел {treeName:string} «{nodeName:string}» будет помещен вместе со всеми его потомками под новый родительский узел «{parentName:string}».',
+    'es-es':
       'El nodo {treeName:string} "{nodeName:string}" se colocará, junto con todos sus descendientes, bajo el nuevo padre "{parentName:string}".',
-    "fr-fr":
-      "Le nœud {treeName:string} « {nodeName:string} » sera placé, avec tous ses descendants, sous le nouveau parent « {parentName:string} ».",
-    "uk-ua":
+    'fr-fr':
+      'Le nœud {treeName:string} « {nodeName:string} » sera placé, avec tous ses descendants, sous le nouveau parent « {parentName:string} ».',
+    'uk-ua':
       'Вузол {treeName:string} "{nodeName:string}" буде розміщено разом із усіма його нащадками під новим батьківським вузлом "{parentName:string}".',
-    "de-ch":
+    'de-ch':
       'Der {treeName:string} Knoten "{nodeName:string}" wird zusammen mit allen seinen Unterknoten unter den neuen übergeordneten Knoten "{parentName:string}" platziert.',
-    "pt-br":
+    'pt-br':
       'O nó {treeName:string} "{nodeName:string}" será colocado, junto com todos os seus descendentes, sob o novo pai "{parentName:string}".',
   },
   nodeBulkMoveMessage: {
-    "en-us":
+    'en-us':
       'The {treeName:string} node "{nodeName:string}" preparations will be placed under the new location "{parentName:string}".',
-    "de-ch":
-      "Die Vorbereitungen für den {treeName:string}-Knoten „{nodeName:string}“ werden unter dem neuen Standort „{parentName:string}“ platziert.",
-    "es-es":
+    'de-ch':
+      'Die Vorbereitungen für den {treeName:string}-Knoten „{nodeName:string}“ werden unter dem neuen Standort „{parentName:string}“ platziert.',
+    'es-es':
       'Las preparaciones del nodo {treeName:string} "{nodeName:string}" se colocarán en la nueva ubicación "{parentName:string}".',
-    "fr-fr":
-      "Les préparations du nœud {treeName:string} « {nodeName:string} » seront placées sous le nouvel emplacement « {parentName:string} ».",
-    "ru-ru":
-      "Заготовки узла {treeName:string} «{nodeName:string}» будут размещены в новом месте «{parentName:string}».",
-    "uk-ua":
+    'fr-fr':
+      'Les préparations du nœud {treeName:string} « {nodeName:string} » seront placées sous le nouvel emplacement « {parentName:string} ».',
+    'ru-ru':
+      'Заготовки узла {treeName:string} «{nodeName:string}» будут размещены в новом месте «{parentName:string}».',
+    'uk-ua':
       'Підготовка вузла {treeName:string} "{nodeName:string}" буде розміщена в новому місці розташування "{parentName:string}".',
-    "pt-br":
+    'pt-br':
       'Os preparativos do nó {treeName:string} "{nodeName:string}" serão colocados no novo local "{parentName:string}".',
   },
   cantMoveHere: {
-    "en-us": "Can't move this tree node here",
-    "ru-ru": "Невозможно переместить этот узел дерева сюда.",
-    "es-es": "No se puede mover este nodo del árbol aquí",
-    "fr-fr": "Impossible de déplacer ce nœud d'arbre ici",
-    "uk-ua": "Неможливо перемістити цей вузол дерева сюди",
-    "de-ch": "Dieser Knoten kann nicht hierhin verschoben werden",
-    "pt-br": "Não é possível mover este nó da árvore aqui",
+    'en-us': "Can't move this tree node here",
+    'ru-ru': 'Невозможно переместить этот узел дерева сюда.',
+    'es-es': 'No se puede mover este nodo del árbol aquí',
+    'fr-fr': "Impossible de déplacer ce nœud d'arbre ici",
+    'uk-ua': 'Неможливо перемістити цей вузол дерева сюди',
+    'de-ch': 'Dieser Knoten kann nicht hierhin verschoben werden',
+    'pt-br': 'Não é possível mover este nó da árvore aqui',
   },
   cantMergeHere: {
-    "en-us": "Can't merge this tree node here",
-    "ru-ru": "Невозможно объединить этот узел дерева здесь.",
-    "es-es": "No se puede fusionar este nodo de árbol aquí",
-    "fr-fr": "Impossible de fusionner ce nœud d'arbre ici",
-    "uk-ua": "Неможливо об’єднати цей вузол дерева тут",
-    "de-ch": "Dieser Knoten kann hier nicht zusammengelegt werden",
-    "pt-br": "Não é possível mesclar este nó da árvore aqui",
+    'en-us': "Can't merge this tree node here",
+    'ru-ru': 'Невозможно объединить этот узел дерева здесь.',
+    'es-es': 'No se puede fusionar este nodo de árbol aquí',
+    'fr-fr': "Impossible de fusionner ce nœud d'arbre ici",
+    'uk-ua': 'Неможливо об’єднати цей вузол дерева тут',
+    'de-ch': 'Dieser Knoten kann hier nicht zusammengelegt werden',
+    'pt-br': 'Não é possível mesclar este nó da árvore aqui',
   },
   cantMoveToSynonym: {
-    "en-us": "Can't move to a synonym",
-    "ru-ru": "Невозможно перейти к синониму",
-    "es-es": "No se puede mover a un sinónimo",
-    "fr-fr": "Impossible de passer à un synonyme",
-    "uk-ua": "Неможливо перейти до синоніма",
-    "de-ch": "Kann nicht zu einem Synonym verschieben",
-    "pt-br": "Não é possível mover para um sinônimo",
+    'en-us': "Can't move to a synonym",
+    'ru-ru': 'Невозможно перейти к синониму',
+    'es-es': 'No se puede mover a un sinónimo',
+    'fr-fr': 'Impossible de passer à un synonyme',
+    'uk-ua': 'Неможливо перейти до синоніма',
+    'de-ch': 'Kann nicht zu einem Synonym verschieben',
+    'pt-br': 'Não é possível mover para um sinônimo',
   },
   cantMergeIntoSynonym: {
-    "en-us": "Can't merge into synonyms",
-    "ru-ru": "Невозможно объединить в синонимы",
-    "es-es": "No se pueden fusionar en sinónimos",
-    "fr-fr": "Impossible de fusionner en synonymes",
-    "uk-ua": "Не можна об’єднувати в синоніми",
-    "de-ch": "Kann nicht zu Synonymen zusammenführen",
-    "pt-br": "Não é possível mesclar em sinônimos",
+    'en-us': "Can't merge into synonyms",
+    'ru-ru': 'Невозможно объединить в синонимы',
+    'es-es': 'No se pueden fusionar en sinónimos',
+    'fr-fr': 'Impossible de fusionner en synonymes',
+    'uk-ua': 'Не можна об’єднувати в синоніми',
+    'de-ch': 'Kann nicht zu Synonymen zusammenführen',
+    'pt-br': 'Não é possível mesclar em sinônimos',
   },
   cantSynonymizeSynonym: {
-    "en-us": "Can't synonymize with a synonym",
-    "ru-ru": "Невозможно синонимизировать с помощью синонима",
-    "es-es": "No se puede sinonimizar con un sinónimo",
-    "fr-fr": "Impossible de synonymiser avec un synonyme",
-    "uk-ua": "Не можна синонімізувати синонім",
-    "de-ch": "Kann nicht mit einem Synonym synonymisiert werden",
-    "pt-br": "Não é possível sinonimizar com um sinônimo",
+    'en-us': "Can't synonymize with a synonym",
+    'ru-ru': 'Невозможно синонимизировать с помощью синонима',
+    'es-es': 'No se puede sinonimizar con un sinónimo',
+    'fr-fr': 'Impossible de synonymiser avec un synonyme',
+    'uk-ua': 'Не можна синонімізувати синонім',
+    'de-ch': 'Kann nicht mit einem Synonym synonymisiert werden',
+    'pt-br': 'Não é possível sinonimizar com um sinônimo',
   },
   nodeMoveHintMessage: {
-    "en-us": 'Select a new parent for "{nodeName:string}"',
-    "ru-ru": "Выберите нового родителя для «{nodeName:string}»",
-    "es-es": 'Seleccione un nuevo padre para "{nodeName:string}"',
-    "fr-fr": "Sélectionnez un nouveau parent pour « {nodeName:string} »",
-    "uk-ua": 'Виберіть новий батьківський елемент для "{nodeName:string}"',
-    "de-ch": 'Wählen Sie ein neues Elternelement für "{nodeName:string}"',
-    "pt-br": 'Selecione um novo pai para "{nodeName:string}"',
+    'en-us': 'Select a new parent for "{nodeName:string}"',
+    'ru-ru': 'Выберите нового родителя для «{nodeName:string}»',
+    'es-es': 'Seleccione un nuevo padre para "{nodeName:string}"',
+    'fr-fr': 'Sélectionnez un nouveau parent pour « {nodeName:string} »',
+    'uk-ua': 'Виберіть новий батьківський елемент для "{nodeName:string}"',
+    'de-ch': 'Wählen Sie ein neues Elternelement für "{nodeName:string}"',
+    'pt-br': 'Selecione um novo pai para "{nodeName:string}"',
   },
   mergeNode: {
-    "en-us": "Merge node",
-    "ru-ru": "Узел слияния",
-    "es-es": "Fusionar el nodo",
-    "fr-fr": "Fusionner le nœud",
-    "uk-ua": "Вузол злиття",
-    "de-ch": "Knoten zusammenführen",
-    "pt-br": "Nó de mesclagem",
+    'en-us': 'Merge node',
+    'ru-ru': 'Узел слияния',
+    'es-es': 'Fusionar el nodo',
+    'fr-fr': 'Fusionner le nœud',
+    'uk-ua': 'Вузол злиття',
+    'de-ch': 'Knoten zusammenführen',
+    'pt-br': 'Nó de mesclagem',
   },
   mergeNodeHere: {
-    "en-us": 'Merge "{nodeName:string}" here',
-    "ru-ru": "Объединить «{nodeName:string}» здесь",
-    "es-es": 'Fusionar "{nodeName:string}" aquí',
-    "fr-fr": "Fusionner « {nodeName:string} » ici",
-    "uk-ua": 'Об\'єднайте "{nodeName:string}" тут',
-    "de-ch": 'Führe "{nodeName:string}" hier zusammen',
-    "pt-br": 'Mesclar "{nodeName:string}" aqui',
+    'en-us': 'Merge "{nodeName:string}" here',
+    'ru-ru': 'Объединить «{nodeName:string}» здесь',
+    'es-es': 'Fusionar "{nodeName:string}" aquí',
+    'fr-fr': 'Fusionner « {nodeName:string} » ici',
+    'uk-ua': 'Об\'єднайте "{nodeName:string}" тут',
+    'de-ch': 'Führe "{nodeName:string}" hier zusammen',
+    'pt-br': 'Mesclar "{nodeName:string}" aqui',
   },
   mergeNodeHintMessage: {
-    "en-us": 'Select a new target for "{nodeName:string}" to be merged into',
-    "ru-ru": "Выберите новую цель для объединения «{nodeName:string}»",
-    "es-es": 'Seleccione un nuevo objetivo para fusionar "{nodeName:string}"',
-    "fr-fr":
-      "Sélectionnez une nouvelle cible dans laquelle « {nodeName:string} » doit être fusionné",
-    "uk-ua":
-      "Виберіть нову ціль для «{nodeName:string}», у яку потрібно об’єднати",
-    "de-ch": 'Wähle ein neues Ziel um "{nodeName:string}" zusammenzuführen',
-    "pt-br": 'Selecione um novo alvo para "{nodeName:string}" a ser mesclado',
+    'en-us': 'Select a new target for "{nodeName:string}" to be merged into',
+    'ru-ru': 'Выберите новую цель для объединения «{nodeName:string}»',
+    'es-es': 'Seleccione un nuevo objetivo para fusionar "{nodeName:string}"',
+    'fr-fr':
+      'Sélectionnez une nouvelle cible dans laquelle « {nodeName:string} » doit être fusionné',
+    'uk-ua':
+      'Виберіть нову ціль для «{nodeName:string}», у яку потрібно об’єднати',
+    'de-ch': 'Wähle ein neues Ziel um "{nodeName:string}" zusammenzuführen',
+    'pt-br': 'Selecione um novo alvo para "{nodeName:string}" a ser mesclado',
   },
   bulkMoveNodeHintMessage: {
-    "en-us":
+    'en-us':
       'Select a new target for "{nodeName:string}" preparations to be moved into',
-    "de-ch":
+    'de-ch':
       'Wählen Sie ein neues Ziel für die "{nodeName:string}"-Vorbereitungen, in die Sie verschieben möchten',
-    "es-es":
+    'es-es':
       'Seleccione un nuevo objetivo para los preparaciones "{nodeName:string}" que se trasladarán a',
-    "fr-fr":
-      "Sélectionnez une nouvelle cible pour les préparations « {nodeName:string} » à déplacer",
-    "ru-ru":
-      "Выберите новую цель для перемещения препаратов «{nodeName:string}»",
-    "uk-ua":
+    'fr-fr':
+      'Sélectionnez une nouvelle cible pour les préparations « {nodeName:string} » à déplacer',
+    'ru-ru':
+      'Выберите новую цель для перемещения препаратов «{nodeName:string}»',
+    'uk-ua':
       'Виберіть нову ціль для препаратів "{nodeName:string}", до якої потрібно переміститися',
-    "pt-br":
+    'pt-br':
       'Selecione um novo alvo para os preparativos "{nodeName:string}" a serem movidos para',
   },
   mergeNodeMessage: {
-    "en-us":
+    'en-us':
       'All references to {treeName:string} node "{nodeName:string}" will be replaced with "{parentName:string}", and all descendants of "{nodeName:string}" will be moved to "{parentName:string}" with any descendants matching in name and rank being themselves merged recursively.',
-    "ru-ru":
-      "Все ссылки на узел {treeName:string} «{nodeName:string}» будут заменены на «{parentName:string}», а все потомки «{nodeName:string}» будут перемещены в «{parentName:string}», при этом все потомки, совпадающие по имени и рангу, будут рекурсивно объединены.",
-    "es-es":
+    'ru-ru':
+      'Все ссылки на узел {treeName:string} «{nodeName:string}» будут заменены на «{parentName:string}», а все потомки «{nodeName:string}» будут перемещены в «{parentName:string}», при этом все потомки, совпадающие по имени и рангу, будут рекурсивно объединены.',
+    'es-es':
       'Todas las referencias al nodo {treeName:string} "{nodeName:string}" serán reemplazadas por "{parentName:string}", todos los descendientes de "{nodeName:string}" se moverán a "{parentName:string}" y todos los descendientes que coincidan en nombre y rango se fusionarán de forma recursiva.',
-    "fr-fr":
-      "Toutes les références au nœud {treeName:string} « {nodeName:string} » seront remplacées par « {parentName:string} », et tous les descendants de « {nodeName:string} » seront déplacés vers « {parentName:string} », tous les descendants correspondant au nom et au rang étant eux-mêmes fusionnés de manière récursive.",
-    "uk-ua":
+    'fr-fr':
+      'Toutes les références au nœud {treeName:string} « {nodeName:string} » seront remplacées par « {parentName:string} », et tous les descendants de « {nodeName:string} » seront déplacés vers « {parentName:string} », tous les descendants correspondant au nom et au rang étant eux-mêmes fusionnés de manière récursive.',
+    'uk-ua':
       "Усі посилання на вузол {treeName:string} «{nodeName:string}» буде замінено на «{parentName:string}», а всі нащадки «{nodeName:string}» буде переміщено до «{parentName:string}», а будь-які нащадки, що відповідають імені та рангу, будуть самі собою об'єднані рекурсивно.",
-    "de-ch":
+    'de-ch':
       'Alle Referenzen zu {treeName:string} "{nodeName:string}" werden mit "{parentName:string}" ersetzt. Alle Nachkommen von "{nodeName:string}" werden nach "{parentName:string}" verschoben, wobei alle Nachkommen, die in Name und Rang übereinstimmen, selbst rekursiv zusammengeführt werden.',
-    "pt-br":
+    'pt-br':
       'Todas as referências ao nó {treeName:string} "{nodeName:string}" serão substituídas por "{parentName:string}", e todos os descendentes de "{nodeName:string}" serão movidos para "{parentName:string}", com quaisquer descendentes correspondentes em nome e classificação sendo eles próprios mesclados recursivamente.',
   },
   synonymizeNode: {
-    "en-us": "Synonymize node",
-    "ru-ru": "Узел синонимизации",
-    "es-es": "Sinonimizar nodo",
-    "fr-fr": "Synonymiser le nœud",
-    "uk-ua": "Синонімізувати вузол",
-    "de-ch": "Knoten synonymisieren",
-    "pt-br": "Sinonímia do nó",
+    'en-us': 'Synonymize node',
+    'ru-ru': 'Узел синонимизации',
+    'es-es': 'Sinonimizar nodo',
+    'fr-fr': 'Synonymiser le nœud',
+    'uk-ua': 'Синонімізувати вузол',
+    'de-ch': 'Knoten synonymisieren',
+    'pt-br': 'Sinonímia do nó',
   },
   makeSynonym: {
-    "en-us": "Make {nodeName:string} a synonym of {synonymName:string}",
-    "ru-ru": "Сделайте {nodeName:string} синонимом {synonymName:string}",
-    "es-es": "Hacer de {nodeName:string} un sinónimo de {synonymName:string}",
-    "fr-fr": "Faire de {nodeName:string} un synonyme de {synonymName:string}",
-    "uk-ua": "Зробити {nodeName:string} синонімом {synonymName:string}",
-    "de-ch":
-      "Aus {nodeName:string} ein Synonym von {synonymName:string} machen",
-    "pt-br": "Faça {nodeName:string} um sinônimo de {synonymName:string}",
+    'en-us': 'Make {nodeName:string} a synonym of {synonymName:string}',
+    'ru-ru': 'Сделайте {nodeName:string} синонимом {synonymName:string}',
+    'es-es': 'Hacer de {nodeName:string} un sinónimo de {synonymName:string}',
+    'fr-fr': 'Faire de {nodeName:string} un synonyme de {synonymName:string}',
+    'uk-ua': 'Зробити {nodeName:string} синонімом {synonymName:string}',
+    'de-ch':
+      'Aus {nodeName:string} ein Synonym von {synonymName:string} machen',
+    'pt-br': 'Faça {nodeName:string} um sinônimo de {synonymName:string}',
   },
   synonymizeNodeHintMessage: {
-    "en-us": 'Select a target for "{nodeName:string}" to be synonymized to',
-    "ru-ru": "Выберите цель для синонимизации «{nodeName:string}»",
-    "es-es":
+    'en-us': 'Select a target for "{nodeName:string}" to be synonymized to',
+    'ru-ru': 'Выберите цель для синонимизации «{nodeName:string}»',
+    'es-es':
       'Seleccione un objetivo para que "{nodeName:string}" se convierta en sinónimo',
-    "fr-fr":
-      "Sélectionnez une cible pour laquelle « {nodeName:string} » doit être synonyme",
-    "uk-ua": 'Виберіть ціль для "{nodeName:string}", який буде синонімічним',
-    "de-ch": 'Wähle Ziel um "{nodeName:string}" daran zu synonymisieren',
-    "pt-br": 'Selecione um alvo para "{nodeName:string}" ser sinonimizado',
+    'fr-fr':
+      'Sélectionnez une cible pour laquelle « {nodeName:string} » doit être synonyme',
+    'uk-ua': 'Виберіть ціль для "{nodeName:string}", який буде синонімічним',
+    'de-ch': 'Wähle Ziel um "{nodeName:string}" daran zu synonymisieren',
+    'pt-br': 'Selecione um alvo para "{nodeName:string}" ser sinonimizado',
   },
   synonymizeMessage: {
-    "en-us":
+    'en-us':
       'The {treeName:string} node "{nodeName:string}" will be made a synonym of "{synonymName:string}".',
-    "ru-ru":
-      "Узел {treeName:string} «{nodeName:string}» станет синонимом «{synonymName:string}».",
-    "es-es":
+    'ru-ru':
+      'Узел {treeName:string} «{nodeName:string}» станет синонимом «{synonymName:string}».',
+    'es-es':
       'El nodo {treeName:string} "{nodeName:string}" se convertirá en sinónimo de "{synonymName:string}".',
-    "fr-fr":
-      "Le nœud {treeName:string} « {nodeName:string} » deviendra synonyme de « {synonymName:string} ».",
-    "de-ch":
+    'fr-fr':
+      'Le nœud {treeName:string} « {nodeName:string} » deviendra synonyme de « {synonymName:string} ».',
+    'de-ch':
       'Der {treeName:string}-Knoten "{nodeName:string}" wird zu einem Synonym von "{synonymName:string}".',
-    "uk-ua":
+    'uk-ua':
       'Вузол {treeName:string} "{nodeName:string}" стане синонімом "{synonymName:string}".',
-    "pt-br":
+    'pt-br':
       'O nó {treeName:string} "{nodeName:string}" se tornará sinônimo de "{synonymName:string}".',
   },
   desynonymizeNode: {
-    "en-us": "Desynonymize node",
-    "ru-ru": "Узел десиномизации",
-    "es-es": "Desinonimizar nodo",
-    "fr-fr": "Désynonymiser le nœud",
-    "uk-ua": "Десинонімізувати вузол",
-    "de-ch": "Knoten desynonymisieren",
-    "pt-br": "Dessinonimizar nó",
+    'en-us': 'Desynonymize node',
+    'ru-ru': 'Узел десиномизации',
+    'es-es': 'Desinonimizar nodo',
+    'fr-fr': 'Désynonymiser le nœud',
+    'uk-ua': 'Десинонімізувати вузол',
+    'de-ch': 'Knoten desynonymisieren',
+    'pt-br': 'Dessinonimizar nó',
   },
   desynonymizeNodeMessage: {
-    "en-us":
+    'en-us':
       '"{nodeName:string}" will no longer be a synonym of "{synonymName:string}".',
-    "ru-ru":
-      "«{nodeName:string}» больше не будет синонимом «{synonymName:string}».",
-    "es-es":
+    'ru-ru':
+      '«{nodeName:string}» больше не будет синонимом «{synonymName:string}».',
+    'es-es':
       '"{nodeName:string}" ya no será sinónimo de "{synonymName:string}".',
-    "fr-fr":
-      "« {nodeName:string} » ne sera plus synonyme de « {synonymName:string} ».",
-    "de-ch":
+    'fr-fr':
+      '« {nodeName:string} » ne sera plus synonyme de « {synonymName:string} ».',
+    'de-ch':
       '"{nodeName:string}" wird nicht mehr ein Synonym von "{synonymName:string}" sein.',
-    "uk-ua":
+    'uk-ua':
       '"{nodeName:string}" більше не буде синонімом "{synonymName:string}".',
-    "pt-br":
+    'pt-br':
       '"{nodeName:string}" não será mais sinônimo de "{synonymName:string}".',
   },
   acceptedName: {
-    "en-us": "Preferred: {name:string}",
-    "ru-ru": "Предпочтительно: {name:string}",
-    "es-es": "Preferido: {name:string}",
-    "fr-fr": "Préféré : {name:string}",
-    "uk-ua": "Бажано: {name:string}",
-    "de-ch": "Bevorzugt: {name:string}",
-    "pt-br": "Preferido: {name:string}",
+    'en-us': 'Preferred: {name:string}',
+    'ru-ru': 'Предпочтительно: {name:string}',
+    'es-es': 'Preferido: {name:string}',
+    'fr-fr': 'Préféré : {name:string}',
+    'uk-ua': 'Бажано: {name:string}',
+    'de-ch': 'Bevorzugt: {name:string}',
+    'pt-br': 'Preferido: {name:string}',
   },
   synonyms: {
-    "en-us": "Synonyms: {names:string}",
-    "de-ch": "Synonyme: {names:string}",
-    "es-es": "Sinónimos: {names:string}",
-    "fr-fr": "Synonymes : {names:string}",
-    "ru-ru": "Синонимы: {names:string}",
-    "uk-ua": "Синоніми: {names:string}",
-    "pt-br": "Sinônimos: {names:string}",
+    'en-us': 'Synonyms: {names:string}',
+    'de-ch': 'Synonyme: {names:string}',
+    'es-es': 'Sinónimos: {names:string}',
+    'fr-fr': 'Synonymes : {names:string}',
+    'ru-ru': 'Синонимы: {names:string}',
+    'uk-ua': 'Синоніми: {names:string}',
+    'pt-br': 'Sinônimos: {names:string}',
   },
   treeViewTitle: {
-    "en-us": "{treeName:string} Tree",
-    "ru-ru": "{treeName:string} Дерево",
-    "es-es": "{treeName:string} Árbol",
-    "fr-fr": "{treeName:string} Arbre",
-    "uk-ua": "{treeName:string} Дерево",
-    "de-ch": "{treeName:string} Baum",
-    "pt-br": "{treeName:string} Árvore",
+    'en-us': '{treeName:string} Tree',
+    'ru-ru': '{treeName:string} Дерево',
+    'es-es': '{treeName:string} Árbol',
+    'fr-fr': '{treeName:string} Arbre',
+    'uk-ua': '{treeName:string} Дерево',
+    'de-ch': '{treeName:string} Baum',
+    'pt-br': '{treeName:string} Árvore',
   },
   searchTreePlaceholder: {
-    "en-us": "Search Tree",
-    "ru-ru": "Дерево поиска",
-    "es-es": "Árbol de búsqueda",
-    "fr-fr": "Rechercher dans l'arbre",
-    "uk-ua": "Дерево пошуку",
-    "de-ch": "Baum durchsuchen",
-    "pt-br": "Árvore de Pesquisa",
+    'en-us': 'Search Tree',
+    'ru-ru': 'Дерево поиска',
+    'es-es': 'Árbol de búsqueda',
+    'fr-fr': "Rechercher dans l'arbre",
+    'uk-ua': 'Дерево пошуку',
+    'de-ch': 'Baum durchsuchen',
+    'pt-br': 'Árvore de Pesquisa',
   },
   opened: {
-    "en-us": "Opened",
-    "ru-ru": "Открыто",
-    "es-es": "Abierto",
-    "fr-fr": "Ouvert",
-    "uk-ua": "Відкрито",
-    "de-ch": "Geöffnet",
-    "pt-br": "Aberto",
+    'en-us': 'Opened',
+    'ru-ru': 'Открыто',
+    'es-es': 'Abierto',
+    'fr-fr': 'Ouvert',
+    'uk-ua': 'Відкрито',
+    'de-ch': 'Geöffnet',
+    'pt-br': 'Aberto',
   },
   closed: {
-    "en-us": "Closed",
-    "ru-ru": "Закрыто",
-    "es-es": "Cerrado",
-    "fr-fr": "Fermé",
-    "uk-ua": "ЗАЧИНЕНО",
-    "de-ch": "Geschlossen",
-    "pt-br": "Fechado",
+    'en-us': 'Closed',
+    'ru-ru': 'Закрыто',
+    'es-es': 'Cerrado',
+    'fr-fr': 'Fermé',
+    'uk-ua': 'ЗАЧИНЕНО',
+    'de-ch': 'Geschlossen',
+    'pt-br': 'Fechado',
   },
   leafNode: {
-    "en-us": "Leaf Node",
-    "ru-ru": "Листовой узел",
-    "es-es": "Nodo de hoja",
-    "fr-fr": "Nœud feuille",
-    "uk-ua": "Листковий вузол",
-    "de-ch": "Blattknoten",
-    "pt-br": "Nó Folha",
+    'en-us': 'Leaf Node',
+    'ru-ru': 'Листовой узел',
+    'es-es': 'Nodo de hoja',
+    'fr-fr': 'Nœud feuille',
+    'uk-ua': 'Листковий вузол',
+    'de-ch': 'Blattknoten',
+    'pt-br': 'Nó Folha',
   },
   nodeStats: {
     comment: "Used to show tree node's direct and indirect usages",
-    "en-us": "({directCount:number|formatted}, {childCount:number|formatted})",
-    "ru-ru": "({directCount:number|formatted}, {childCount:number|formatted})",
-    "es-es": "({directCount:number|formatted}, {childCount:number|formatted})",
-    "fr-fr": "({directCount:number|formatted}, {childCount:number|formatted})",
-    "uk-ua": "({directCount:number|formatted}', {childCount:number|formatted})",
-    "de-ch": "({directCount:number|formatted}, {childCount:number|formatted})",
-    "pt-br": "({directCount:number|formatted}, {childCount:number|formatted})",
+    'en-us': '({directCount:number|formatted}, {childCount:number|formatted})',
+    'ru-ru': '({directCount:number|formatted}, {childCount:number|formatted})',
+    'es-es': '({directCount:number|formatted}, {childCount:number|formatted})',
+    'fr-fr': '({directCount:number|formatted}, {childCount:number|formatted})',
+    'uk-ua': "({directCount:number|formatted}', {childCount:number|formatted})",
+    'de-ch': '({directCount:number|formatted}, {childCount:number|formatted})',
+    'pt-br': '({directCount:number|formatted}, {childCount:number|formatted})',
   },
   leafNodeStats: {
     comment: "Used to show leaf tree node's direct usages",
-    "en-us": "({directCount:number|formatted})",
-    "ru-ru": "({directCount:number|formatted})",
-    "es-es": "({directCount:number|formatted})",
-    "fr-fr": "({directCount:number|formatted})",
-    "uk-ua": "({directCount:number|formatted})'",
-    "de-ch": "({directCount:number|formatted})",
-    "pt-br": "({directCount:number|formatted})",
+    'en-us': '({directCount:number|formatted})',
+    'ru-ru': '({directCount:number|formatted})',
+    'es-es': '({directCount:number|formatted})',
+    'fr-fr': '({directCount:number|formatted})',
+    'uk-ua': "({directCount:number|formatted})'",
+    'de-ch': '({directCount:number|formatted})',
+    'pt-br': '({directCount:number|formatted})',
   },
   directCollectionObjectCount: {
-    comment: "Example: Direct Collection Object count",
-    "en-us": "Direct {collectionObjectTable:string} Count",
-    "ru-ru": "Прямой {collectionObjectTable:string} счет",
-    "es-es": "Recuento directo {collectionObjectTable:string}",
-    "de-ch": "Direkte {collectionObjectTable:string} Anzahl",
-    "fr-fr": "Compte direct {collectionObjectTable:string}",
-    "uk-ua": "Прямий підрахунок {collectionObjectTable:string}",
-    "pt-br": "Contagem direta {collectionObjectTable:string}",
+    comment: 'Example: Direct Collection Object count',
+    'en-us': 'Direct {collectionObjectTable:string} Count',
+    'ru-ru': 'Прямой {collectionObjectTable:string} счет',
+    'es-es': 'Recuento directo {collectionObjectTable:string}',
+    'de-ch': 'Direkte {collectionObjectTable:string} Anzahl',
+    'fr-fr': 'Compte direct {collectionObjectTable:string}',
+    'uk-ua': 'Прямий підрахунок {collectionObjectTable:string}',
+    'pt-br': 'Contagem direta {collectionObjectTable:string}',
   },
   indirectCollectionObjectCount: {
-    comment: "Example: Indirect Collection Object count",
-    "en-us": "Indirect {collectionObjectTable:string} Count",
-    "ru-ru": "Косвенный {collectionObjectTable:string} счет",
-    "es-es": "Recuento indirecto {collectionObjectTable:string}",
-    "fr-fr": "Compte indirect {collectionObjectTable:string}",
-    "uk-ua": "Непрямий підрахунок {collectionObjectTable:string}",
-    "de-ch": "Indirekte {collectionObjectTable:string} Anzahl",
-    "pt-br": "Contagem indireta {collectionObjectTable:string}",
+    comment: 'Example: Indirect Collection Object count',
+    'en-us': 'Indirect {collectionObjectTable:string} Count',
+    'ru-ru': 'Косвенный {collectionObjectTable:string} счет',
+    'es-es': 'Recuento indirecto {collectionObjectTable:string}',
+    'fr-fr': 'Compte indirect {collectionObjectTable:string}',
+    'uk-ua': 'Непрямий підрахунок {collectionObjectTable:string}',
+    'de-ch': 'Indirekte {collectionObjectTable:string} Anzahl',
+    'pt-br': 'Contagem indireta {collectionObjectTable:string}',
   },
   editRanks: {
-    "en-us": "Edit Ranks",
-    "ru-ru": "Редактировать ранги",
-    "es-es": "Editar rangos",
-    "fr-fr": "Modifier les rangs",
-    "uk-ua": "Редагувати ранги",
-    "de-ch": "Positionen bearbeiten",
-    "pt-br": "Editar classificações",
+    'en-us': 'Edit Ranks',
+    'ru-ru': 'Редактировать ранги',
+    'es-es': 'Editar rangos',
+    'fr-fr': 'Modifier les rangs',
+    'uk-ua': 'Редагувати ранги',
+    'de-ch': 'Positionen bearbeiten',
+    'pt-br': 'Editar classificações',
   },
   resourceToDelete: {
-    "en-us": "This will permanently delete the following resource",
-    "es-es": "Esto eliminará permanentemente el siguiente recurso",
-    "fr-fr": "Cela supprimera définitivement la ressource suivante",
-    "ru-ru": "Это приведет к безвозвратному удалению следующего ресурса:",
-    "uk-ua": "Це призведе до остаточного видалення наступного ресурсу",
-    "de-ch": "Dadurch wird die folgende Ressource dauerhaft gelöscht",
-    "pt-br": "Isso excluirá permanentemente o seguinte recurso",
+    'en-us': 'This will permanently delete the following resource',
+    'es-es': 'Esto eliminará permanentemente el siguiente recurso',
+    'fr-fr': 'Cela supprimera définitivement la ressource suivante',
+    'ru-ru': 'Это приведет к безвозвратному удалению следующего ресурса:',
+    'uk-ua': 'Це призведе до остаточного видалення наступного ресурсу',
+    'de-ch': 'Dadurch wird die folgende Ressource dauerhaft gelöscht',
+    'pt-br': 'Isso excluirá permanentemente o seguinte recurso',
   },
   associatedNodesOnly: {
-    "en-us": "Show only nodes with associated objects",
-    "de-ch": "Nur Knoten mit zugehörigen Objekten anzeigen",
-    "es-es": "Mostrar solo nodos con objetos asociados",
-    "fr-fr": "Afficher uniquement les nœuds avec des objets associés",
-    "ru-ru": "Показывать только узлы со связанными объектами",
-    "uk-ua": "Показувати лише вузли з пов'язаними об'єктами",
-    "pt-br": "Mostrar apenas nós com objetos associados",
+    'en-us': 'Show only nodes with associated objects',
+    'de-ch': 'Nur Knoten mit zugehörigen Objekten anzeigen',
+    'es-es': 'Mostrar solo nodos con objetos asociados',
+    'fr-fr': 'Afficher uniquement les nœuds avec des objets associés',
+    'ru-ru': 'Показывать только узлы со связанными объектами',
+    'uk-ua': "Показувати лише вузли з пов'язаними об'єктами",
+    'pt-br': 'Mostrar apenas nós com objetos associados',
   },
   splitView: {
-    "en-us": "Split View",
-    "de-ch": "Geteilte Sicht",
-    "es-es": "Vista dividida",
-    "fr-fr": "Vue fractionnée",
-    "ru-ru": "Разделенный вид",
-    "uk-ua": "Розділений вид",
-    "pt-br": "Visualização dividida",
+    'en-us': 'Split View',
+    'de-ch': 'Geteilte Sicht',
+    'es-es': 'Vista dividida',
+    'fr-fr': 'Vue fractionnée',
+    'ru-ru': 'Разделенный вид',
+    'uk-ua': 'Розділений вид',
+    'pt-br': 'Visualização dividida',
   },
   horizontal: {
-    "en-us": "Horizontal",
-    "de-ch": "Horizontal",
-    "es-es": "Horizontal",
-    "fr-fr": "Horizontal",
-    "ru-ru": "Горизонтальный",
-    "uk-ua": "Горизонтальний",
-    "pt-br": "Horizontal",
+    'en-us': 'Horizontal',
+    'de-ch': 'Horizontal',
+    'es-es': 'Horizontal',
+    'fr-fr': 'Horizontal',
+    'ru-ru': 'Горизонтальный',
+    'uk-ua': 'Горизонтальний',
+    'pt-br': 'Horizontal',
   },
   vertical: {
-    "en-us": "Vertical",
-    "de-ch": "Vertikal",
-    "es-es": "Vertical",
-    "fr-fr": "Vertical",
-    "ru-ru": "Вертикальный",
-    "uk-ua": "Вертикальний",
-    "pt-br": "Vertical",
+    'en-us': 'Vertical',
+    'de-ch': 'Vertikal',
+    'es-es': 'Vertical',
+    'fr-fr': 'Vertical',
+    'ru-ru': 'Вертикальный',
+    'uk-ua': 'Вертикальний',
+    'pt-br': 'Vertical',
   },
   synchronize: {
-    "en-us": "Synchronize",
-    "de-ch": "Synchronisieren",
-    "es-es": "Sincronizar",
-    "fr-fr": "Synchroniser",
-    "uk-ua": "Синхронізувати",
-    "ru-ru": "Синхронизировать",
-    "pt-br": "Sincronizar",
+    'en-us': 'Synchronize',
+    'de-ch': 'Synchronisieren',
+    'es-es': 'Sincronizar',
+    'fr-fr': 'Synchroniser',
+    'uk-ua': 'Синхронізувати',
+    'ru-ru': 'Синхронизировать',
+    'pt-br': 'Sincronizar',
   },
   addNewRank: {
-    "en-us": "Add New Rank",
-    "de-ch": "Neuen Rang hinzufügen",
-    "es-es": "Añadir nuevo rango",
-    "fr-fr": "Ajouter un nouveau rang",
-    "ru-ru": "Добавить новый ранг",
-    "uk-ua": "Додати новий ранг",
-    "pt-br": "Adicionar nova classificação",
+    'en-us': 'Add New Rank',
+    'de-ch': 'Neuen Rang hinzufügen',
+    'es-es': 'Añadir nuevo rango',
+    'fr-fr': 'Ajouter un nouveau rang',
+    'ru-ru': 'Добавить новый ранг',
+    'uk-ua': 'Додати новий ранг',
+    'pt-br': 'Adicionar nova classificação',
   },
   chooseParentRank: {
-    "en-us": "Choose Parent Rank",
-    "de-ch": "Wählen Sie den übergeordneten Rang",
-    "es-es": "Elija el rango de los padres",
-    "fr-fr": "Choisissez le rang des parents",
-    "ru-ru": "Выберите родительский ранг",
-    "uk-ua": "Виберіть батьківський рейтинг",
-    "pt-br": "Escolha a classificação dos pais",
+    'en-us': 'Choose Parent Rank',
+    'de-ch': 'Wählen Sie den übergeordneten Rang',
+    'es-es': 'Elija el rango de los padres',
+    'fr-fr': 'Choisissez le rang des parents',
+    'ru-ru': 'Выберите родительский ранг',
+    'uk-ua': 'Виберіть батьківський рейтинг',
+    'pt-br': 'Escolha a classificação dos pais',
   },
   moveItems: {
-    "en-us": "Move Items",
-    "de-ch": "Elemente verschieben",
-    "es-es": "Mover elementos",
-    "fr-fr": "Déplacer des éléments",
-    "ru-ru": "Переместить элементы",
-    "uk-ua": "Переміщення елементів",
-    "pt-br": "Mover itens",
+    'en-us': 'Move Items',
+    'de-ch': 'Elemente verschieben',
+    'es-es': 'Mover elementos',
+    'fr-fr': 'Déplacer des éléments',
+    'ru-ru': 'Переместить элементы',
+    'uk-ua': 'Переміщення елементів',
+    'pt-br': 'Mover itens',
   },
   addTree: {
-    "en-us": "Add Tree",
-    "de-ch": "Baum hinzufügen",
-    "es-es": "Agregar árbol",
-    "fr-fr": "Ajouter un arbre",
-    "pt-br": "Adicionar árvore",
-    "ru-ru": "Добавить дерево",
-    "uk-ua": "Додати дерево",
+    'en-us': 'Add Tree',
+    'de-ch': 'Baum hinzufügen',
+    'es-es': 'Agregar árbol',
+    'fr-fr': 'Ajouter un arbre',
+    'pt-br': 'Adicionar árvore',
+    'ru-ru': 'Добавить дерево',
+    'uk-ua': 'Додати дерево',
   },
   addRootNode: {
-    "en-us": "Add root node",
-    "de-ch": "Stammknoten hinzufügen",
-    "es-es": "Agregar nodo raíz",
-    "fr-fr": "Ajouter un nœud racine",
-    "pt-br": "Adicionar nó raiz",
-    "ru-ru": "Добавить корневой узел",
-    "uk-ua": "Додати кореневий вузол",
+    'en-us': 'Add root node',
+    'de-ch': 'Stammknoten hinzufügen',
+    'es-es': 'Agregar nodo raíz',
+    'fr-fr': 'Ajouter un nœud racine',
+    'pt-br': 'Adicionar nó raiz',
+    'ru-ru': 'Добавить корневой узел',
+    'uk-ua': 'Додати кореневий вузол',
   },
   treePicker: {
-    "en-us": "Tree Picker",
-    "de-ch": "Baumpflücker",
-    "es-es": "Selector de árboles",
-    "fr-fr": "Cueilleur d'arbres",
-    "pt-br": "Colhedor de árvores",
-    "ru-ru": "Сборщик деревьев",
-    "uk-ua": "Збирач дерев",
+    'en-us': 'Tree Picker',
+    'de-ch': 'Baumpflücker',
+    'es-es': 'Selector de árboles',
+    'fr-fr': "Cueilleur d'arbres",
+    'pt-br': 'Colhedor de árvores',
+    'ru-ru': 'Сборщик деревьев',
+    'uk-ua': 'Збирач дерев',
   },
   botany: {
-    "en-us": "Botany",
-    "de-ch": "Botanik",
-    "es-es": "Botánica",
-    "fr-fr": "Botanique",
-    "pt-br": "Botânica",
-    "ru-ru": "Ботаника",
-    "uk-ua": "Ботаніка",
+    'en-us': 'Botany',
+    'de-ch': 'Botanik',
+    'es-es': 'Botánica',
+    'fr-fr': 'Botanique',
+    'pt-br': 'Botânica',
+    'ru-ru': 'Ботаника',
+    'uk-ua': 'Ботаніка',
   },
   entomology: {
-    "en-us": "Entomology",
-    "de-ch": "Entomologie",
-    "es-es": "Entomología",
-    "fr-fr": "Entomologie",
-    "pt-br": "Entomologia",
-    "ru-ru": "Энтомология",
-    "uk-ua": "Ентомологія",
+    'en-us': 'Entomology',
+    'de-ch': 'Entomologie',
+    'es-es': 'Entomología',
+    'fr-fr': 'Entomologie',
+    'pt-br': 'Entomologia',
+    'ru-ru': 'Энтомология',
+    'uk-ua': 'Ентомологія',
   },
   herpetology: {
-    "en-us": "Herpetology",
-    "de-ch": "Herpetologie",
-    "es-es": "Herpetología",
-    "fr-fr": "Herpétologie",
-    "pt-br": "Herpetologia",
-    "ru-ru": "Герпетология",
-    "uk-ua": "Герпетологія",
+    'en-us': 'Herpetology',
+    'de-ch': 'Herpetologie',
+    'es-es': 'Herpetología',
+    'fr-fr': 'Herpétologie',
+    'pt-br': 'Herpetologia',
+    'ru-ru': 'Герпетология',
+    'uk-ua': 'Герпетологія',
   },
   ichthyology: {
-    "en-us": "Ichthyology",
-    "de-ch": "Fischkunde",
-    "es-es": "Ictiología",
-    "fr-fr": "Ichtyologie",
-    "pt-br": "Ictiologia",
-    "ru-ru": "Ихтиология",
-    "uk-ua": "Іхтіологія",
+    'en-us': 'Ichthyology',
+    'de-ch': 'Fischkunde',
+    'es-es': 'Ictiología',
+    'fr-fr': 'Ichtyologie',
+    'pt-br': 'Ictiologia',
+    'ru-ru': 'Ихтиология',
+    'uk-ua': 'Іхтіологія',
   },
   invertpaleo: {
-    "en-us": "Invertebrate Paleontology",
-    "de-ch": "Paläontologie der Wirbellosen",
-    "es-es": "Paleontología de invertebrados",
-    "fr-fr": "Paléontologie des invertébrés",
-    "pt-br": "Paleontologia de Invertebrados",
-    "ru-ru": "Палеонтология беспозвоночных",
-    "uk-ua": "Палеонтологія безхребетних",
+    'en-us': 'Invertebrate Paleontology',
+    'de-ch': 'Paläontologie der Wirbellosen',
+    'es-es': 'Paleontología de invertebrados',
+    'fr-fr': 'Paléontologie des invertébrés',
+    'pt-br': 'Paleontologia de Invertebrados',
+    'ru-ru': 'Палеонтология беспозвоночных',
+    'uk-ua': 'Палеонтологія безхребетних',
   },
   invertzoo: {
-    "en-us": "Invertebrate Zoology",
-    "de-ch": "Wirbellose Zoologie",
-    "es-es": "Zoología de invertebrados",
-    "fr-fr": "Zoologie des invertébrés",
-    "pt-br": "Zoologia de Invertebrados",
-    "ru-ru": "Зоология беспозвоночных",
-    "uk-ua": "Зоологія безхребетних",
+    'en-us': 'Invertebrate Zoology',
+    'de-ch': 'Wirbellose Zoologie',
+    'es-es': 'Zoología de invertebrados',
+    'fr-fr': 'Zoologie des invertébrés',
+    'pt-br': 'Zoologia de Invertebrados',
+    'ru-ru': 'Зоология беспозвоночных',
+    'uk-ua': 'Зоологія безхребетних',
   },
   mammalogy: {
-    "en-us": "Mammalogy",
-    "de-ch": "Mammalogie",
-    "es-es": "Mastozoología",
-    "fr-fr": "Mammalogie",
-    "pt-br": "Mammalogia",
-    "ru-ru": "Маммология",
-    "uk-ua": "Мамалогія",
+    'en-us': 'Mammalogy',
+    'de-ch': 'Mammalogie',
+    'es-es': 'Mastozoología',
+    'fr-fr': 'Mammalogie',
+    'pt-br': 'Mammalogia',
+    'ru-ru': 'Маммология',
+    'uk-ua': 'Мамалогія',
   },
   ornithology: {
-    "en-us": "Ornithology",
-    "de-ch": "Vogelkunde",
-    "es-es": "Ornitología",
-    "fr-fr": "Ornithologie",
-    "pt-br": "Ornitologia",
-    "ru-ru": "Орнитология",
-    "uk-ua": "Орнітологія",
+    'en-us': 'Ornithology',
+    'de-ch': 'Vogelkunde',
+    'es-es': 'Ornitología',
+    'fr-fr': 'Ornithologie',
+    'pt-br': 'Ornitologia',
+    'ru-ru': 'Орнитология',
+    'uk-ua': 'Орнітологія',
   },
   paleobot: {
-    "en-us": "Paleobotany",
-    "de-ch": "Paläobotanik",
-    "es-es": "Paleobotánica",
-    "fr-fr": "Paléobotanique",
-    "pt-br": "Paleobotânica",
-    "ru-ru": "Палеоботаника",
-    "uk-ua": "Палеоботаніка",
+    'en-us': 'Paleobotany',
+    'de-ch': 'Paläobotanik',
+    'es-es': 'Paleobotánica',
+    'fr-fr': 'Paléobotanique',
+    'pt-br': 'Paleobotânica',
+    'ru-ru': 'Палеоботаника',
+    'uk-ua': 'Палеоботаніка',
   },
   vascplant: {
-    "en-us": "Vascular Plants",
-    "de-ch": "Gefäßpflanzen",
-    "es-es": "Plantas vasculares",
-    "fr-fr": "Plantes vasculaires",
-    "pt-br": "Plantas Vasculares",
-    "ru-ru": "Сосудистые растения",
-    "uk-ua": "Судинні рослини",
+    'en-us': 'Vascular Plants',
+    'de-ch': 'Gefäßpflanzen',
+    'es-es': 'Plantas vasculares',
+    'fr-fr': 'Plantes vasculaires',
+    'pt-br': 'Plantas Vasculares',
+    'ru-ru': 'Сосудистые растения',
+    'uk-ua': 'Судинні рослини',
   },
   vertpaleo: {
-    "en-us": "Vertebrate Paleontology",
-    "de-ch": "Wirbeltierpaläontologie",
-    "es-es": "Paleontología de vertebrados",
-    "fr-fr": "Paléontologie des vertébrés",
-    "pt-br": "Paleontologia de Vertebrados",
-    "ru-ru": "Палеонтология позвоночных",
-    "uk-ua": "Палеонтологія хребетних",
+    'en-us': 'Vertebrate Paleontology',
+    'de-ch': 'Wirbeltierpaläontologie',
+    'es-es': 'Paleontología de vertebrados',
+    'fr-fr': 'Paléontologie des vertébrés',
+    'pt-br': 'Paleontologia de Vertebrados',
+    'ru-ru': 'Палеонтология позвоночных',
+    'uk-ua': 'Палеонтологія хребетних',
   },
   defaultRemarks: {
-    "en-us": "A default taxon tree",
-    "de-ch": "Ein Standard-Taxonbaum",
-    "es-es": "Un árbol de taxones predeterminado",
-    "fr-fr": "Un arbre taxonomique par défaut",
-    "pt-br": "Uma árvore de táxons padrão",
-    "ru-ru": "Дерево таксона по умолчанию",
-    "uk-ua": "Дерево таксонів за замовчуванням",
+    'en-us': 'A default taxon tree',
+    'de-ch': 'Ein Standard-Taxonbaum',
+    'es-es': 'Un árbol de taxones predeterminado',
+    'fr-fr': 'Un arbre taxonomique par défaut',
+    'pt-br': 'Uma árvore de táxons padrão',
+    'ru-ru': 'Дерево таксона по умолчанию',
+    'uk-ua': 'Дерево таксонів за замовчуванням',
   },
   emptyTree: {
-    "en-us": "Empty Tree",
-    "de-ch": "Leerer Baum",
-    "es-es": "Árbol vacío",
-    "fr-fr": "Arbre vide",
-    "pt-br": "Árvore vazia",
-    "ru-ru": "Пустое дерево",
-    "uk-ua": "Порожнє дерево",
+    'en-us': 'Empty Tree',
+    'de-ch': 'Leerer Baum',
+    'es-es': 'Árbol vacío',
+    'fr-fr': 'Arbre vide',
+    'pt-br': 'Árvore vazia',
+    'ru-ru': 'Пустое дерево',
+    'uk-ua': 'Порожнє дерево',
   },
   minerals: {
-    "en-us": "Minerals",
-    "de-ch": "Mineralien",
-    "es-es": "Minerales",
-    "fr-fr": "Minéraux",
-    "pt-br": "Minerais",
-    "ru-ru": "Минералы",
-    "uk-ua": "Мінерали",
+    'en-us': 'Minerals',
+    'de-ch': 'Mineralien',
+    'es-es': 'Minerales',
+    'fr-fr': 'Minéraux',
+    'pt-br': 'Minerais',
+    'ru-ru': 'Минералы',
+    'uk-ua': 'Мінерали',
   },
   rocks: {
-    "en-us": "Rocks",
-    "de-ch": "Felsen",
-    "es-es": "Rocas",
-    "fr-fr": "Rochers",
-    "pt-br": "Rochas",
-    "ru-ru": "Скалы",
-    "uk-ua": "Скелі",
+    'en-us': 'Rocks',
+    'de-ch': 'Felsen',
+    'es-es': 'Rocas',
+    'fr-fr': 'Rochers',
+    'pt-br': 'Rochas',
+    'ru-ru': 'Скалы',
+    'uk-ua': 'Скелі',
   },
   meteorites: {
-    "en-us": "Meteorites",
-    "de-ch": "Meteoriten",
-    "es-es": "Meteoritos",
-    "fr-fr": "Météorites",
-    "pt-br": "Meteoritos",
-    "ru-ru": "Метеориты",
-    "uk-ua": "Метеорити",
+    'en-us': 'Meteorites',
+    'de-ch': 'Meteoriten',
+    'es-es': 'Meteoritos',
+    'fr-fr': 'Météorites',
+    'pt-br': 'Meteoritos',
+    'ru-ru': 'Метеориты',
+    'uk-ua': 'Метеорити',
   },
 } as const);
From 159dd756c451bf53e131852040aba83e3f50f7f2 Mon Sep 17 00:00:00 2001
From: Grant Fitzsimmons <37256050+grantfitzsimmons@users.noreply.github.com>
Date: Thu, 30 Oct 2025 20:56:06 +0000
Subject: [PATCH 5/5] Lint code with ESLint and Prettier
Triggered by 2e290adea2978e18897099737432750ad59553b3 on branch refs/heads/issue-6446
---
 .../lib/components/InitialContext/systemInfo.ts    | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/specifyweb/frontend/js_src/lib/components/InitialContext/systemInfo.ts b/specifyweb/frontend/js_src/lib/components/InitialContext/systemInfo.ts
index da2414c3854..21518f41335 100644
--- a/specifyweb/frontend/js_src/lib/components/InitialContext/systemInfo.ts
+++ b/specifyweb/frontend/js_src/lib/components/InitialContext/systemInfo.ts
@@ -44,7 +44,7 @@ function buildStatsLambdaUrl(base: string | null | undefined): string | null {
   if (!hasRoute) {
     const stage = 'prod';
     const route = 'AggrgatedSp7Stats';
-    u = `${u.replace(/\/$/, '')  }/${stage}/${route}`;
+    u = `${u.replace(/\/$/, '')}/${stage}/${route}`;
   }
   return u;
 }
@@ -58,7 +58,10 @@ export const fetchContext = load(
   if (systemInfo.stats_url !== null) {
     let counts: StatsCounts | null = null;
     try {
-      counts = await load('/context/stats_counts.json', 'application/json');
+      counts = await load(
+        '/context/stats_counts.json',
+        'application/json'
+      );
     } catch {
       // If counts fetch fails, proceed without them.
       counts = null;
@@ -102,12 +105,13 @@ export const fetchContext = load(
 
     const lambdaUrl = buildStatsLambdaUrl(systemInfo.stats_2_url);
     if (lambdaUrl) {
-      await ping(formatUrl(lambdaUrl, parameters, false), { errorMode: 'silent' })
-        .catch(softFail);
+      await ping(formatUrl(lambdaUrl, parameters, false), {
+        errorMode: 'silent',
+      }).catch(softFail);
     }
   }
 
   return systemInfo;
 });
 
-export const getSystemInfo = (): SystemInfo => systemInfo;
\ No newline at end of file
+export const getSystemInfo = (): SystemInfo => systemInfo;