diff --git a/.gitmodules b/.gitmodules
index b4f8b3f..c7719a7 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -13,3 +13,9 @@
[submodule "classes/MDMailer"]
path = classes/MDMailer
url = /var/www/vhosts/museum-digital.de/git-base/MDMailer
+[submodule "l10n/musdb"]
+ path = l10n/musdb
+ url = /var/www/vhosts/museum-digital.de/translation.museum-digital.de/backend_approved
+[submodule "l10n/importer"]
+ path = l10n/importer
+ url = /var/www/vhosts/museum-digital.de/translation.museum-digital.de/importer_approved
diff --git a/classes/MDAllowedValueSets b/classes/MDAllowedValueSets
index a300538..d8bfca1 160000
--- a/classes/MDAllowedValueSets
+++ b/classes/MDAllowedValueSets
@@ -1 +1 @@
-Subproject commit a300538188f6367eac129934b058417adab05d69
+Subproject commit d8bfca1df6031da2500d346426c53ebb7d932796
diff --git a/classes/MDTlLoader b/classes/MDTlLoader
index ae0886e..7721ad6 160000
--- a/classes/MDTlLoader
+++ b/classes/MDTlLoader
@@ -1 +1 @@
-Subproject commit ae0886e34702794f0841cdb6e35f052cc8989b1a
+Subproject commit 7721ad60fc607d76de4932cc184727249726590e
diff --git a/functions/functions.php b/functions/functions.php
index 6cfe4ba..d6c6afb 100644
--- a/functions/functions.php
+++ b/functions/functions.php
@@ -9,12 +9,13 @@
declare(strict_types = 1);
// Set autoloader
-error_reporting(E_ALL);
-ini_set('display_errors', "1");
-spl_autoload_register("mdCsvxmlAutoloader");
-set_exception_handler("mdExceptionHandler");
-set_error_handler("mdErrorHandler", E_ALL);
+\error_reporting(E_ALL);
+\ini_set('display_errors', "1");
+\spl_autoload_register("mdCsvxmlAutoloader");
+\set_exception_handler("mdExceptionHandler");
+\set_error_handler("mdErrorHandler", E_ALL);
+require_once __DIR__ . '/../inc/constants.php';
require_once __DIR__ . '/../vendor/autoload.php';
/**
@@ -26,22 +27,11 @@ require_once __DIR__ . '/../vendor/autoload.php';
*/
function mdCsvxmlAutoloader(string $className):void {
- $classDirs = [
- __DIR__ . "/../classes/MDTlLoader",
- __DIR__ . "/../classes/MD_STD",
- __DIR__ . "/../classes/MDAllowedValueSets/src",
- __DIR__ . "/../classes/MDExportFormats/src",
- __DIR__ . "/../classes/MDErrorReporter",
- __DIR__ . "/../classes/MDMailer/src",
- __DIR__ . "/../conf",
- __DIR__ . "/../classes/MDErrorReporter/exceptions/generic",
- __DIR__ . "/../classes/MDErrorReporter/exceptions/page",
- __DIR__ . "/../classes/MDErrorReporter/exceptions/updates",
- ];
+ $classDirs = AUTOLOAD_DIRS;
foreach ($classDirs as $classDir) {
- if (file_exists("$classDir/$className.php")) {
+ if (\file_exists("$classDir/$className.php")) {
include "$classDir/$className.php";
return;
}
diff --git a/inc/constants.php b/inc/constants.php
new file mode 100644
index 0000000..2441938
--- /dev/null
+++ b/inc/constants.php
@@ -0,0 +1,28 @@
+
+ */
+declare(strict_types = 1);
+
+const TL_FILE_DIRS = [
+ __DIR__ . "/../l10n/musdb/",
+ __DIR__ . "/../classes/MDAllowedValueSets/l18n/",
+];
+
+const AUTOLOAD_DIRS = [
+ __DIR__ . "/../classes/MDTlLoader/src",
+ __DIR__ . "/../classes/MD_STD",
+ __DIR__ . "/../classes/MDAllowedValueSets/src",
+ __DIR__ . "/../classes/MDExportFormats/src",
+ __DIR__ . "/../classes/MDErrorReporter",
+ __DIR__ . "/../classes/MDMailer/src",
+ __DIR__ . "/../conf",
+ __DIR__ . "/../classes/MDErrorReporter/exceptions/generic",
+ __DIR__ . "/../classes/MDErrorReporter/exceptions/page",
+ __DIR__ . "/../classes/MDErrorReporter/exceptions/updates",
+ __DIR__ . "/../classes/MDTlLoader/exceptions",
+];
diff --git a/l10n/importer b/l10n/importer
new file mode 160000
index 0000000..c59afb7
--- /dev/null
+++ b/l10n/importer
@@ -0,0 +1 @@
+Subproject commit c59afb70be28488deab5f280546a88c4b17552e3
diff --git a/l10n/musdb b/l10n/musdb
new file mode 160000
index 0000000..8ec3c88
--- /dev/null
+++ b/l10n/musdb
@@ -0,0 +1 @@
+Subproject commit 8ec3c886c7a19b7cf73864b817f7eb10083c1e6e
diff --git a/values/availableFields.php b/values/availableFields.php
index ec3b2ab..bb27626 100644
--- a/values/availableFields.php
+++ b/values/availableFields.php
@@ -13,9 +13,9 @@ require __DIR__ . "/../translation-importer/$lang/csvxml-overview.php";
$tlLoader = new MDTlLoader("available_fields", $lang);
-foreach (array_diff(scandir(__DIR__ . "/langfiles/$lang/"), ['.', '..']) as $fileName) {
+foreach (MD_STD::scandir(__DIR__ . "/../l10n/musdb/$lang/") as $fileName) {
if (in_array($fileName, ['start.php', 'start2.php'])) continue;
- include __DIR__ . "/langfiles/{$lang}/{$fileName}";
+ include __DIR__ . "/../l10n/musdb/{$lang}/{$fileName}";
}
require __DIR__ . "/commonservices/$lang/search_all_fields.php";
@@ -36,48 +36,48 @@ $availableFields = [
"allowedValues" => [],
"dependsOn" => [],
"remark" => 'Only unique values allowed',
- "name_human_readable" => $object_basis['inventory_number'],
- "explica" => $object_basis['inv_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'),
],
"object_type" => [
"required" => true,
"allowedValues" => [],
"dependsOn" => [],
"remark" => 'Keep it short! Field is needed to create valid LIDO from museum-digital entries',
- "name_human_readable" => $object_basis['object_type'],
- "explica" => $object_basis['oart_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_type'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'oart_explica'),
],
"object_title" => [
"required" => true,
"allowedValues" => [],
"dependsOn" => [],
"remark" => 'Best is not to repeat the title again and again for many objects, e.g. vase, vase, vase ... better: Green vase, Blue vase, Yellow vase, ...',
- "name_human_readable" => $object_basis['object_name'],
- "explica" => $object_basis['oname_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_name'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'oname_explica'),
],
"object_description" => [
"required" => true,
"allowedValues" => [],
"dependsOn" => [],
"remark" => 'A good description of the objects is fundamental to make the objects searchable in the internet',
- "name_human_readable" => $object_basis['description'],
- "explica" => $object_basis['obesch_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'description'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'obesch_explica'),
],
"object_material_technique" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => [],
"remark" => 'This is a cummulative field for material and technique. It is also possible to additionally save the information separate in the fields: material_separate and technique_separate',
- "name_human_readable" => $object_basis['mattech'],
- "explica" => $object_basis['mattech_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'mattech'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'mattech_explica'),
],
"object_dimensions" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => [],
"remark" => 'This is a cummulative field for dimensions (values and units). It is also possible to additionally save the information separate. See the block: separate dimensions',
- "name_human_readable" => $object_basis['measurements'],
- "explica" => $object_basis['ausmass_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'measurements'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'ausmass_explica'),
],
"object_publication" => [
"required" => false,
@@ -245,7 +245,7 @@ $availableFields = [
"dependsOn" => ['dimensions_separate_width_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'],
"remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.',
"name_human_readable" => $export['exact_measurements_weight_unit'],
- "explica" => $object_basis['inv_explica'],
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'),
],
"dimensions_separate_diameter_value" => [
"required" => false,
@@ -289,7 +289,7 @@ $availableFields = [
"dimensions_separate_diameter_unit", "dimensions_separate_wall_thickness_value", "dimensions_separate_wall_thickness_unit"
],
"remark" => 'If one or more separate dimension-value (and -unit) is given it has to be specified if the separated entries should be made visible at museum-digital',
- "name_human_readable" => $object_basis['inventory_number'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'),
"explica" => "",
],
"dimensions_separate_show_extern" => [
@@ -302,7 +302,7 @@ $availableFields = [
"dimensions_separate_diameter_unit", "dimensions_separate_wall_thickness_value", "dimensions_separate_wall_thickness_unit"
],
"remark" => 'If one or more separate dimension-value (and -unit) is given it has to be specified if the separated entries should be included in a later export from museum-digital',
- "name_human_readable" => $object_basis['inventory_number'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'),
"explica" => "",
],
"number_of_pieces" => [
@@ -422,7 +422,7 @@ $availableFields = [
"allowedValues" => '',
"remark" => '',
"name_human_readable" => $searchvar[19][0],
- "explica" => $object_basis['inv_explica'],
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'),
],
"inclusion_kind_of" => [
"required" => false,
@@ -481,7 +481,7 @@ $availableFields = [
"dependsOn" => ["bought_for_currency"],
"remark" => '',
"name_human_readable" => "{$searchvar[19][0]}, {$object_add['for']}",
- "explica" => $object_basis['inv_explica'],
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'),
],
"bought_for_currency" => [
"required" => false,
@@ -807,40 +807,40 @@ for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) {
"allowedValues" => [],
"dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"],
"remark" => '',
- "name_human_readable" => $object_basis['object_type'],
- "explica" => $object_basis['oart_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_type'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'oart_explica'),
],
"obj_trans_object_title{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"],
"remark" => '',
- "name_human_readable" => $object_basis['object_name'],
- "explica" => $object_basis['oname_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_name'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'oname_explica'),
],
"obj_trans_object_description{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"],
"remark" => '',
- "name_human_readable" => $object_basis['description'],
- "explica" => $object_basis['obesch_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'description'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'obesch_explica'),
],
"obj_trans_object_material_technique{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"],
"remark" => '',
- "name_human_readable" => $object_basis['mattech'],
- "explica" => $object_basis['mattech_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'mattech'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'mattech_explica'),
],
"obj_trans_object_dimensions{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"],
"remark" => '',
- "name_human_readable" => $object_basis['measurements'],
- "explica" => $object_basis['ausmass_explica'],
+ "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'measurements'),
+ "explica" => $tlLoader->tl("object_basis", "object_basis", 'ausmass_explica'),
],
]);
@@ -855,88 +855,88 @@ for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) {
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['author'],
- "explica" => $literature['autor_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'author'),
+ "explica" => $tlLoader->tl("literature", "literature", 'autor_explica'),
],
"literature_year{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['year'],
- "explica" => $literature['jahr_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'year'),
+ "explica" => $tlLoader->tl("literature", "literature", 'jahr_explica'),
],
"literature_title{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => [],
"remark" => '',
- "name_human_readable" => $literature['title'],
- "explica" => $literature['titel_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'title'),
+ "explica" => $tlLoader->tl("literature", "literature", 'titel_explica'),
],
"literature_place{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['place'],
- "explica" => $literature['ort_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'place'),
+ "explica" => $tlLoader->tl("literature", "literature", 'ort_explica'),
],
"literature_abbreviation{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['abbr'],
- "explica" => $literature['abbr_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'abbr'),
+ "explica" => $tlLoader->tl("literature", "literature", 'abbr_explica'),
],
"literature_gnd{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['gnd'],
- "explica" => $literature['gnd_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'gnd'),
+ "explica" => $tlLoader->tl("literature", "literature", 'gnd_explica'),
],
"literature_isbn{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['isbn'],
- "explica" => $literature['isbn_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'isbn'),
+ "explica" => $tlLoader->tl("literature", "literature", 'isbn_explica'),
],
"literature_signature{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['id_in_museum'],
- "explica" => $literature['id_in_museum_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'id_in_museum'),
+ "explica" => $tlLoader->tl("literature", "literature", 'id_in_museum_explica'),
],
"literature_online{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['online'],
- "explica" => $literature['online_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'online'),
+ "explica" => $tlLoader->tl("literature", "literature", 'online_explica'),
],
"literature_annotation{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['annotation'],
- "explica" => $literature['annotation_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'annotation'),
+ "explica" => $tlLoader->tl("literature", "literature", 'annotation_explica'),
],
"literature_inlit{$i}" => [
"required" => false,
"allowedValues" => [],
"dependsOn" => ["literature_title{$i}"],
"remark" => '',
- "name_human_readable" => $literature['where_inside'],
- "explica" => $literature['where_in_explica'],
+ "name_human_readable" => $tlLoader->tl("literature", "literature", 'where_inside'),
+ "explica" => $tlLoader->tl("literature", "literature", 'where_in_explica'),
],
]);