diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 549511098..9afc9d781 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -26,8 +26,8 @@ If applicable, add screenshots to help explain your problem. **Used versions (please complete the following information):** - TYPO3 Version: [e.g. 11.5.36] - Browser: [e.g. chrome, safari] - - EXT:solr Version: [e.g. 11.5.6] - - Used Apache Solr Version: [e.g. 8.11.3] + - EXT:solr Version: [e.g. 11.6.0] + - Used Apache Solr Version: [e.g. 9.5.0] - PHP Version: [e.g. 8.2.0] - MySQL Version: [e.g. 8.0.0] diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..8e5d8c223 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,23 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: "[FEATURE] Please describe your feature wish here" +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. + +**Target versions** +Please add the EXT:solr target versions here. diff --git a/.github/workflows/ci-matrix.json b/.github/workflows/ci-matrix.json index 8be0cbd1d..e4bacd7fe 100644 --- a/.github/workflows/ci-matrix.json +++ b/.github/workflows/ci-matrix.json @@ -1,5 +1,5 @@ { - "release-11.5.x": { + "release-11.6.x": { "PHP": [ "7.4", "8.0", "8.1" ], "TYPO3": [ "11", "11.5.x-dev" ] } diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9441da9e4..1edb058a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,11 +2,11 @@ name: build on: push: - branches: [ main, release-11.5.x, release-11.1.x, release-11.0.x ] + branches: [ main, release-11.6.x ] tags: - "**" pull_request: - branches: [ main, release-11.5.x, release-11.1.x, release-11.0.x ] + branches: [ main, release-11.6.x ] env: CI_BUILD_DIRECTORY: '/home/runner/work/ext-solr/ext-solr/.Build' @@ -23,18 +23,21 @@ jobs: outputs: matrix: ${{ steps.collect_build_matrix.outputs.matrix }} steps: - # Workaround for issue with actions/checkout@v2 wrong PR commit checkout: See https://github.com/actions/checkout/issues/299#issuecomment-677674415 + # Workaround for issue with actions/checkout "wrong PR commit checkout": + # See: + # ** https://github.com/actions/checkout/issues/299#issuecomment-677674415 + # ** https://github.com/actions/checkout/issues/1359#issuecomment-1631503791 - name: Checkout current state of Pull Request if: github.event_name == 'pull_request' - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} - name: Checkout current state of Branch if: github.event_name == 'push' - uses: actions/checkout@v2 - # End: Workaround for issue with actions/checkout@v2 wrong PR commit checkout + uses: actions/checkout@v3 + # End: Workaround for issue with actions/checkout... - name: "Resolve target branch of pull request." if: github.event_name == 'pull_request' @@ -69,10 +72,10 @@ jobs: echo "matrix=$(echo $matrix)" >> $GITHUB_OUTPUT - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 - name: Build Docker image - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v4 with: context: . file: ./Docker/SolrServer/Dockerfile @@ -88,7 +91,7 @@ jobs: ./Build/Test/cibuild_docker.sh - name: Upload artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: solrci-image path: /tmp/solrci-image.tar @@ -104,40 +107,39 @@ jobs: TYPO3_DATABASE_HOST: '127.0.0.1' TYPO3_DATABASE_USERNAME: 'root' TYPO3_DATABASE_PASSWORD: 'root' - PHP_CS_FIXER_VERSION: '^3.2.1' TYPO3_VERSION: ${{ matrix.TYPO3 }} name: TYPO3 ${{ matrix.TYPO3 }} on PHP ${{ matrix.PHP }} steps: - # Workaround for issue with actions/checkout@v2 wrong PR commit checkout: See https://github.com/actions/checkout/issues/299#issuecomment-677674415 + # Workaround for issue with actions/checkout "wrong PR commit checkout". See: ci_bootstrapping job - name: Checkout current state of Pull Request if: github.event_name == 'pull_request' - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 2 ref: ${{ github.event.pull_request.head.sha }} - name: Checkout current state of Branch if: github.event_name == 'push' - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 2 - # End: Workaround for issue with actions/checkout@v2 wrong PR commit checkout + # End: Workaround for issue with actions/checkout... - name: Mount RAMFS run: | mkdir -p ${{ env.CI_BUILD_DIRECTORY }} - sudo mount -t tmpfs -o size=3G none ${{ env.CI_BUILD_DIRECTORY }} + sudo mount -t tmpfs -o size=1G none ${{ env.CI_BUILD_DIRECTORY }} sudo mkdir -p ${{ env.CI_BUILD_DIRECTORY }}/data-{solr,mysql} \ && sudo chown $USER ${{ env.CI_BUILD_DIRECTORY }}/data-mysql \ && sudo chown 8983:8983 ${{ env.CI_BUILD_DIRECTORY }}/data-solr - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 - name: Download solrci-image from "ci_bootstrapping" job - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: solrci-image path: /tmp @@ -160,36 +162,9 @@ jobs: with: php-version: ${{ matrix.PHP }} coverage: pcov - tools: composer:2.1.14 - - - name: Resolve CI build cache key - # CI_CACHE_VERSION is used and can be increased to be able to invalidate caches. - # For example if some composer dependencies added or removed in composer.json or - # in Build/Test/bootstrap.sh - run: | - export CURRENT_TYPO3_VERSION_REFERNCE=$(./Build/Helpers/TYPO3_SOURCE_REFERENCE.sh "$TYPO3_VERSION" --short) - export CURRENT_SOLARIUM_VERSION=$(cat composer.json | jq --raw-output '.require."solarium/solarium"') - export CI_CACHE_VERSION="2023.01.20@00:00" - export CI_BUILD_CACHE_KEY=${{ runner.os }}-PHP:${{ matrix.PHP }}-TYPO3:$TYPO3_VERSION@$CURRENT_TYPO3_VERSION_REFERNCE-SOLARIUM:$CURRENT_SOLARIUM_VERSION-"CI_CACHE_VERSION:"$CI_CACHE_VERSION - echo "COMPOSER_GLOBAL_REQUEREMENTS=$(composer config home)" >> $GITHUB_ENV - echo "CI_BUILD_CACHE_KEY=$CI_BUILD_CACHE_KEY" >> $GITHUB_ENV - echo "The key for actions/cache@v2 is \"$CI_BUILD_CACHE_KEY\"" - - - name: Restore ci build caches - id: restore_ci_build_caches - uses: actions/cache@v2 - with: - path: | - ${{ env.CI_BUILD_DIRECTORY }}/Web - ${{ env.CI_BUILD_DIRECTORY }}/bin - ${{ env.CI_BUILD_DIRECTORY }}/vendor - ${{ env.COMPOSER_GLOBAL_REQUEREMENTS }} - composer.json - composer.lock - key: ${{ env.CI_BUILD_CACHE_KEY }} + tools: composer:2.5.5 - name: CI-Bootstrap - if: steps.restore_ci_build_caches.outputs.cache-hit != 'true' run: | ./Build/Test/bootstrap.sh --skip-solr-install echo "Current Size of EXT:Solr build Artefacts before run: " \ @@ -204,8 +179,8 @@ jobs: - name: Upload code coverage to Scrutinizer run: | - .Build/bin/ocular code-coverage:upload --format=php-clover coverage.unit.clover - .Build/bin/ocular code-coverage:upload --format=php-clover coverage.integration.clover + ocular code-coverage:upload --format=php-clover coverage.unit.clover + ocular code-coverage:upload --format=php-clover coverage.integration.clover - name: Clean up run: | @@ -225,7 +200,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} - diff --git a/Build/Helpers/GET_LACAL_PACKAGE_VERSION_CONSTRAINT.sh b/Build/Helpers/GET_LOCAL_PACKAGE_VERSION_CONSTRAINT.sh similarity index 100% rename from Build/Helpers/GET_LACAL_PACKAGE_VERSION_CONSTRAINT.sh rename to Build/Helpers/GET_LOCAL_PACKAGE_VERSION_CONSTRAINT.sh diff --git a/Build/Test/IntegrationTests.xml b/Build/Test/IntegrationTests.xml index 55d51013f..4f81a8e17 100644 --- a/Build/Test/IntegrationTests.xml +++ b/Build/Test/IntegrationTests.xml @@ -1,6 +1,7 @@ defineOriginalRootPath(); $testbase->createDirectory(ORIGINAL_ROOT . 'typo3temp/var/tests'); $testbase->createDirectory(ORIGINAL_ROOT . 'typo3temp/var/transient'); diff --git a/Build/Test/UnitTests.xml b/Build/Test/UnitTests.xml index d5e24cf3b..79f343afc 100644 --- a/Build/Test/UnitTests.xml +++ b/Build/Test/UnitTests.xml @@ -1,6 +1,7 @@ /dev/null 2>&1 then echo "Couldn't find wget." exit 1 fi -COMPOSER_NO_INTERACTION=1 - -# Setup TYPO3 environment variables -export TYPO3_PATH_PACKAGES="${EXTENSION_ROOTPATH}.Build/vendor/" -export TYPO3_PATH_WEB="${EXTENSION_ROOTPATH}.Build/Web/" +# Use latest TYPO3 LTS stable version, if version number is compatible with get.typo3.org API +if [[ $TYPO3_VERSION =~ ^[0-9]+$ ]] ; then + TYPO3_VERSION=$("${BASH_SOURCE%/*}/../Helpers/TYPO3_GET_LATEST_VERSION.sh" "$TYPO3_VERSION") +fi -echo "Installing test environment" -echo "Using extension path $EXTENSION_ROOTPATH" -echo "Using package path $TYPO3_PATH_PACKAGES" -echo "Using web path $TYPO3_PATH_WEB" +echo "Using TYPO3 Version: $TYPO3_VERSION" +echo "Using database host: $TYPO3_DATABASE_HOST" +echo "Using database dbname: $TYPO3_DATABASE_NAME" +echo "Using database user: $TYPO3_DATABASE_USERNAME" +echo "Using database password: $TYPO3_DATABASE_PASSWORD" -# Install TYPO3 sources -if [[ $TYPO3_VERSION = *"master"* ]]; then - composer config minimum-stability dev -fi +COMPOSER_NO_INTERACTION=1 -if ! composer require --dev --update-with-dependencies --prefer-source \ - typo3/cms-core:"$TYPO3_VERSION" \ - typo3/cms-backend:"$TYPO3_VERSION" \ - typo3/cms-recordlist:"$TYPO3_VERSION" \ - typo3/cms-fluid:"$TYPO3_VERSION" \ - typo3/cms-fluid-styled-content:"$TYPO3_VERSION" \ - typo3/cms-frontend:"$TYPO3_VERSION" \ - typo3/cms-extbase:"$TYPO3_VERSION" \ - typo3/cms-reports:"$TYPO3_VERSION" \ - typo3/cms-scheduler:"$TYPO3_VERSION" \ - typo3/cms-tstemplate:"$TYPO3_VERSION" \ - typo3/cms-install:"$TYPO3_VERSION" +echo "Installing test environment" +if ! composer tests:setup then echo "The test environment could not be installed by composer as expected. Please fix this issue." exit 1 fi -mkdir -p $TYPO3_PATH_WEB/uploads $TYPO3_PATH_WEB/typo3temp +echo "Install third party tools globally:" +export PATH=$PATH:$(composer config --global home)/vendor/bin +if ! composer tests:setup:global-require +then + "The test environment could not be installed by composer as expected. Please fix this issue." + exit 1 +fi diff --git a/Build/Test/cibuild.sh b/Build/Test/cibuild.sh index 2f12bb4a7..a46055b6c 100755 --- a/Build/Test/cibuild.sh +++ b/Build/Test/cibuild.sh @@ -1,13 +1,6 @@ #!/usr/bin/env bash -TYPO3_PATH_WEB="$(pwd)/.Build/Web/" -export TYPO3_PATH_WEB -TYPO3_PATH_PACKAGES="$(pwd)/.Build/vendor/" -export TYPO3_PATH_PACKAGES - -TYPO3_BIN_DIR="$(pwd)/.Build/bin/" -export TYPO3_BIN_DIR -export PATH="$TYPO3_BIN_DIR:$PATH" +EXIT_CODE=0 COMPOSERS_BIN_DIR="$(composer config home)/vendor/bin" # Add COMPOSERS_BIN_DIR to $PATH, if not present @@ -25,54 +18,48 @@ echo "Run PHP Lint" if ! find . -name \*.php ! -path "./.Build/*" 2>/dev/null | parallel --gnu php -d display_errors=stderr -l {} > /dev/null then echo "There are syntax errors, please check and fix them." - exit 1 + EXIT_CODE=1 else echo "No syntax errors! Great job!" fi -echo "Check compliance against TYPO3 Coding Standards" -if ! .Build/bin/php-cs-fixer --version > /dev/null 2>&1 + +echo "TYPO3 Coding Standards compliance: See https://github.com/TYPO3/coding-standards" +if ! composer t3:standards:fix -- --diff --verbose --dry-run && rm .php-cs-fixer.cache then - echo "TYPO3 https://github.com/TYPO3/coding-standards is not set properly." - echo "Please fix that asap to avoid unwanted changes in the future." - exit 1 + echo "Some files are not compliant to TYPO3 Coding Standards" + echo "Please fix the files listed above." + echo "Tip for auto fix: " + echo " TYPO3_VERSION=\"${TYPO3_VERSION}\" composer tests:setup && composer t3:standards:fix" + EXIT_CODE=3 else - echo "TYPO3 Coding Standards compliance: See https://github.com/TYPO3/coding-standards" - if ! composer t3:standards:fix -- --diff --verbose --dry-run && rm .php-cs-fixer.cache - then - echo "Some files are not compliant to TYPO3 Coding Standards" - echo "Please fix the files listed above." - echo "Tip for auto fix: " - echo " composer tests:setup && composer t3:standards:fix" - exit 1 - else - echo "The code is TYPO3 Coding Standards compliant! Great job!" - fi + echo "The code is TYPO3 Coding Standards compliant! Great job!" fi echo -e "\n\n" echo "Run XML Lint" -if ! xmllint --version > /dev/null 2>&1; then - echo "XML Lint not found, skipping XML linting." -else - echo -e "\n\n" - echo "Check syntax of XML files" - if ! composer lint:xlf - then - echo "Some XML files are not valid" - echo "Please fix the files listed above" - exit 1 - fi +if ! composer tests:lint-xml +then + EXIT_CODE=4 fi +echo -e "\n\n" +echo "Run PHPStan analysis" +if ! composer tests:phpstan +then + # disable fail temporary + EXIT_CODE=7 + echo "Error during running the PHPStan analysis, please check and fix them." + echo "Tip for working on them: " + echo " TYPO3_VERSION=\"${TYPO3_VERSION}\" composer tests:setup && composer tests:phpstan" +fi echo -e "\n\n" echo "Run unit tests" -UNIT_BOOTSTRAP="Build/Test/UnitTestsBootstrap.php" -if ! .Build/bin/phpunit --colors -c Build/Test/UnitTests.xml --bootstrap=$UNIT_BOOTSTRAP --coverage-clover=coverage.unit.clover +if ! composer tests:unit -- --coverage-clover=coverage.unit.clover then echo "Error during running the unit tests please check and fix them" - exit 1 + EXIT_CODE=5 fi # @@ -109,9 +96,10 @@ fi echo -e "\n\n" echo "Run integration tests" -INTEGRATION_BOOTSTRAP="Build/Test/IntegrationTestsBootstrap.php" -if ! .Build/bin/phpunit --colors -c Build/Test/IntegrationTests.xml --bootstrap=$INTEGRATION_BOOTSTRAP --coverage-clover=coverage.integration.clover +if ! composer tests:integration -- --coverage-clover=coverage.integration.clover then echo "Error during running the integration tests please check and fix them" - exit 1 + EXIT_CODE=6 fi + +exit $EXIT_CODE diff --git a/Build/Test/cibuild_docker.sh b/Build/Test/cibuild_docker.sh index d200c367d..481420534 100755 --- a/Build/Test/cibuild_docker.sh +++ b/Build/Test/cibuild_docker.sh @@ -153,6 +153,14 @@ isCoreAvailable () return 0; } +isCoreUnavailable () +{ + if ! isCoreAvailable $1; then + return 0; + fi + return 1; +} + pingCore () { # shellcheck disable=SC2015 @@ -262,6 +270,48 @@ assertNecessaryPathsAreOwnedBySolr () isPathOwnedBySolr "${paths[@]}" || { echo -e "${RED}"'\nThe image has files, which are not owned by solr(8983) user.\n Please fix this issue.'"${NC}"; cleanUp; exit 1; } } +assertCoresAreSwitchableViaEnvVar () +{ + echo -e "\nCheck all cores are disabled except desired by \$TYPO3_SOLR_ENABLED_CORES env:" + echo -n " stop container $LOCAL_CONTAINER_NAME" prettyPrintOrExitOnError $? "$(docker stop "$LOCAL_CONTAINER_NAME" 2>&1)" + + echo -n "Starting container" + prettyPrintOrExitOnError $? "$(docker run --env TYPO3_SOLR_ENABLED_CORES='german english danish' --name="$LOCAL_CONTAINER_NAME" -d -p 127.0.0.1:8998:8983 -v "$LOCAL_VOLUME_NAME":"$DEFAULT_IMAGE_VOLUME_EXPORT_PATH" "$LOCAL_IMAGE_NAME" 2>&1)" + + ENABLED_CORES=( + "core_de" + "core_en" + "core_da" + ) + + SOME_DISABLED_CORES=( + "core_fi" + "core_fr" + "core_gl" + "core_el" + "core_hi" + "core_hu" + "core_id" + "core_it" + "core_ja" + ) + + echo -e "\nCheck enabled cores are available:" + for core in "${ENABLED_CORES[@]}" + do + echo -n " $core is enabled" + prettyPrintOrExitOnError $? "$(isCoreAvailable "$core" 2>&1)" + done + + echo -e "\nCheck few other cores are really disabled:" + for core in "${SOME_DISABLED_CORES[@]}" + do + echo -n " $core is disabled" + prettyPrintOrExitOnError $? "$(isCoreUnavailable "$core" 2>&1)" + done + +} + ### run the tests assertDockerVersionIsGtOrEq193 @@ -276,6 +326,8 @@ assertAllCoresAreQueriable assertDataPathIsCreatedByApacheSolr assertNecessaryPathsAreOwnedBySolr +assertCoresAreSwitchableViaEnvVar + echo -e "${GREEN}"'\nAll checks passed successfully!\n'"${NC}" diff --git a/Build/Test/phpstan-constants.php b/Build/Test/phpstan-constants.php new file mode 100644 index 000000000..1df075f0f --- /dev/null +++ b/Build/Test/phpstan-constants.php @@ -0,0 +1,5 @@ + */ -class RootlineElementFormatException extends \InvalidArgumentException +class RootlineElementFormatException extends InvalidArgumentException { } diff --git a/Classes/Backend/CoreSelectorField.php b/Classes/Backend/CoreSelectorField.php index dd2151d44..e43316a3c 100644 --- a/Classes/Backend/CoreSelectorField.php +++ b/Classes/Backend/CoreSelectorField.php @@ -15,6 +15,7 @@ namespace ApacheSolrForTypo3\Solr\Backend; +use ApacheSolrForTypo3\Solr\ConnectionManager; use ApacheSolrForTypo3\Solr\Domain\Site\Site; use TYPO3\CMS\Backend\Form\Exception as BackendFormException; use TYPO3\CMS\Backend\Form\FormResultCompiler; @@ -130,10 +131,9 @@ public function render(): string protected function getLanguageUidCoreMap(): array { $coreTableMap = []; - $cores = $this->site->getAllSolrConnectionConfigurations(); - foreach ($cores as $languageUid => $core) { - $corePath = $core['write']['path']; - $coreTableMap[$languageUid] = $corePath; + $solrServers = GeneralUtility::makeInstance(ConnectionManager::class)->getConnectionsBySite($this->site); + foreach ($solrServers as $languageUid => $solrConnection) { + $coreTableMap[$languageUid] = $solrConnection->getWriteService()->getCorePath(); } return $coreTableMap; } @@ -149,10 +149,13 @@ protected function buildSelectorItems(array $coresToOptimize): array { $selectorItems = []; - foreach ($coresToOptimize as $corePath) { - $icon = 'module-searchbackend_SolrCoreoptimization'; + foreach ($coresToOptimize as $systemLanguageId => $corePath) { $corePath = rtrim($corePath, '/'); - $selectorItems[] = [$corePath, $corePath, $icon]; + $selectorItems[] = [ + $corePath, + $corePath, + $this->getFlagIdentifierForSystemLanguageId($systemLanguageId), + ]; } return $selectorItems; @@ -173,22 +176,36 @@ protected function renderSelectCheckbox(array $items, array $selectedValues): st 'itemFormElValue' => $selectedValues, 'fieldConf' => ['config' => ['items' => $items]], 'fieldTSConfig' => ['noMatchingValue_label' => ''], + 'itemFormElID' => '', ]; $nodeFactory = GeneralUtility::makeInstance(NodeFactory::class); $options = [ + 'type' => 'select', 'renderType' => 'selectCheckBox', - 'table' => 'tx_solr_classes_backend_coreselector', + 'tableName' => 'tx_solr_classes_backend_coreselector', 'fieldName' => 'additionalFields', - 'databaseRow' => [], + 'databaseRow' => ['uid' => 0], 'parameterArray' => $parameterArray, + 'processedTca' => ['columns' => ['additionalFields' => ['config' => ['type' => 'select']]]], ]; - $selectCheckboxResult = $nodeFactory->create($options)->render(); + $selectCheckboxResult = $nodeFactory + ->create($options) + ->render(); $formResultCompiler = GeneralUtility::makeInstance(FormResultCompiler::class); $formResultCompiler->mergeResult($selectCheckboxResult); $formHtml = $selectCheckboxResult['html'] ?? ''; return $formResultCompiler->addCssFiles() . $formHtml . $formResultCompiler->printNeededJSFunctions(); } + + protected function getFlagIdentifierForSystemLanguageId($systemLanguageId): string + { + $flagIdentifier = $this->site->getTypo3SiteObject()->getLanguageById((int)$systemLanguageId)->getFlagIdentifier(); + if (!empty($flagIdentifier)) { + return $flagIdentifier; + } + return 'flags-multiple'; + } } diff --git a/Classes/Backend/IndexingConfigurationSelectorField.php b/Classes/Backend/IndexingConfigurationSelectorField.php index 57cfa7139..2369e6b5b 100644 --- a/Classes/Backend/IndexingConfigurationSelectorField.php +++ b/Classes/Backend/IndexingConfigurationSelectorField.php @@ -199,7 +199,8 @@ protected function renderSelectCheckbox(array $items, ?array $selectedValues = [ $nodeFactory = GeneralUtility::makeInstance(NodeFactory::class); $options = [ - 'type' => 'select', 'renderType' => 'selectCheckBox', + 'type' => 'select', + 'renderType' => 'selectCheckBox', 'table' => 'tx_solr_classes_backend_indexingconfigurationselector', 'tableName' => 'tx_solr_classes_backend_indexingconfigurationselector', 'fieldName' => 'additionalFields', diff --git a/Classes/ConnectionManager.php b/Classes/ConnectionManager.php index 34f14dd05..c59f87769 100644 --- a/Classes/ConnectionManager.php +++ b/Classes/ConnectionManager.php @@ -19,13 +19,13 @@ use ApacheSolrForTypo3\Solr\Domain\Site\Site; use ApacheSolrForTypo3\Solr\Domain\Site\SiteRepository; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Records\Pages\PagesRepository as PagesRepositoryAtExtSolr; use ApacheSolrForTypo3\Solr\System\Records\SystemLanguage\SystemLanguageRepository; use ApacheSolrForTypo3\Solr\System\Solr\Node; use ApacheSolrForTypo3\Solr\System\Solr\SolrConnection; use ApacheSolrForTypo3\Solr\System\Util\SiteUtility; use Doctrine\DBAL\Driver\Exception as DBALDriverException; -use InvalidArgumentException; use function json_encode; use Throwable; use TYPO3\CMS\Core\SingletonInterface; diff --git a/Classes/ContentObject/Classification.php b/Classes/ContentObject/Classification.php index 0e26b154a..8750b90f5 100644 --- a/Classes/ContentObject/Classification.php +++ b/Classes/ContentObject/Classification.php @@ -17,7 +17,7 @@ use ApacheSolrForTypo3\Solr\Domain\Index\Classification\Classification as ClassificationItem; use ApacheSolrForTypo3\Solr\Domain\Index\Classification\ClassificationService; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Frontend\ContentObject\AbstractContentObject; diff --git a/Classes/Controller/Backend/PageModuleSummary.php b/Classes/Controller/Backend/PageModuleSummary.php index 573979d21..55cd7718d 100644 --- a/Classes/Controller/Backend/PageModuleSummary.php +++ b/Classes/Controller/Backend/PageModuleSummary.php @@ -117,7 +117,6 @@ protected function addSettingFromFlexForm($settingName, $flexFormField) /** * @param string $settingName * @param array $values - * @return bool */ protected function addSettingFromFlexFormArray($settingName, $values) { diff --git a/Classes/Controller/Backend/Search/AbstractModuleController.php b/Classes/Controller/Backend/Search/AbstractModuleController.php index 3cad029d5..89d3e2830 100644 --- a/Classes/Controller/Backend/Search/AbstractModuleController.php +++ b/Classes/Controller/Backend/Search/AbstractModuleController.php @@ -18,11 +18,12 @@ use ApacheSolrForTypo3\Solr\ConnectionManager; use ApacheSolrForTypo3\Solr\Domain\Site\Site; use ApacheSolrForTypo3\Solr\Domain\Site\SiteRepository; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\IndexQueue\Queue; +use ApacheSolrForTypo3\Solr\IndexQueue\QueueInterface; use ApacheSolrForTypo3\Solr\System\Mvc\Backend\Service\ModuleDataStorageService; use ApacheSolrForTypo3\Solr\System\Solr\SolrConnection as SolrCoreConnection; use Doctrine\DBAL\Driver\Exception as DBALDriverException; -use InvalidArgumentException; use Psr\Http\Message\ResponseInterface; use Throwable; use TYPO3\CMS\Backend\Template\Components\Menu\Menu; @@ -61,7 +62,7 @@ abstract class AbstractModuleController extends ActionController protected int $requestedPageUID; /** - * @var ?Site + * @var Site|null */ protected ?Site $selectedSite = null; @@ -91,9 +92,9 @@ abstract class AbstractModuleController extends ActionController protected ModuleDataStorageService $moduleDataStorageService; /** - * @var Queue + * @var QueueInterface */ - protected Queue $indexQueue; + protected QueueInterface $indexQueue; /** * @var SiteFinder diff --git a/Classes/Controller/Backend/Search/CoreOptimizationModuleController.php b/Classes/Controller/Backend/Search/CoreOptimizationModuleController.php index ba873065c..d0d4d5e0f 100644 --- a/Classes/Controller/Backend/Search/CoreOptimizationModuleController.php +++ b/Classes/Controller/Backend/Search/CoreOptimizationModuleController.php @@ -169,7 +169,7 @@ public function importSynonymListAction( $coreAdmin = $this->selectedSolrCoreConnection->getAdminService(); foreach ($fileLines as $baseWord => $synonyms) { - if (!isset($baseWord) || empty($synonyms)) { + if (empty($synonyms)) { continue; } $this->deleteExistingSynonym($overrideExisting, $deleteSynonymsBefore, $baseWord); diff --git a/Classes/Controller/Backend/Search/IndexQueueModuleController.php b/Classes/Controller/Backend/Search/IndexQueueModuleController.php index aa994daec..4bb248d7a 100644 --- a/Classes/Controller/Backend/Search/IndexQueueModuleController.php +++ b/Classes/Controller/Backend/Search/IndexQueueModuleController.php @@ -17,7 +17,9 @@ use ApacheSolrForTypo3\Solr\Backend\IndexingConfigurationSelectorField; use ApacheSolrForTypo3\Solr\Domain\Index\IndexService; +use ApacheSolrForTypo3\Solr\Domain\Index\Queue\QueueInitializationService; use ApacheSolrForTypo3\Solr\IndexQueue\Queue; +use ApacheSolrForTypo3\Solr\IndexQueue\QueueInterface; use Psr\Http\Message\ResponseInterface; use TYPO3\CMS\Backend\Form\Exception as BackendFormException; use TYPO3\CMS\Core\Http\RedirectResponse; @@ -29,14 +31,26 @@ /** * Index Queue Module * + * @todo: Support all index queues in actions beside "initializeIndexQueueAction" and + * "resetLogErrorsAction" + * * @author Ingo Renner */ class IndexQueueModuleController extends AbstractModuleController { /** - * @var Queue + * The default Solr Queue + + * @var QueueInterface */ - protected Queue $indexQueue; + protected QueueInterface $indexQueue; + + /** + * Enabled Solr index queues + * + * @var QueueInterface[] + */ + protected array $enabledIndexQueues; /** * Initializes the controller before invoking an action method. @@ -44,13 +58,19 @@ class IndexQueueModuleController extends AbstractModuleController protected function initializeAction() { parent::initializeAction(); - $this->indexQueue = GeneralUtility::makeInstance(Queue::class); + + $this->enabledIndexQueues = $this->getIndexQueues(); + if (!empty($this->enabledIndexQueues)) { + $this->indexQueue = $this->enabledIndexQueues[Queue::class] ?? reset($this->enabledIndexQueues); + } } /** - * @param Queue $indexQueue + * Sets the default queue to use + * + * @param QueueInterface $indexQueue */ - public function setIndexQueue(Queue $indexQueue) + public function setIndexQueue(QueueInterface $indexQueue) { $this->indexQueue = $indexQueue; } @@ -85,6 +105,11 @@ protected function canQueueSelectedSite(): bool if ($this->selectedSite === null || empty($this->solrConnectionManager->getConnectionsBySite($this->selectedSite))) { return false; } + + if (!isset($this->indexQueue)) { + return false; + } + $enabledIndexQueueConfigurationNames = $this->selectedSite->getSolrConfiguration()->getEnabledIndexQueueConfigurationNames(); if (empty($enabledIndexQueueConfigurationNames)) { return false; @@ -119,25 +144,39 @@ public function initializeIndexQueueAction(): ResponseInterface $indexingConfigurationsToInitialize = GeneralUtility::_POST('tx_solr-index-queue-initialization'); if ((!empty($indexingConfigurationsToInitialize)) && (is_array($indexingConfigurationsToInitialize))) { - // initialize selected indexing configuration - try { - $initializedIndexingConfigurations = $this->indexQueue->getInitializationService()->initializeBySiteAndIndexConfigurations($this->selectedSite, $indexingConfigurationsToInitialize); - } catch (\Throwable $e) { - $this->addFlashMessage( - sprintf( + /** @var QueueInitializationService $initializationService */ + $initializationService = GeneralUtility::makeInstance(QueueInitializationService::class); + foreach ($indexingConfigurationsToInitialize as $configurationToInitialize) { + $indexQueueClass = $this->selectedSite->getSolrConfiguration()->getIndexQueueClassByConfigurationName($configurationToInitialize); + $indexQueue = $this->enabledIndexQueues[$indexQueueClass]; + + try { + $status = $initializationService->initializeBySiteAndIndexConfigurations($this->selectedSite, [$configurationToInitialize]); + $initializedIndexingConfiguration = [ + 'status' => $status[$configurationToInitialize], + 'statistic' => 0, + ]; + if ($status[$configurationToInitialize] === true) { + $initializedIndexingConfiguration['totalCount'] = $indexQueue->getStatisticsBySite($this->selectedSite, $configurationToInitialize)->getTotalCount(); + } + $initializedIndexingConfigurations[$configurationToInitialize] = $initializedIndexingConfiguration; + } catch (\Throwable $e) { + $this->addFlashMessage( + sprintf( + LocalizationUtility::translate( + 'solr.backend.index_queue_module.flashmessage.initialize_failure', + 'Solr' + ), + $e->getMessage(), + $e->getCode() + ), LocalizationUtility::translate( - 'solr.backend.index_queue_module.flashmessage.initialize_failure', + 'solr.backend.index_queue_module.flashmessage.initialize_failure.title', 'Solr' ), - $e->getMessage(), - $e->getCode() - ), - LocalizationUtility::translate( - 'solr.backend.index_queue_module.flashmessage.initialize_failure.title', - 'Solr' - ), - FlashMessage::ERROR - ); + FlashMessage::ERROR + ); + } } } else { $messageLabel = 'solr.backend.index_queue_module.flashmessage.initialize.no_selection'; @@ -148,13 +187,31 @@ public function initializeIndexQueueAction(): ResponseInterface FlashMessage::WARNING ); } + $messagesForConfigurations = []; - foreach (array_keys($initializedIndexingConfigurations) as $indexingConfigurationName) { - $itemCount = $this->indexQueue->getStatisticsBySite($this->selectedSite, $indexingConfigurationName)->getTotalCount(); - $messagesForConfigurations[] = $indexingConfigurationName . ' (' . $itemCount . ' records)'; + foreach ($initializedIndexingConfigurations as $indexingConfigurationName => $initializationData) { + if ($initializationData['status'] === true) { + $messagesForConfigurations[] = $indexingConfigurationName . ' (' . $initializationData['totalCount'] . ' records)'; + } else { + $this->addFlashMessage( + sprintf( + LocalizationUtility::translate( + 'solr.backend.index_queue_module.flashmessage.initialize_failure', + 'Solr' + ), + $indexingConfigurationName, + 1662117020 + ), + LocalizationUtility::translate( + 'solr.backend.index_queue_module.flashmessage.initialize_failure.title', + 'Solr' + ), + FlashMessage::ERROR + ); + } } - if (!empty($initializedIndexingConfigurations)) { + if (!empty($messagesForConfigurations)) { $messageLabel = 'solr.backend.index_queue_module.flashmessage.initialize.success'; $titleLabel = 'solr.backend.index_queue_module.flashmessage.initialize.title'; $this->addFlashMessage( @@ -174,16 +231,18 @@ public function initializeIndexQueueAction(): ResponseInterface */ public function resetLogErrorsAction(): ResponseInterface { - $resetResult = $this->indexQueue->resetAllErrors(); + foreach ($this->enabledIndexQueues as $queue) { + $resetResult = $queue->resetAllErrors(); - $label = 'solr.backend.index_queue_module.flashmessage.success.reset_errors'; - $severity = FlashMessage::OK; - if (!$resetResult) { - $label = 'solr.backend.index_queue_module.flashmessage.error.reset_errors'; - $severity = FlashMessage::ERROR; - } + $label = 'solr.backend.index_queue_module.flashmessage.success.reset_errors'; + $severity = FlashMessage::OK; + if (!$resetResult) { + $label = 'solr.backend.index_queue_module.flashmessage.error.reset_errors'; + $severity = FlashMessage::ERROR; + } - $this->addIndexQueueFlashMessage($label, $severity); + $this->addIndexQueueFlashMessage($label, $severity); + } return new RedirectResponse($this->uriBuilder->uriFor('index'), 303); } @@ -269,4 +328,23 @@ protected function addIndexQueueFlashMessage(string $label, int $severity) { $this->addFlashMessage(LocalizationUtility::translate($label, 'Solr'), LocalizationUtility::translate('solr.backend.index_queue_module.flashmessage.title', 'Solr'), $severity); } + + /** + * Get index queues + * + * @return QueueInterface[] + */ + protected function getIndexQueues(): array + { + $queues = []; + $configuration = $this->selectedSite->getSolrConfiguration(); + foreach ($configuration->getEnabledIndexQueueConfigurationNames() as $indexingConfiguration) { + $indexQueueClass = $configuration->getIndexQueueClassByConfigurationName($indexingConfiguration); + if (!isset($queues[$indexQueueClass])) { + $queues[$indexQueueClass] = GeneralUtility::makeInstance($indexQueueClass); + } + } + + return $queues; + } } diff --git a/Classes/Domain/Index/IndexService.php b/Classes/Domain/Index/IndexService.php index dca8b87b5..0cb2d4585 100644 --- a/Classes/Domain/Index/IndexService.php +++ b/Classes/Domain/Index/IndexService.php @@ -20,6 +20,7 @@ use ApacheSolrForTypo3\Solr\IndexQueue\Indexer; use ApacheSolrForTypo3\Solr\IndexQueue\Item; use ApacheSolrForTypo3\Solr\IndexQueue\Queue; +use ApacheSolrForTypo3\Solr\IndexQueue\QueueInterface; use ApacheSolrForTypo3\Solr\System\Configuration\TypoScriptConfiguration; use ApacheSolrForTypo3\Solr\System\Logging\SolrLogManager; use ApacheSolrForTypo3\Solr\Task\IndexQueueWorkerTask; @@ -48,9 +49,9 @@ class IndexService protected ?IndexQueueWorkerTask $contextTask = null; /** - * @var Queue + * @var QueueInterface */ - protected Queue $indexQueue; + protected QueueInterface $indexQueue; /** * @var Dispatcher @@ -71,7 +72,7 @@ class IndexService */ public function __construct( Site $site, - Queue $queue = null, + QueueInterface $queue = null, Dispatcher $dispatcher = null, SolrLogManager $solrLogManager = null ) { diff --git a/Classes/Domain/Index/Queue/GarbageRemover/AbstractStrategy.php b/Classes/Domain/Index/Queue/GarbageRemover/AbstractStrategy.php index 6fdeaf829..a460d2bbd 100644 --- a/Classes/Domain/Index/Queue/GarbageRemover/AbstractStrategy.php +++ b/Classes/Domain/Index/Queue/GarbageRemover/AbstractStrategy.php @@ -16,11 +16,12 @@ namespace ApacheSolrForTypo3\Solr\Domain\Index\Queue\GarbageRemover; use ApacheSolrForTypo3\Solr\ConnectionManager; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\GarbageCollectorPostProcessor; use ApacheSolrForTypo3\Solr\IndexQueue\Queue; +use ApacheSolrForTypo3\Solr\IndexQueue\QueueInterface; use ApacheSolrForTypo3\Solr\System\Logging\SolrLogManager; use ApacheSolrForTypo3\Solr\System\Solr\SolrConnection; -use InvalidArgumentException; use TYPO3\CMS\Core\Utility\GeneralUtility; /** @@ -30,9 +31,9 @@ abstract class AbstractStrategy { /** - * @var Queue + * @var QueueInterface */ - protected Queue $queue; + protected QueueInterface $queue; /** * @var ConnectionManager @@ -41,11 +42,11 @@ abstract class AbstractStrategy /** * AbstractStrategy constructor. - * @param Queue|null $queue + * @param QueueInterface|null $queue * @param ConnectionManager|null $connectionManager */ public function __construct( - Queue $queue = null, + QueueInterface $queue = null, ConnectionManager $connectionManager = null ) { $this->queue = $queue ?? GeneralUtility::makeInstance(Queue::class); diff --git a/Classes/Domain/Index/Queue/QueueInitializationService.php b/Classes/Domain/Index/Queue/QueueInitializationService.php index 459c38127..afe3a8347 100644 --- a/Classes/Domain/Index/Queue/QueueInitializationService.php +++ b/Classes/Domain/Index/Queue/QueueInitializationService.php @@ -18,14 +18,15 @@ namespace ApacheSolrForTypo3\Solr\Domain\Index\Queue; use ApacheSolrForTypo3\Solr\Domain\Site\Site; +use ApacheSolrForTypo3\Solr\Exception\Index\Queue\InvalidIndexQueueInitizalizationPostProcessorException; use ApacheSolrForTypo3\Solr\IndexQueue\InitializationPostProcessor; use ApacheSolrForTypo3\Solr\IndexQueue\Initializer\AbstractInitializer; -use ApacheSolrForTypo3\Solr\IndexQueue\Queue; +use ApacheSolrForTypo3\Solr\IndexQueue\QueueInitializationServiceAwareInterface; +use ApacheSolrForTypo3\Solr\IndexQueue\QueueInterface; use Doctrine\DBAL\ConnectionException; use Doctrine\DBAL\Exception as DBALException; use Throwable; use TYPO3\CMS\Core\Utility\GeneralUtility; -use UnexpectedValueException; /** * The queue initialization service is responsible to run the initialization of the index queue for a combination of sites @@ -36,17 +37,14 @@ */ class QueueInitializationService { - /** - * @var Queue - */ - protected Queue $queue; + protected bool $clearQueueOnInitialization = true; /** - * QueueInitializationService constructor. + * @param bool $clearQueueOnInitialization */ - public function __construct(Queue $queue) + public function setClearQueueOnInitialization(bool $clearQueueOnInitialization): void { - $this->queue = $queue; + $this->clearQueueOnInitialization = $clearQueueOnInitialization; } /** @@ -98,6 +96,7 @@ public function initializeBySitesAndConfigurations(array $sites, array $indexing * @throws ConnectionException * @throws Throwable * @throws DBALException + * @throws InvalidIndexQueueInitizalizationPostProcessorException */ public function initializeBySiteAndIndexConfigurations(Site $site, array $indexingConfigurationNames): array { @@ -118,7 +117,10 @@ public function initializeBySiteAndIndexConfigurations(Site $site, array $indexi if ($indexQueueInitializationPostProcessor instanceof InitializationPostProcessor) { $indexQueueInitializationPostProcessor->postProcessIndexQueueInitialization($site, $indexingConfigurationNames, $initializationStatus); } else { - throw new UnexpectedValueException(get_class($indexQueueInitializationPostProcessor) . ' must implement interface ' . InitializationPostProcessor::class, 1345815561); + throw new InvalidIndexQueueInitizalizationPostProcessorException( + get_class($indexQueueInitializationPostProcessor) . ' must implement interface ' . InitializationPostProcessor::class, + 1345815561 + ); } } @@ -138,10 +140,21 @@ public function initializeBySiteAndIndexConfigurations(Site $site, array $indexi */ protected function applyInitialization(Site $site, string $indexingConfigurationName): bool { + $solrConfiguration = $site->getSolrConfiguration(); + + /** @var QueueInterface $queue */ + $queue = GeneralUtility::makeInstance( + $solrConfiguration->getIndexQueueClassByConfigurationName($indexingConfigurationName) + ); + if ($queue instanceof QueueInitializationServiceAwareInterface) { + $queue->setQueueInitializationService($this); + } + // clear queue - $this->queue->deleteItemsBySite($site, $indexingConfigurationName); + if ($this->clearQueueOnInitialization) { + $queue->deleteItemsBySite($site, $indexingConfigurationName); + } - $solrConfiguration = $site->getSolrConfiguration(); $type = $solrConfiguration->getIndexQueueTypeOrFallbackToConfigurationName($indexingConfigurationName); $initializerClass = $solrConfiguration->getIndexQueueInitializerClassByConfigurationName($indexingConfigurationName); $indexConfiguration = $solrConfiguration->getIndexQueueConfigurationByName($indexingConfigurationName); diff --git a/Classes/Domain/Index/Queue/QueueItemRepository.php b/Classes/Domain/Index/Queue/QueueItemRepository.php index bdf7dea69..7391c1fe4 100644 --- a/Classes/Domain/Index/Queue/QueueItemRepository.php +++ b/Classes/Domain/Index/Queue/QueueItemRepository.php @@ -19,6 +19,7 @@ use ApacheSolrForTypo3\Solr\Domain\Site\Site; use ApacheSolrForTypo3\Solr\IndexQueue\Item; +use ApacheSolrForTypo3\Solr\IndexQueue\ItemInterface; use ApacheSolrForTypo3\Solr\System\Logging\SolrLogManager; use ApacheSolrForTypo3\Solr\System\Records\AbstractRepository; use Doctrine\DBAL\ConnectionException; @@ -145,12 +146,12 @@ public function flushErrorsBySite(Site $site): int /** * Flushes the error for a single item. * - * @param Item $item + * @param ItemInterface $item * @return int affected rows * * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function flushErrorByItem(Item $item): int + public function flushErrorByItem(ItemInterface $item): int { $queryBuilder = $this->getQueryBuilder(); return (int)$this->getPreparedFlushErrorQuery($queryBuilder) @@ -397,16 +398,20 @@ public function containsItem(string $itemType, int $itemUid): bool * @param string $itemType The item's type, usually a table name. * @param int $itemUid The item's uid * @param int $rootPageId + * @param string $indexingConfiguration * @return bool TRUE if the item is found in the queue, FALSE otherwise * * @throws DBALDriverException * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function containsItemWithRootPageId(string $itemType, int $itemUid, int $rootPageId): bool + public function containsItemWithRootPageId(string $itemType, int $itemUid, int $rootPageId, string $indexingConfiguration): bool { $queryBuilder = $this->getQueryBuilderForContainsMethods($itemType, $itemUid); return (bool)$queryBuilder - ->andWhere($queryBuilder->expr()->eq('root', $rootPageId)) + ->andWhere( + $queryBuilder->expr()->eq('root', $rootPageId), + $queryBuilder->expr()->eq('indexing_configuration', $queryBuilder->createNamedParameter($indexingConfiguration)) + ) ->execute() ->fetchOne(); } @@ -970,12 +975,12 @@ public function markItemAsFailed($item, string $errorMessage = ''): int /** * Sets the timestamp of when an item last has been indexed. * - * @param Item $item + * @param ItemInterface $item * @return int affected rows * * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function updateIndexTimeByItem(Item $item): int + public function updateIndexTimeByItem(ItemInterface $item): int { $queryBuilder = $this->getQueryBuilder(); return (int)$queryBuilder @@ -988,13 +993,13 @@ public function updateIndexTimeByItem(Item $item): int /** * Sets the change timestamp of an item. * - * @param Item $item + * @param ItemInterface $item * @param int $changedTime * @return int affected rows * * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function updateChangedTimeByItem(Item $item, int $changedTime = 0): int + public function updateChangedTimeByItem(ItemInterface $item, int $changedTime = 0): int { $queryBuilder = $this->getQueryBuilder(); return (int)$queryBuilder diff --git a/Classes/Domain/Index/Queue/RecordMonitor/Helper/ConfigurationAwareRecordService.php b/Classes/Domain/Index/Queue/RecordMonitor/Helper/ConfigurationAwareRecordService.php index f44462c6c..f7a60133f 100644 --- a/Classes/Domain/Index/Queue/RecordMonitor/Helper/ConfigurationAwareRecordService.php +++ b/Classes/Domain/Index/Queue/RecordMonitor/Helper/ConfigurationAwareRecordService.php @@ -147,7 +147,7 @@ protected function getRecordForIndexConfigurationIsValid( $row = (array)BackendUtility::getRecord($recordTable, $recordUid, '*', $recordWhereClause); $cache->set($cacheId, $row); - return $row ?? []; + return $row; } /** diff --git a/Classes/Domain/Index/Queue/RecordMonitor/Helper/RootPageResolver.php b/Classes/Domain/Index/Queue/RecordMonitor/Helper/RootPageResolver.php index f89ef3e65..9f6f1a75e 100644 --- a/Classes/Domain/Index/Queue/RecordMonitor/Helper/RootPageResolver.php +++ b/Classes/Domain/Index/Queue/RecordMonitor/Helper/RootPageResolver.php @@ -19,11 +19,11 @@ use ApacheSolrForTypo3\Solr\Domain\Site\Site; use ApacheSolrForTypo3\Solr\Domain\Site\SiteRepository; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Cache\TwoLevelCache; use ApacheSolrForTypo3\Solr\System\Configuration\ExtensionConfiguration; use ApacheSolrForTypo3\Solr\System\Page\Rootline; use Doctrine\DBAL\Driver\Exception as DBALDriverException; -use InvalidArgumentException; use RuntimeException; use Throwable; use TYPO3\CMS\Backend\Utility\BackendUtility; diff --git a/Classes/Domain/Index/Queue/Statistic/QueueStatisticsRepository.php b/Classes/Domain/Index/Queue/Statistic/QueueStatisticsRepository.php index 3ff4f5a4f..112c76132 100644 --- a/Classes/Domain/Index/Queue/Statistic/QueueStatisticsRepository.php +++ b/Classes/Domain/Index/Queue/Statistic/QueueStatisticsRepository.php @@ -29,10 +29,12 @@ */ class QueueStatisticsRepository extends AbstractRepository { - /** - * @var string - */ protected string $table = 'tx_solr_indexqueue_item'; + protected string $columnIndexed = 'indexed'; + protected string $columnIndexingConfiguration = 'indexing_configuration'; + protected string $columnChanged = 'changed'; + protected string $columnErrors = 'errors'; + protected string $columnRootpage = 'root'; /** * Extracts the number of pending, indexed and erroneous items from the @@ -53,23 +55,26 @@ public function findOneByRootPidAndOptionalIndexingConfigurationName( $queryBuilder = $this->getQueryBuilder(); $queryBuilder ->add('select', vsprintf('(%s < %s) AS %s', [ - $queryBuilder->quoteIdentifier('indexed'), - $queryBuilder->quoteIdentifier('changed'), + $queryBuilder->quoteIdentifier($this->columnIndexed), + $queryBuilder->quoteIdentifier($this->columnChanged), $queryBuilder->quoteIdentifier('pending'), ]), true) ->add('select', vsprintf('(%s) AS %s', [ - $queryBuilder->expr()->notLike('errors', $queryBuilder->createNamedParameter('')), + $queryBuilder->expr()->notLike($this->columnErrors, $queryBuilder->createNamedParameter('')), $queryBuilder->quoteIdentifier('failed'), ]), true) ->add('select', $queryBuilder->expr()->count('*', 'count'), true) ->from($this->table) ->where( - $queryBuilder->expr()->eq('root', $queryBuilder->createNamedParameter($rootPid, PDO::PARAM_INT)) + $queryBuilder->expr()->eq($this->columnRootpage, $queryBuilder->createNamedParameter($rootPid, PDO::PARAM_INT)) )->groupBy('pending', 'failed'); if (!empty($indexingConfigurationName)) { $queryBuilder->andWhere( - $queryBuilder->expr()->eq('indexing_configuration', $queryBuilder->createNamedParameter($indexingConfigurationName)) + $queryBuilder->expr()->eq( + $this->columnIndexingConfiguration, + $queryBuilder->createNamedParameter($indexingConfigurationName) + ) ); } diff --git a/Classes/Domain/Index/Queue/UpdateHandler/DataUpdateHandler.php b/Classes/Domain/Index/Queue/UpdateHandler/DataUpdateHandler.php index 92def0e31..8db8dabd2 100644 --- a/Classes/Domain/Index/Queue/UpdateHandler/DataUpdateHandler.php +++ b/Classes/Domain/Index/Queue/UpdateHandler/DataUpdateHandler.php @@ -22,6 +22,7 @@ use ApacheSolrForTypo3\Solr\Domain\Index\Queue\RecordMonitor\Helper\RootPageResolver; use ApacheSolrForTypo3\Solr\Domain\Site\SiteInterface; use ApacheSolrForTypo3\Solr\Domain\Site\SiteRepository; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\FrontendEnvironment; use ApacheSolrForTypo3\Solr\IndexQueue\Queue; use ApacheSolrForTypo3\Solr\System\Configuration\TypoScriptConfiguration; @@ -31,7 +32,6 @@ use ApacheSolrForTypo3\Solr\Util; use Doctrine\DBAL\Driver\Exception as DBALDriverException; use Doctrine\DBAL\Exception as DBALException; -use InvalidArgumentException; use Throwable; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Context\Exception\AspectNotFoundException; diff --git a/Classes/Domain/Index/Queue/UpdateHandler/EventListener/AbstractBaseEventListener.php b/Classes/Domain/Index/Queue/UpdateHandler/EventListener/AbstractBaseEventListener.php index a0abef917..a042b8caf 100644 --- a/Classes/Domain/Index/Queue/UpdateHandler/EventListener/AbstractBaseEventListener.php +++ b/Classes/Domain/Index/Queue/UpdateHandler/EventListener/AbstractBaseEventListener.php @@ -21,8 +21,8 @@ use ApacheSolrForTypo3\Solr\Domain\Index\Queue\UpdateHandler\EventListener\Events\ProcessingFinishedEventInterface; use ApacheSolrForTypo3\Solr\Domain\Index\Queue\UpdateHandler\Events\DataUpdateEventInterface; use ApacheSolrForTypo3\Solr\Domain\Index\Queue\UpdateHandler\GarbageHandler; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Configuration\ExtensionConfiguration; -use InvalidArgumentException; use Psr\EventDispatcher\EventDispatcherInterface; use TYPO3\CMS\Core\Utility\GeneralUtility; diff --git a/Classes/Domain/Search/LastSearches/LastSearchesRepository.php b/Classes/Domain/Search/LastSearches/LastSearchesRepository.php index d6c07e8d3..dd494b2a1 100644 --- a/Classes/Domain/Search/LastSearches/LastSearchesRepository.php +++ b/Classes/Domain/Search/LastSearches/LastSearchesRepository.php @@ -15,10 +15,10 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\LastSearches; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Records\AbstractRepository; use Doctrine\DBAL\Driver\Exception as DBALDriverException; use Doctrine\DBAL\Exception as DBALException; -use InvalidArgumentException; use function json_encode; class LastSearchesRepository extends AbstractRepository diff --git a/Classes/Domain/Search/Query/ParameterBuilder/Highlighting.php b/Classes/Domain/Search/Query/ParameterBuilder/Highlighting.php index 41fce440b..6f617fee1 100644 --- a/Classes/Domain/Search/Query/ParameterBuilder/Highlighting.php +++ b/Classes/Domain/Search/Query/ParameterBuilder/Highlighting.php @@ -189,6 +189,7 @@ public function build(AbstractQueryBuilder $parentBuilder): AbstractQueryBuilder $query->getHighlighting()->setUseFastVectorHighlighter(true); $query->getHighlighting()->setTagPrefix($this->getPrefix()); $query->getHighlighting()->setTagPostfix($this->getPostfix()); + $query->getHighlighting()->setMethod('fastVector'); } else { $query->getHighlighting()->setUseFastVectorHighlighter(false); $query->getHighlighting()->setTagPrefix(''); diff --git a/Classes/Domain/Search/Query/ParameterBuilder/Operator.php b/Classes/Domain/Search/Query/ParameterBuilder/Operator.php index e05f84d1a..50b18b71c 100644 --- a/Classes/Domain/Search/Query/ParameterBuilder/Operator.php +++ b/Classes/Domain/Search/Query/ParameterBuilder/Operator.php @@ -15,7 +15,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\Query\ParameterBuilder; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; /** * The Operator ParameterProvider is responsible to build the solr query parameters diff --git a/Classes/Domain/Search/ResultSet/Facets/FacetRegistry.php b/Classes/Domain/Search/ResultSet/Facets/FacetRegistry.php index f755e4264..e1e5e7bbb 100644 --- a/Classes/Domain/Search/ResultSet/Facets/FacetRegistry.php +++ b/Classes/Domain/Search/ResultSet/Facets/FacetRegistry.php @@ -22,8 +22,8 @@ use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\OptionBased\QueryGroup\QueryGroupPackage; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\RangeBased\DateRange\DateRangePackage; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\RangeBased\NumericRange\NumericRangePackage; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Object\AbstractClassRegistry; -use InvalidArgumentException; /** * Class FacetRegistry diff --git a/Classes/Domain/Search/ResultSet/Facets/InvalidFacetPackageException.php b/Classes/Domain/Search/ResultSet/Facets/InvalidFacetPackageException.php index 0c3b80408..fa5269346 100644 --- a/Classes/Domain/Search/ResultSet/Facets/InvalidFacetPackageException.php +++ b/Classes/Domain/Search/ResultSet/Facets/InvalidFacetPackageException.php @@ -15,6 +15,8 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets; -class InvalidFacetPackageException extends \Exception +use ApacheSolrForTypo3\Solr\Exception; + +class InvalidFacetPackageException extends Exception { } diff --git a/Classes/Domain/Search/ResultSet/Facets/InvalidFacetParserException.php b/Classes/Domain/Search/ResultSet/Facets/InvalidFacetParserException.php index b0509491c..623eff19b 100644 --- a/Classes/Domain/Search/ResultSet/Facets/InvalidFacetParserException.php +++ b/Classes/Domain/Search/ResultSet/Facets/InvalidFacetParserException.php @@ -15,6 +15,8 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets; -class InvalidFacetParserException extends \Exception +use ApacheSolrForTypo3\Solr\Exception; + +class InvalidFacetParserException extends Exception { } diff --git a/Classes/Domain/Search/ResultSet/Facets/InvalidQueryBuilderException.php b/Classes/Domain/Search/ResultSet/Facets/InvalidQueryBuilderException.php index 4022e23fa..242c37263 100644 --- a/Classes/Domain/Search/ResultSet/Facets/InvalidQueryBuilderException.php +++ b/Classes/Domain/Search/ResultSet/Facets/InvalidQueryBuilderException.php @@ -15,6 +15,8 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets; -class InvalidQueryBuilderException extends \Exception +use ApacheSolrForTypo3\Solr\Exception; + +class InvalidQueryBuilderException extends Exception { } diff --git a/Classes/Domain/Search/ResultSet/Facets/InvalidUrlDecoderException.php b/Classes/Domain/Search/ResultSet/Facets/InvalidUrlDecoderException.php index 58d27d7a0..0c8992f20 100644 --- a/Classes/Domain/Search/ResultSet/Facets/InvalidUrlDecoderException.php +++ b/Classes/Domain/Search/ResultSet/Facets/InvalidUrlDecoderException.php @@ -17,7 +17,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets; -use Exception; +use ApacheSolrForTypo3\Solr\Exception; class InvalidUrlDecoderException extends Exception { diff --git a/Classes/Domain/Search/ResultSet/Facets/RangeBased/DateRange/DateRange.php b/Classes/Domain/Search/ResultSet/Facets/RangeBased/DateRange/DateRange.php index b242740da..2f15bc043 100644 --- a/Classes/Domain/Search/ResultSet/Facets/RangeBased/DateRange/DateRange.php +++ b/Classes/Domain/Search/ResultSet/Facets/RangeBased/DateRange/DateRange.php @@ -91,7 +91,7 @@ public function __construct( protected function getRangeString(): string { $from = $this->startRequested === null ? '' : $this->startRequested->format('Ymd') . '0000'; - $till = $this->endRequested === null ? '' : $this->endRequested->format('Ymd') . '0000'; + $till = $this->endRequested === null ? '' : $this->endRequested->format('Ymd') . '2359'; return $from . '-' . $till; } diff --git a/Classes/Domain/Search/ResultSet/Facets/RangeBased/NumericRange/NumericRangeUrlDecoder.php b/Classes/Domain/Search/ResultSet/Facets/RangeBased/NumericRange/NumericRangeUrlDecoder.php index 79706bcfb..95381e115 100644 --- a/Classes/Domain/Search/ResultSet/Facets/RangeBased/NumericRange/NumericRangeUrlDecoder.php +++ b/Classes/Domain/Search/ResultSet/Facets/RangeBased/NumericRange/NumericRangeUrlDecoder.php @@ -18,7 +18,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\RangeBased\NumericRange; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\FacetUrlDecoderInterface; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; /** * Parser to build Solr range queries from tx_solr[filter] diff --git a/Classes/Domain/Search/ResultSet/Facets/RequirementsService.php b/Classes/Domain/Search/ResultSet/Facets/RequirementsService.php index fad625e94..24cb7abb4 100644 --- a/Classes/Domain/Search/ResultSet/Facets/RequirementsService.php +++ b/Classes/Domain/Search/ResultSet/Facets/RequirementsService.php @@ -15,6 +15,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3\CMS\Core\Utility\GeneralUtility; /** @@ -83,12 +84,13 @@ protected function getRequirementMet(AbstractFacet $facet, $requirement = []) * * @param string $facetNameToCheckRequirementsOn * @return AbstractFacetItem[] + * @throws InvalidArgumentException */ protected function getSelectedItemValues(AbstractFacet $facet, $facetNameToCheckRequirementsOn) { $facetToCheckRequirements = $facet->getResultSet()->getFacets()->getByName($facetNameToCheckRequirementsOn)->getByPosition(0); if (!$facetToCheckRequirements instanceof AbstractFacet) { - throw new \InvalidArgumentException('Requirement for unexisting facet configured'); + throw new InvalidArgumentException('Requirement for unexisting facet configured'); } if (!$facetToCheckRequirements->getIsUsed()) { diff --git a/Classes/Domain/Search/ResultSet/Facets/SortingExpression.php b/Classes/Domain/Search/ResultSet/Facets/SortingExpression.php index 91a18666c..ac0908df7 100644 --- a/Classes/Domain/Search/ResultSet/Facets/SortingExpression.php +++ b/Classes/Domain/Search/ResultSet/Facets/SortingExpression.php @@ -55,7 +55,7 @@ public function getForJsonFacet(string $sorting, string $direction): string { $isMetricSorting = strpos($sorting, 'metrics_') === 0; $expression = $isMetricSorting ? $sorting : $this->getForFacet($sorting); - $direction = strtolower($direction ?? ''); + $direction = strtolower($direction); if (!empty($direction) && in_array($direction, ['asc', 'desc'])) { $expression .= ' ' . $direction; } diff --git a/Classes/Domain/Search/ResultSet/Result/Parser/ResultParserRegistry.php b/Classes/Domain/Search/ResultSet/Result/Parser/ResultParserRegistry.php index 3109abf8c..0c21251fd 100644 --- a/Classes/Domain/Search/ResultSet/Result/Parser/ResultParserRegistry.php +++ b/Classes/Domain/Search/ResultSet/Result/Parser/ResultParserRegistry.php @@ -18,7 +18,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Result\Parser; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3\CMS\Core\SingletonInterface; use TYPO3\CMS\Core\Utility\GeneralUtility; diff --git a/Classes/Domain/Search/ResultSet/Result/SearchResultBuilder.php b/Classes/Domain/Search/ResultSet/Result/SearchResultBuilder.php index 5c35c4ada..d6ecb59c5 100644 --- a/Classes/Domain/Search/ResultSet/Result/SearchResultBuilder.php +++ b/Classes/Domain/Search/ResultSet/Result/SearchResultBuilder.php @@ -17,8 +17,8 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Result; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Solr\Document\Document; -use InvalidArgumentException; use TYPO3\CMS\Core\Utility\GeneralUtility; /** diff --git a/Classes/Domain/Search/ResultSet/Sorting/Sorting.php b/Classes/Domain/Search/ResultSet/Sorting/Sorting.php index 27e750f0d..1304b1ba0 100644 --- a/Classes/Domain/Search/ResultSet/Sorting/Sorting.php +++ b/Classes/Domain/Search/ResultSet/Sorting/Sorting.php @@ -18,7 +18,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Sorting; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; /** * Class Sorting diff --git a/Classes/Domain/Search/ResultSet/Sorting/SortingHelper.php b/Classes/Domain/Search/ResultSet/Sorting/SortingHelper.php index 64935d3e3..86d8ecb8f 100644 --- a/Classes/Domain/Search/ResultSet/Sorting/SortingHelper.php +++ b/Classes/Domain/Search/ResultSet/Sorting/SortingHelper.php @@ -17,7 +17,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Sorting; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3\CMS\Core\Utility\GeneralUtility; /** diff --git a/Classes/Domain/Search/SearchRequest.php b/Classes/Domain/Search/SearchRequest.php index a1731f52d..e3c05ce07 100644 --- a/Classes/Domain/Search/SearchRequest.php +++ b/Classes/Domain/Search/SearchRequest.php @@ -137,7 +137,7 @@ public function __construct( if (!is_null($typoScriptConfiguration)) { $additionalPersistentArgumentsNames = $typoScriptConfiguration->getSearchAdditionalPersistentArgumentNames(); - foreach ($additionalPersistentArgumentsNames ?? [] as $additionalPersistentArgumentsName) { + foreach ($additionalPersistentArgumentsNames as $additionalPersistentArgumentsName) { $this->persistentArgumentsPaths[] = $this->argumentNameSpace . ':' . $additionalPersistentArgumentsName; } $this->persistentArgumentsPaths = array_unique($this->persistentArgumentsPaths); diff --git a/Classes/Domain/Search/SearchRequestBuilder.php b/Classes/Domain/Search/SearchRequestBuilder.php index 22b95417f..bd891993c 100644 --- a/Classes/Domain/Search/SearchRequestBuilder.php +++ b/Classes/Domain/Search/SearchRequestBuilder.php @@ -76,7 +76,7 @@ protected function applyPassedResultsPerPage(SearchRequest $searchRequest): Sear $requestedPerPage = $searchRequest->getResultsPerPage(); $perPageSwitchOptions = $this->typoScriptConfiguration->getSearchResultsPerPageSwitchOptionsAsArray(); - if (isset($requestedPerPage) && in_array($requestedPerPage, $perPageSwitchOptions)) { + if (in_array($requestedPerPage, $perPageSwitchOptions)) { $this->session->setPerPage($requestedPerPage); $searchRequest->setPage(0); } diff --git a/Classes/Domain/Search/Suggest/SuggestService.php b/Classes/Domain/Search/Suggest/SuggestService.php index 30852bc22..39f82e92e 100644 --- a/Classes/Domain/Search/Suggest/SuggestService.php +++ b/Classes/Domain/Search/Suggest/SuggestService.php @@ -188,7 +188,7 @@ protected function getSolrSuggestions(SuggestQuery $suggestQuery): array $facetSuggestions = isset($suggestConfig['suggestField']) ? $results->facet_counts->facet_fields->{$suggestConfig['suggestField']} ?? [] : []; $facetSuggestions = ParsingUtil::getMapArrayFromFlatArray($facetSuggestions); - return $facetSuggestions ?? []; + return $facetSuggestions; } /** diff --git a/Classes/Domain/Site/Exception/InvalidSiteConfigurationCombinationException.php b/Classes/Domain/Site/Exception/InvalidSiteConfigurationCombinationException.php index 3b43b5217..cf95df0dc 100644 --- a/Classes/Domain/Site/Exception/InvalidSiteConfigurationCombinationException.php +++ b/Classes/Domain/Site/Exception/InvalidSiteConfigurationCombinationException.php @@ -17,7 +17,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Site\Exception; -use Exception; +use ApacheSolrForTypo3\Solr\Exception; class InvalidSiteConfigurationCombinationException extends Exception { diff --git a/Classes/Domain/Site/Exception/InvalidSiteRootPageException.php b/Classes/Domain/Site/Exception/InvalidSiteRootPageException.php new file mode 100644 index 000000000..143cd468b --- /dev/null +++ b/Classes/Domain/Site/Exception/InvalidSiteRootPageException.php @@ -0,0 +1,24 @@ +getAvailableTYPO3ManagedSites($stopOnInvalidSite); $this->runtimeCache->set($cacheId, $sites); - return $sites ?? []; + return $sites; } /** diff --git a/Classes/Domain/Variants/IdBuilder.php b/Classes/Domain/Variants/IdBuilder.php index 09819273d..c04901b16 100644 --- a/Classes/Domain/Variants/IdBuilder.php +++ b/Classes/Domain/Variants/IdBuilder.php @@ -17,7 +17,7 @@ namespace ApacheSolrForTypo3\Solr\Domain\Variants; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3\CMS\Core\Utility\GeneralUtility; /** diff --git a/Classes/Exception/Index/Queue/InvalidIndexQueueInitizalizationPostProcessorException.php b/Classes/Exception/Index/Queue/InvalidIndexQueueInitizalizationPostProcessorException.php new file mode 100644 index 000000000..4d244ed36 --- /dev/null +++ b/Classes/Exception/Index/Queue/InvalidIndexQueueInitizalizationPostProcessorException.php @@ -0,0 +1,27 @@ + */ -class Item +class Item implements ItemInterface, MountPointAwareItemInterface { - const STATE_BLOCKED = -1; - - const STATE_PENDING = 0; - - const STATE_INDEXED = 1; - /** * The item's uid in the index queue (tx_solr_indexqueue_item.uid) * @@ -115,6 +109,13 @@ class Item */ protected ?int $recordUid = null; + /** + * The indexing priority + * + * @var int + */ + protected int $indexingPriority = 0; + /** * The record itself * @@ -169,6 +170,7 @@ public function __construct( $this->indexingConfigurationName = $itemMetaData['indexing_configuration'] ?? ''; $this->hasIndexingProperties = (boolean)($itemMetaData['has_indexing_properties'] ?? false); + $this->indexingPriority = (int)($itemMetaData['indexing_priority'] ?? 0); if (!empty($fullRecord)) { $this->record = $fullRecord; @@ -181,7 +183,7 @@ public function __construct( /** * Getter for Index Queue UID * - * @return int + * @return int|null */ public function getIndexQueueUid(): ?int { @@ -201,7 +203,7 @@ public function getRootPageUid(): ?int /** * Returns mount point identifier * - * @return string + * @return string|null */ public function getMountPointIdentifier(): ?string { @@ -233,6 +235,8 @@ public function getHasErrors(): bool } /** + * Items state: pending, indexed, blocked + * * @return int */ public function getState(): int @@ -263,17 +267,17 @@ public function getSite(): ?Site /** * Returns the type/tablename of the queue record. * - * @return mixed|string + * @return string|null */ - public function getType() + public function getType(): ?string { return $this->type; } /** - * @param $type + * @param string $type */ - public function setType($type) + public function setType(string $type): void { $this->type = $type; } @@ -281,9 +285,9 @@ public function setType($type) /** * Returns the name of the index configuration that was used to create this record. * - * @return mixed|string + * @return string */ - public function getIndexingConfigurationName() + public function getIndexingConfigurationName(): string { return $this->indexingConfigurationName; } @@ -291,7 +295,7 @@ public function getIndexingConfigurationName() /** * @param string $indexingConfigurationName */ - public function setIndexingConfigurationName(string $indexingConfigurationName) + public function setIndexingConfigurationName(string $indexingConfigurationName): void { $this->indexingConfigurationName = $indexingConfigurationName; } @@ -299,9 +303,9 @@ public function setIndexingConfigurationName(string $indexingConfigurationName) /** * Returns the timestamp when this queue item was changed. * - * @return int|mixed + * @return int|null */ - public function getChanged() + public function getChanged(): ?int { return $this->changed; } @@ -309,9 +313,9 @@ public function getChanged() /** * Returns the timestamp when this queue item was indexed. * - * @return int|mixed + * @return int|null */ - public function getIndexed() + public function getIndexed(): ?int { return $this->indexed; } @@ -321,7 +325,7 @@ public function getIndexed() * * @param int $changed */ - public function setChanged(int $changed) + public function setChanged(int $changed): void { $this->changed = $changed; } @@ -329,13 +333,14 @@ public function setChanged(int $changed) /** * Returns the uid of related record (item_uid). * - * @return mixed + * @return int The uid of the item record, usually an integer uid, could be a + * different value for non-database-record types. */ public function getRecordUid() { $this->getRecord(); - return $this->record['uid']; + return (int)$this->record['uid']; } /** @@ -365,7 +370,7 @@ public function getRecord(): array * * @param array $record */ - public function setRecord(array $record) + public function setRecord(array $record): void { $this->record = $record; } @@ -386,7 +391,7 @@ public function getRecordPageId(): int * Stores the indexing properties. * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function storeIndexingProperties() + public function storeIndexingProperties(): void { $this->indexQueueIndexingPropertyRepository->removeByRootPidAndIndexQueueUid((int)($this->rootPageUid), (int)($this->indexQueueUid)); @@ -408,7 +413,7 @@ public function hasIndexingProperties(): bool /** * Writes all indexing properties. */ - protected function writeIndexingProperties() + protected function writeIndexingProperties(): void { $properties = []; foreach ($this->indexingProperties as $propertyKey => $propertyValue) { @@ -444,7 +449,7 @@ public function hasIndexingProperty(string $key): bool * @throws DBALDriverException * @throws DBALException */ - public function loadIndexingProperties() + public function loadIndexingProperties(): void { if ($this->indexingPropertiesLoaded) { return; @@ -471,7 +476,7 @@ public function loadIndexingProperties() * @throws DBALDriverException * @throws DBALException */ - public function setIndexingProperty(string $key, $value) + public function setIndexingProperty(string $key, $value): void { // make sure to not interfere with existing indexing properties $this->loadIndexingProperties(); @@ -540,4 +545,14 @@ public function getIndexingPropertyKeys(): array return array_keys($this->indexingProperties); } + + /** + * Returns the index priority. + * + * @return int + */ + public function getIndexPriority(): int + { + return $this->indexingPriority; + } } diff --git a/Classes/IndexQueue/ItemInterface.php b/Classes/IndexQueue/ItemInterface.php new file mode 100644 index 000000000..3bb37a249 --- /dev/null +++ b/Classes/IndexQueue/ItemInterface.php @@ -0,0 +1,117 @@ + */ -class NoPidException extends \Exception +class NoPidException extends Exception { } diff --git a/Classes/IndexQueue/PageIndexerRequest.php b/Classes/IndexQueue/PageIndexerRequest.php index 2da8389ae..821d63015 100644 --- a/Classes/IndexQueue/PageIndexerRequest.php +++ b/Classes/IndexQueue/PageIndexerRequest.php @@ -428,7 +428,7 @@ protected function getUrl(string $url, array $headers, float $timeout): Response ), [ 'HTTP headers' => $response->getHeaders(), - 'options' => $options, + 'options' => $options ?? [], ] ); } diff --git a/Classes/IndexQueue/Queue.php b/Classes/IndexQueue/Queue.php index 7bafdb482..765f943f0 100644 --- a/Classes/IndexQueue/Queue.php +++ b/Classes/IndexQueue/Queue.php @@ -25,13 +25,13 @@ use ApacheSolrForTypo3\Solr\Domain\Index\Queue\Statistic\QueueStatisticsRepository; use ApacheSolrForTypo3\Solr\Domain\Site\Site; use ApacheSolrForTypo3\Solr\Domain\Site\SiteRepository; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\FrontendEnvironment; use ApacheSolrForTypo3\Solr\System\Cache\TwoLevelCache; use ApacheSolrForTypo3\Solr\System\Logging\SolrLogManager; use Doctrine\DBAL\ConnectionException; use Doctrine\DBAL\Driver\Exception as DBALDriverException; use Doctrine\DBAL\Exception as DBALException; -use InvalidArgumentException; use Throwable; use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -42,7 +42,7 @@ * * @author Ingo Renner */ -class Queue +class Queue implements QueueInterface, QueueInitializationServiceAwareInterface { /** * @var RootPageResolver @@ -81,26 +81,26 @@ class Queue /** * Queue constructor. - * @param RootPageResolver|null $rootPageResolver - * @param ConfigurationAwareRecordService|null $recordService - * @param QueueItemRepository|null $queueItemRepository - * @param QueueStatisticsRepository|null $queueStatisticsRepository - * @param QueueInitializationService|null $queueInitializationService + * + * @param ?RootPageResolver|null $rootPageResolver + * @param ?ConfigurationAwareRecordService|null $recordService + * @param ?QueueItemRepository|null $queueItemRepository + * @param ?QueueStatisticsRepository|null $queueStatisticsRepository + * @param ?FrontendEnvironment|null $frontendEnvironment */ public function __construct( - RootPageResolver $rootPageResolver = null, - ConfigurationAwareRecordService $recordService = null, - QueueItemRepository $queueItemRepository = null, - QueueStatisticsRepository $queueStatisticsRepository = null, - QueueInitializationService $queueInitializationService = null, - FrontendEnvironment $frontendEnvironment = null + ?RootPageResolver $rootPageResolver = null, + ?ConfigurationAwareRecordService $recordService = null, + ?QueueItemRepository $queueItemRepository = null, + ?QueueStatisticsRepository $queueStatisticsRepository = null, + ?FrontendEnvironment $frontendEnvironment = null ) { $this->logger = GeneralUtility::makeInstance(SolrLogManager::class, __CLASS__); + $this->rootPageResolver = $rootPageResolver ?? GeneralUtility::makeInstance(RootPageResolver::class); $this->recordService = $recordService ?? GeneralUtility::makeInstance(ConfigurationAwareRecordService::class); $this->queueItemRepository = $queueItemRepository ?? GeneralUtility::makeInstance(QueueItemRepository::class); $this->queueStatisticsRepository = $queueStatisticsRepository ?? GeneralUtility::makeInstance(QueueStatisticsRepository::class); - $this->queueInitializationService = $queueInitializationService ?? GeneralUtility::makeInstance(QueueInitializationService::class, $this); $this->frontendEnvironment = $frontendEnvironment ?? GeneralUtility::makeInstance(FrontendEnvironment::class); } @@ -150,14 +150,47 @@ public function getLastIndexedItemId(int $rootPageId): int return $lastIndexedItemId; } + /** + * @param QueueInitializationService $queueInitializationService + */ + public function setQueueInitializationService(QueueInitializationService $queueInitializationService): void + { + $this->queueInitializationService = $queueInitializationService; + } + /** * @return QueueInitializationService */ - public function getInitializationService(): QueueInitializationService + public function getQueueInitializationService(): QueueInitializationService { + if (!isset($this->queueInitializationService)) { + trigger_error( + 'queueInitializationService is no longer initalized automatically, till EXT:solr supports DI' + . ' the QueueInitializationService has to be set manually, fallback will be removed in v13.', + E_USER_DEPRECATED + ); + $this->queueInitializationService = GeneralUtility::makeInstance(QueueInitializationService::class); + } + return $this->queueInitializationService; } + /** + * @return QueueInitializationService + * @deprecated Queue->getInitializationService is deprecated and will be removed in v12. + * Use Queue->getQueueInitializationService instead or create a fresh instance. + */ + public function getInitializationService(): QueueInitializationService + { + trigger_error( + 'Queue->getInitializationService is deprecated and will be removed in v13.' + . ' Use Queue->getQueueInitializationService instead or create a fresh instance.', + E_USER_DEPRECATED + ); + + return $this->getQueueInitializationService(); + } + /** * Marks an item as needing (re)indexing. * @@ -169,12 +202,13 @@ public function getInitializationService(): QueueInitializationService * @param string $itemType The item's type, usually a table name. * @param int|string $itemUid The item's uid, usually an integer uid, could be a different value for non-database-record types. * @param int $forcedChangeTime The change time for the item if set, otherwise value from getItemChangedTime() is used. + * @param array|null $validLanguageUids List of valid language uids, others will be ignored. Depends on your queue implementation, may be irrelevant * @return int Number of updated/created items * @throws DBALDriverException * @throws DBALException|\Doctrine\DBAL\DBALException * @throws Throwable */ - public function updateItem(string $itemType, $itemUid, int $forcedChangeTime = 0): int + public function updateItem(string $itemType, $itemUid, int $forcedChangeTime = 0, ?array $validLanguageUids = null): int { $updateCount = $this->updateOrAddItemForAllRelatedRootPages($itemType, $itemUid, $forcedChangeTime); return $this->postProcessIndexQueueUpdateItem($itemType, $itemUid, $updateCount, $forcedChangeTime); @@ -195,7 +229,7 @@ protected function updateOrAddItemForAllRelatedRootPages(string $itemType, $item { $updateCount = 0; try { - $rootPageIds = $this->rootPageResolver->getResponsibleRootPageIds($itemType, $itemUid); + $rootPageIds = $this->rootPageResolver->getResponsibleRootPageIds($itemType, (int)$itemUid); } catch (InvalidArgumentException $e) { $this->deleteItem($itemType, $itemUid); return 0; @@ -215,16 +249,16 @@ protected function updateOrAddItemForAllRelatedRootPages(string $itemType, $item } $solrConfiguration = $site->getSolrConfiguration(); - $indexingConfiguration = $this->recordService->getIndexingConfigurationName($itemType, $itemUid, $solrConfiguration); + $indexingConfiguration = $this->recordService->getIndexingConfigurationName($itemType, (int)$itemUid, $solrConfiguration); if ($indexingConfiguration === null) { continue; } $indexingPriority = $solrConfiguration->getIndexQueueIndexingPriorityByConfigurationName($indexingConfiguration); - $itemInQueueForRootPage = $this->containsItemWithRootPageId($itemType, $itemUid, $rootPageId); + $itemInQueueForRootPage = $this->containsItemWithRootPageId($itemType, $itemUid, $rootPageId, $indexingConfiguration); if ($itemInQueueForRootPage) { // update changed time if that item is in the queue already - $changedTime = ($forcedChangeTime > 0) ? $forcedChangeTime : $this->getItemChangedTime($itemType, $itemUid); - $updatedRows = $this->queueItemRepository->updateExistingItemByItemTypeAndItemUidAndRootPageId($itemType, $itemUid, $rootPageId, $changedTime, $indexingConfiguration, $indexingPriority); + $changedTime = ($forcedChangeTime > 0) ? $forcedChangeTime : $this->getItemChangedTime($itemType, (int)$itemUid); + $updatedRows = $this->queueItemRepository->updateExistingItemByItemTypeAndItemUidAndRootPageId($itemType, (int)$itemUid, $rootPageId, $changedTime, $indexingConfiguration, $indexingPriority); } else { // add the item since it's not in the queue yet $updatedRows = $this->addNewItem($itemType, $itemUid, $indexingConfiguration, $rootPageId, $indexingPriority); @@ -257,7 +291,7 @@ protected function postProcessIndexQueueUpdateItem( foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['postProcessIndexQueueUpdateItem'] as $classReference) { $updateHandler = $this->getHookImplementation($classReference); - $updateCount = $updateHandler->postProcessIndexQueueUpdateItem($itemType, $itemUid, $updateCount, $forcedChangeTime); + $updateCount = $updateHandler->postProcessIndexQueueUpdateItem($itemType, (int)$itemUid, $updateCount, $forcedChangeTime); } return $updateCount; @@ -288,10 +322,10 @@ public function getErrorsBySite(Site $site): array /** * Resets all the errors for all index queue items. * - * @return mixed + * @return int affected rows * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function resetAllErrors() + public function resetAllErrors(): int { return $this->queueItemRepository->flushAllErrors(); } @@ -300,10 +334,10 @@ public function resetAllErrors() * Resets the errors in the index queue for a specific site * * @param Site $site - * @return mixed + * @return int affected rows * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function resetErrorsBySite(Site $site) + public function resetErrorsBySite(Site $site): int { return $this->queueItemRepository->flushErrorsBySite($site); } @@ -311,11 +345,11 @@ public function resetErrorsBySite(Site $site) /** * Resets the error in the index queue for a specific item * - * @param Item $item - * @return mixed + * @param ItemInterface $item + * @return int affected rows * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function resetErrorByItem(Item $item) + public function resetErrorByItem(ItemInterface $item): int { return $this->queueItemRepository->flushErrorByItem($item); } @@ -326,8 +360,7 @@ public function resetErrorByItem(Item $item) * Not meant for public use. * * @param string $itemType The item's type, usually a table name. - * @param int|string $itemUid The item's uid, usually an integer uid, could be a - * different value for non-database-record types. + * @param int|string $itemUid The item's uid, usually an integer uid, could be a different value for non-database-record types. * @param string $indexingConfiguration The item's indexing configuration to use. * Optional, overwrites existing / determined configuration. * @param int $rootPageId @@ -348,31 +381,30 @@ private function addNewItem( $additionalRecordFields = ', doktype, uid'; } - $record = $this->getRecordCached($itemType, $itemUid, $additionalRecordFields); + $record = $this->getRecordCached($itemType, (int)$itemUid, $additionalRecordFields); if (empty($record) || ($itemType === 'pages' && !$this->frontendEnvironment->isAllowedPageType($record, $indexingConfiguration))) { return 0; } - $changedTime = $this->getItemChangedTime($itemType, $itemUid); + $changedTime = $this->getItemChangedTime($itemType, (int)$itemUid); - return $this->queueItemRepository->add($itemType, $itemUid, $rootPageId, $changedTime, $indexingConfiguration, $indexingPriority); + return $this->queueItemRepository->add($itemType, (int)$itemUid, $rootPageId, $changedTime, $indexingConfiguration, $indexingPriority); } /** * Get record to be added in addNewItem * * @param string $itemType The item's type, usually a table name. - * @param int|string $itemUid The item's uid, usually an integer uid, could be a - * different value for non-database-record types. + * @param int $itemUid The item's uid * @param string $additionalRecordFields for sql-query * * @return array|null */ - protected function getRecordCached(string $itemType, $itemUid, string $additionalRecordFields): ?array + protected function getRecordCached(string $itemType, int $itemUid, string $additionalRecordFields): ?array { $cache = GeneralUtility::makeInstance(TwoLevelCache::class, 'runtime'); - $cacheId = md5('Queue' . ':' . 'getRecordCached' . ':' . $itemType . ':' . $itemUid . ':' . 'pid' . $additionalRecordFields); + $cacheId = md5('Queue' . ':' . 'getRecordCached' . ':' . $itemType . ':' . (string)$itemUid . ':' . 'pid' . $additionalRecordFields); $record = $cache->get($cacheId); if (empty($record)) { @@ -393,13 +425,12 @@ protected function getRecordCached(string $itemType, $itemUid, string $additiona * of an item. * * @param string $itemType The item's table name. - * @param int|string $itemUid The item's uid, usually an integer uid, could be a - * different value for non-database-record types. + * @param int $itemUid The item's uid * @return int Timestamp of the item's changed time or future start time * @throws DBALDriverException * @throws DBALException|\Doctrine\DBAL\DBALException */ - protected function getItemChangedTime(string $itemType, $itemUid): int + protected function getItemChangedTime(string $itemType, int $itemUid): int { $itemTypeHasStartTimeColumn = false; $changedTimeColumns = $GLOBALS['TCA'][$itemType]['ctrl']['tstamp']; @@ -430,7 +461,7 @@ protected function getItemChangedTime(string $itemType, $itemUid): int $pageChangedTime = $this->getPageItemChangedTime($record); } - $localizationsChangedTime = $this->queueItemRepository->getLocalizableItemChangedTime($itemType, (int)$itemUid); + $localizationsChangedTime = $this->queueItemRepository->getLocalizableItemChangedTime($itemType, $itemUid); // if start time exists and start time is higher than last changed timestamp // then set changed to the future start time to make the item @@ -465,7 +496,7 @@ protected function getPageItemChangedTime(array $page): int * * @param string $itemType The item's type, usually a table name. * @param int|string $itemUid The item's uid, usually an integer uid, could be a - * different value for non-database-record types. + * different value for non-database-record types. * @return bool TRUE if the item is found in the queue, FALSE otherwise * @throws DBALDriverException * @throws DBALException|\Doctrine\DBAL\DBALException @@ -480,15 +511,16 @@ public function containsItem(string $itemType, $itemUid): bool * * @param string $itemType The item's type, usually a table name. * @param int|string $itemUid The item's uid, usually an integer uid, could be a - * different value for non-database-record types. + * different value for non-database-record types. * @param int $rootPageId + * @param string $indexingConfiguration * @return bool TRUE if the item is found in the queue, FALSE otherwise * @throws DBALDriverException * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function containsItemWithRootPageId(string $itemType, $itemUid, int $rootPageId): bool + public function containsItemWithRootPageId(string $itemType, $itemUid, int $rootPageId, string $indexingConfiguration): bool { - return $this->queueItemRepository->containsItemWithRootPageId($itemType, (int)$itemUid, $rootPageId); + return $this->queueItemRepository->containsItemWithRootPageId($itemType, (int)$itemUid, $rootPageId, $indexingConfiguration); } /** @@ -497,9 +529,9 @@ public function containsItemWithRootPageId(string $itemType, $itemUid, int $root * * @param string $itemType The item's type, usually a table name. * @param int|string $itemUid The item's uid, usually an integer uid, could be a - * different value for non-database-record types. + * different value for non-database-record types. * @return bool TRUE if the item is found in the queue and marked as - * indexed, FALSE otherwise + * indexed, FALSE otherwise * @throws DBALDriverException * @throws DBALException|\Doctrine\DBAL\DBALException */ @@ -512,12 +544,12 @@ public function containsIndexedItem(string $itemType, $itemUid): bool * Removes an item from the Index Queue. * * @param string $itemType The type of the item to remove, usually a table name. - * @param int|string $itemUid The uid of the item to remove + * @param int|string $itemUid The item's uid, usually an integer uid, could be a different value for non-database-record types. * @throws ConnectionException * @throws DBALException * @throws Throwable */ - public function deleteItem(string $itemType, $itemUid) + public function deleteItem(string $itemType, $itemUid): void { $this->queueItemRepository->deleteItem($itemType, (int)$itemUid); } @@ -530,7 +562,7 @@ public function deleteItem(string $itemType, $itemUid) * @throws DBALException * @throws Throwable */ - public function deleteItemsByType(string $itemType) + public function deleteItemsByType(string $itemType): void { $this->queueItemRepository->deleteItemsByType($itemType); } @@ -546,7 +578,7 @@ public function deleteItemsByType(string $itemType) * @throws \Doctrine\DBAL\DBALException * @throws Throwable */ - public function deleteItemsBySite(Site $site, string $indexingConfigurationName = '') + public function deleteItemsBySite(Site $site, string $indexingConfigurationName = ''): void { $this->queueItemRepository->deleteItemsBySite($site, $indexingConfigurationName); } @@ -554,7 +586,7 @@ public function deleteItemsBySite(Site $site, string $indexingConfigurationName /** * Removes all items from the Index Queue. */ - public function deleteAllItems() + public function deleteAllItems(): void { $this->queueItemRepository->deleteAllItems(); } @@ -562,21 +594,21 @@ public function deleteAllItems() /** * Gets a single Index Queue item by its uid. * - * @param int $itemId Index Queue item uid + * @param int|string $itemId item uid * @return Item|null The request Index Queue item or NULL if no item with $itemId was found * @throws DBALDriverException * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function getItem(int $itemId): ?Item + public function getItem($itemId): ?Item { - return $this->queueItemRepository->findItemByUid($itemId); + return $this->queueItemRepository->findItemByUid((int)$itemId); } /** * Gets Index Queue items by type and uid. * * @param string $itemType item type, usually the table name - * @param int|string $itemUid item uid + * @param int|string $itemUid The item's uid, usually an integer uid, could be a different value for non-database-record types. * @return Item[] An array of items matching $itemType and $itemUid * @throws ConnectionException * @throws DBALDriverException @@ -654,35 +686,38 @@ public function getItemsToIndex(Site $site, int $limit = 50): array * Marks an item as failed and causes the indexer to skip the item in the * next run. * - * @param int|Item $item Either the item's Index Queue uid or the complete item + * @param int|ItemInterface $item Either the item's Index Queue uid or the complete item * @param string $errorMessage Error message + * @return int affected rows * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function markItemAsFailed($item, string $errorMessage = '') + public function markItemAsFailed($item, string $errorMessage = ''): int { - $this->queueItemRepository->markItemAsFailed($item, $errorMessage); + return $this->queueItemRepository->markItemAsFailed($item, $errorMessage); } /** * Sets the timestamp of when an item last has been indexed. * - * @param Item $item + * @param ItemInterface $item + * @return int affected rows * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function updateIndexTimeByItem(Item $item) + public function updateIndexTimeByItem(ItemInterface $item): int { - $this->queueItemRepository->updateIndexTimeByItem($item); + return $this->queueItemRepository->updateIndexTimeByItem($item); } /** * Sets the change timestamp of an item. * - * @param Item $item + * @param ItemInterface $item * @param int $forcedChangeTime The change time for the item + * @return int affected rows * @throws DBALException|\Doctrine\DBAL\DBALException */ - public function setForcedChangeTimeByItem(Item $item, int $forcedChangeTime = 0) + public function setForcedChangeTimeByItem(ItemInterface $item, int $forcedChangeTime = 0): int { - $this->queueItemRepository->updateChangedTimeByItem($item, $forcedChangeTime); + return $this->queueItemRepository->updateChangedTimeByItem($item, $forcedChangeTime); } } diff --git a/Classes/IndexQueue/QueueInitializationServiceAwareInterface.php b/Classes/IndexQueue/QueueInitializationServiceAwareInterface.php new file mode 100644 index 000000000..9b850e82c --- /dev/null +++ b/Classes/IndexQueue/QueueInitializationServiceAwareInterface.php @@ -0,0 +1,36 @@ + */ -class LanguageFileUnavailableException extends \Exception +class LanguageFileUnavailableException extends Exception { } diff --git a/Classes/NoSolrConnectionFoundException.php b/Classes/NoSolrConnectionFoundException.php index cc71030a0..73879b22e 100644 --- a/Classes/NoSolrConnectionFoundException.php +++ b/Classes/NoSolrConnectionFoundException.php @@ -17,8 +17,6 @@ namespace ApacheSolrForTypo3\Solr; -use Exception; - /** * Exception that is thrown when no Solr connection could be found. * diff --git a/Classes/PingFailedException.php b/Classes/PingFailedException.php index 8576b798e..6e3807094 100644 --- a/Classes/PingFailedException.php +++ b/Classes/PingFailedException.php @@ -17,8 +17,6 @@ namespace ApacheSolrForTypo3\Solr; -use Exception; - /** * Exception that is thrown when a ping fails * diff --git a/Classes/Query/Modifier/Faceting.php b/Classes/Query/Modifier/Faceting.php index b80415f5a..e41241747 100644 --- a/Classes/Query/Modifier/Faceting.php +++ b/Classes/Query/Modifier/Faceting.php @@ -27,8 +27,8 @@ use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\UrlFacetContainer; use ApacheSolrForTypo3\Solr\Domain\Search\SearchRequest; use ApacheSolrForTypo3\Solr\Domain\Search\SearchRequestAware; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Configuration\TypoScriptConfiguration; -use InvalidArgumentException; use TYPO3\CMS\Core\Log\LogManager; use TYPO3\CMS\Core\Utility\GeneralUtility; diff --git a/Classes/Report/AccessFilterPluginInstalledStatus.php b/Classes/Report/AccessFilterPluginInstalledStatus.php index e9331eeba..5beeca551 100644 --- a/Classes/Report/AccessFilterPluginInstalledStatus.php +++ b/Classes/Report/AccessFilterPluginInstalledStatus.php @@ -39,7 +39,7 @@ class AccessFilterPluginInstalledStatus extends AbstractSolrStatus * * @var string */ - const RECOMMENDED_PLUGIN_VERSION = '3.0.0'; + const RECOMMENDED_PLUGIN_VERSION = '6.0.0'; /** * The plugin's Java class name. diff --git a/Classes/Report/SchemaStatus.php b/Classes/Report/SchemaStatus.php index 1f141af9e..359f87c6f 100644 --- a/Classes/Report/SchemaStatus.php +++ b/Classes/Report/SchemaStatus.php @@ -43,7 +43,7 @@ class SchemaStatus extends AbstractSolrStatus * * @var string */ - const RECOMMENDED_SCHEMA_VERSION = 'tx_solr-11-5-0--20211001'; + const RECOMMENDED_SCHEMA_VERSION = 'tx_solr-11-6-0--20240313'; /** * Compiles a collection of schema version checks against each configured diff --git a/Classes/Report/SiteHandlingStatus.php b/Classes/Report/SiteHandlingStatus.php index d4c306f57..5565df9cb 100644 --- a/Classes/Report/SiteHandlingStatus.php +++ b/Classes/Report/SiteHandlingStatus.php @@ -44,10 +44,10 @@ class SiteHandlingStatus extends AbstractSolrStatus */ const CSS_STATUS_NOTICE = 'notice', - CSS_STATUS_INFO = 'info', - CSS_STATUS_OK = 'success', - CSS_STATUS_WARNING = 'warning', - CSS_STATUS_ERROR = 'danger'; + CSS_STATUS_INFO = 'info', + CSS_STATUS_OK = 'success', + CSS_STATUS_WARNING = 'warning', + CSS_STATUS_ERROR = 'danger'; /** * Site Repository diff --git a/Classes/Report/SolrConfigStatus.php b/Classes/Report/SolrConfigStatus.php index bf081a108..fa752967e 100644 --- a/Classes/Report/SolrConfigStatus.php +++ b/Classes/Report/SolrConfigStatus.php @@ -42,7 +42,7 @@ class SolrConfigStatus extends AbstractSolrStatus * * @var string */ - const RECOMMENDED_SOLRCONFIG_VERSION = 'tx_solr-11-5-0--20211001'; + const RECOMMENDED_SOLRCONFIG_VERSION = 'tx_solr-11-6-0--20240313'; /** * Compiles a collection of solrconfig version checks against each configured diff --git a/Classes/Report/SolrStatus.php b/Classes/Report/SolrStatus.php index 594dc14df..3ebfd139e 100644 --- a/Classes/Report/SolrStatus.php +++ b/Classes/Report/SolrStatus.php @@ -113,12 +113,9 @@ protected function getConnectionStatus(array $solrConnection): Status $pingTime = $this->checkPingTime($solrAdmin); $configName = $this->checkSolrConfigName($solrAdmin); $schemaName = $this->checkSolrSchemaName($solrAdmin); - if (version_compare($solrVersion, '8.11.3', '>=')) { - $streamBodySetting = $this->checkStreamBodySetting($solrAdmin); - } if ($this->responseStatus !== Status::OK) { - $header = 'Failed contacting the Solr server or invalid settings found.'; + $header = 'Failed contacting the Solr server.'; } $variables = [ @@ -130,7 +127,6 @@ protected function getConnectionStatus(array $solrConnection): Status 'configName' => $configName, 'schemaName' => $schemaName, 'accessFilter' => $accessFilter, - 'streamBodySetting' => $streamBodySetting ?? null, ]; $report = $this->getRenderedReport('SolrStatus.html', $variables); @@ -234,23 +230,6 @@ protected function checkSolrSchemaName(SolrAdminService $solrAdminService): stri return $solrSchemaMessage; } - protected function checkStreamBodySetting(SolrAdminService $solrAdminService): string - { - $systemProperties = $solrAdminService->getSystemProperties(); - if ($systemProperties === null) { - $this->responseStatus = Status::ERROR; - return 'Error determining system properties'; - } - - $streamSetting = (bool)($systemProperties['solr.enableStreamBody'] ?? false); - if (!$streamSetting) { - $this->responseStatus = Status::ERROR; - return 'Content Streams not enabled'; - } - - return 'true'; - } - /** * Formats the Apache Solr server version number. By default, this is going * to be the simple major.minor.patch-level version. Custom Builds provide diff --git a/Classes/Search/SearchComponentManager.php b/Classes/Search/SearchComponentManager.php index bc9735794..4de4aa791 100644 --- a/Classes/Search/SearchComponentManager.php +++ b/Classes/Search/SearchComponentManager.php @@ -17,7 +17,7 @@ namespace ApacheSolrForTypo3\Solr\Search; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use RuntimeException; use TYPO3\CMS\Core\Utility\GeneralUtility; diff --git a/Classes/System/Configuration/TypoScriptConfiguration.php b/Classes/System/Configuration/TypoScriptConfiguration.php index 7c79c8ceb..26877017c 100644 --- a/Classes/System/Configuration/TypoScriptConfiguration.php +++ b/Classes/System/Configuration/TypoScriptConfiguration.php @@ -15,11 +15,12 @@ namespace ApacheSolrForTypo3\Solr\System\Configuration; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\IndexQueue\Indexer; use ApacheSolrForTypo3\Solr\IndexQueue\Initializer\Record; +use ApacheSolrForTypo3\Solr\IndexQueue\Queue; use ApacheSolrForTypo3\Solr\System\ContentObject\ContentObjectService; use ApacheSolrForTypo3\Solr\System\Util\ArrayAccessor; -use InvalidArgumentException; use TYPO3\CMS\Core\Utility\ArrayUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -718,6 +719,20 @@ public function getIndexQueueIndexingPriorityByConfigurationName(string $configu return (int)$this->getValueByPathOrDefaultValue($path, $defaultIfEmpty); } + /** + * This method is used to retrieve the className of a queue initializer for a certain indexing configuration + * + * plugin.tx_solr.index.queue..indexQueue + * + * @param string $configurationName + * @return string + */ + public function getIndexQueueClassByConfigurationName(string $configurationName): string + { + $path = 'plugin.tx_solr.index.queue.' . $configurationName . '.indexQueue'; + return (string)$this->getValueByPathOrDefaultValue($path, Queue::class); + } + /** * Returns the _LOCAL_LANG configuration from the TypoScript. * diff --git a/Classes/System/Environment/WebRootAllReadyDefinedException.php b/Classes/System/Environment/WebRootAllReadyDefinedException.php index 727c532f1..1788c5ee0 100644 --- a/Classes/System/Environment/WebRootAllReadyDefinedException.php +++ b/Classes/System/Environment/WebRootAllReadyDefinedException.php @@ -15,11 +15,13 @@ namespace ApacheSolrForTypo3\Solr\System\Environment; +use ApacheSolrForTypo3\Solr\Exception; + /** * Exception that is thrown when a language file is needed, but not available. * * @author Timo Hund */ -class WebRootAllReadyDefinedException extends \Exception +class WebRootAllReadyDefinedException extends Exception { } diff --git a/Classes/System/Object/AbstractClassRegistry.php b/Classes/System/Object/AbstractClassRegistry.php index da6e1a877..0da477d49 100644 --- a/Classes/System/Object/AbstractClassRegistry.php +++ b/Classes/System/Object/AbstractClassRegistry.php @@ -17,7 +17,7 @@ namespace ApacheSolrForTypo3\Solr\System\Object; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use stdClass; use TYPO3\CMS\Core\SingletonInterface; use TYPO3\CMS\Extbase\Object\ObjectManagerInterface; diff --git a/Classes/System/Records/AbstractRepository.php b/Classes/System/Records/AbstractRepository.php index 5d0440c30..5cbc43754 100644 --- a/Classes/System/Records/AbstractRepository.php +++ b/Classes/System/Records/AbstractRepository.php @@ -17,9 +17,9 @@ namespace ApacheSolrForTypo3\Solr\System\Records; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use Doctrine\DBAL\Driver\Exception as DBALDriverException; use Doctrine\DBAL\Exception as DBALException; -use InvalidArgumentException; use RuntimeException; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; diff --git a/Classes/System/Records/Pages/PagesRepository.php b/Classes/System/Records/Pages/PagesRepository.php index 80e6d081c..30fc61af6 100644 --- a/Classes/System/Records/Pages/PagesRepository.php +++ b/Classes/System/Records/Pages/PagesRepository.php @@ -17,11 +17,11 @@ namespace ApacheSolrForTypo3\Solr\System\Records\Pages; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Cache\TwoLevelCache; use ApacheSolrForTypo3\Solr\System\Records\AbstractRepository; use Doctrine\DBAL\Driver\Exception as DBALDriverException; use Doctrine\DBAL\Exception as DBALException; -use InvalidArgumentException; use PDO; use Throwable; use TYPO3\CMS\Backend\Utility\BackendUtility; diff --git a/Classes/System/Solr/Parser/StopWordParser.php b/Classes/System/Solr/Parser/StopWordParser.php index 836dcb92e..b6f379f7a 100644 --- a/Classes/System/Solr/Parser/StopWordParser.php +++ b/Classes/System/Solr/Parser/StopWordParser.php @@ -15,7 +15,7 @@ namespace ApacheSolrForTypo3\Solr\System\Solr\Parser; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; /** * Class to parse the stopwords from a solr response. diff --git a/Classes/System/Solr/Service/SolrAdminService.php b/Classes/System/Solr/Service/SolrAdminService.php index 8a2c4dd46..ec0d15663 100644 --- a/Classes/System/Solr/Service/SolrAdminService.php +++ b/Classes/System/Solr/Service/SolrAdminService.php @@ -17,6 +17,7 @@ namespace ApacheSolrForTypo3\Solr\System\Solr\Service; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Configuration\TypoScriptConfiguration; use ApacheSolrForTypo3\Solr\System\Logging\SolrLogManager; use ApacheSolrForTypo3\Solr\System\Solr\Parser\SchemaParser; @@ -24,7 +25,6 @@ use ApacheSolrForTypo3\Solr\System\Solr\Parser\SynonymParser; use ApacheSolrForTypo3\Solr\System\Solr\ResponseAdapter; use ApacheSolrForTypo3\Solr\System\Solr\Schema\Schema; -use InvalidArgumentException; use function simplexml_load_string; use Solarium\Client; use stdClass; @@ -39,7 +39,6 @@ class SolrAdminService extends AbstractSolrService const LUKE_SERVLET = 'admin/luke'; const SYSTEM_SERVLET = 'admin/system'; const CORES_SERVLET = '../admin/cores'; - const PROPERTY_SERVLET = '../admin/info/properties'; const FILE_SERVLET = 'admin/file'; const SCHEMA_SERVLET = 'schema'; const SYNONYMS_SERVLET = 'schema/analysis/synonyms/'; @@ -130,26 +129,6 @@ public function system(): ResponseAdapter return $this->_sendRawGet($this->_constructUrl(self::SYSTEM_SERVLET, ['wt' => 'json'])); } - /** - * Gets system properties - * - * @return array|null - */ - public function getSystemProperties(): ?array - { - $url = $this->_constructUrl(self::PROPERTY_SERVLET, ['wt' => 'json']); - $propertyInformation = $this->_sendRawGet($url); - - $parsedPropertyInformation = $propertyInformation->getParsedData(); - if ($parsedPropertyInformation === null - || !property_exists($parsedPropertyInformation, 'system.properties') - ) { - return null; - } - - return (array)$parsedPropertyInformation->{'system.properties'}; - } - /** * Gets information about the plugins installed in Solr * diff --git a/Classes/System/Url/UrlHelper.php b/Classes/System/Url/UrlHelper.php index 1c090ea39..e89a9051f 100644 --- a/Classes/System/Url/UrlHelper.php +++ b/Classes/System/Url/UrlHelper.php @@ -15,7 +15,7 @@ namespace ApacheSolrForTypo3\Solr\System\Url; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3\CMS\Core\Http\Uri; /** diff --git a/Classes/System/Util/ArrayAccessor.php b/Classes/System/Util/ArrayAccessor.php index 212ea7246..0ad25448a 100644 --- a/Classes/System/Util/ArrayAccessor.php +++ b/Classes/System/Util/ArrayAccessor.php @@ -225,7 +225,7 @@ protected function resetDeepElementWithLoop(array $pathArray) if (empty($currentElement)) { unset($currentElement); } - } else { + } elseif (isset($currentElement[$pathSegment])) { $currentElement = &$currentElement[$pathSegment]; } } diff --git a/Classes/Task/AbstractSolrTask.php b/Classes/Task/AbstractSolrTask.php index 1a6244612..0d5477574 100644 --- a/Classes/Task/AbstractSolrTask.php +++ b/Classes/Task/AbstractSolrTask.php @@ -19,9 +19,9 @@ use ApacheSolrForTypo3\Solr\Domain\Site\Site; use ApacheSolrForTypo3\Solr\Domain\Site\SiteRepository; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Logging\SolrLogManager; use Doctrine\DBAL\Driver\Exception as DBALDriverException; -use InvalidArgumentException; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Scheduler\Task\AbstractTask; diff --git a/Classes/Task/EventQueueWorkerTask.php b/Classes/Task/EventQueueWorkerTask.php index aa135dd81..655d5befb 100644 --- a/Classes/Task/EventQueueWorkerTask.php +++ b/Classes/Task/EventQueueWorkerTask.php @@ -19,11 +19,11 @@ use ApacheSolrForTypo3\Solr\Domain\Index\Queue\UpdateHandler\EventListener\Events\DelayedProcessingFinishedEvent; use ApacheSolrForTypo3\Solr\Domain\Index\Queue\UpdateHandler\Events\DataUpdateEventInterface; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\System\Logging\SolrLogManager; use ApacheSolrForTypo3\Solr\System\Records\Queue\EventQueueItemRepository; use Doctrine\DBAL\Driver\Exception as DBALDriverException; use Doctrine\DBAL\Exception as DBALException; -use InvalidArgumentException; use Psr\EventDispatcher\EventDispatcherInterface; use Throwable; use TYPO3\CMS\Core\Utility\GeneralUtility; diff --git a/Classes/Task/ReIndexTask.php b/Classes/Task/ReIndexTask.php index 51c739edd..fcec5e944 100644 --- a/Classes/Task/ReIndexTask.php +++ b/Classes/Task/ReIndexTask.php @@ -18,7 +18,7 @@ namespace ApacheSolrForTypo3\Solr\Task; use ApacheSolrForTypo3\Solr\ConnectionManager; -use ApacheSolrForTypo3\Solr\IndexQueue\Queue; +use ApacheSolrForTypo3\Solr\Domain\Index\Queue\QueueInitializationService; use Doctrine\DBAL\ConnectionException as DBALConnectionException; use Doctrine\DBAL\Driver\Exception as DBALDriverException; use Doctrine\DBAL\Exception as DBALException; @@ -59,9 +59,9 @@ public function execute() $cleanUpResult = $this->cleanUpIndex(); // initialize for re-indexing - /* @var Queue $indexQueue */ - $indexQueue = GeneralUtility::makeInstance(Queue::class); - $indexQueueInitializationResults = $indexQueue->getInitializationService() + /* @var QueueInitializationService $indexQueueInitializationService */ + $indexQueueInitializationService = GeneralUtility::makeInstance(QueueInitializationService::class); + $indexQueueInitializationResults = $indexQueueInitializationService ->initializeBySiteAndIndexConfigurations($this->getSite(), $this->indexingConfigurationsToReIndex); return $cleanUpResult && !in_array(false, $indexQueueInitializationResults); diff --git a/Classes/Utility/ManagedResourcesUtility.php b/Classes/Utility/ManagedResourcesUtility.php index f83abf03d..132ed771b 100644 --- a/Classes/Utility/ManagedResourcesUtility.php +++ b/Classes/Utility/ManagedResourcesUtility.php @@ -17,7 +17,7 @@ namespace ApacheSolrForTypo3\Solr\Utility; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3\CMS\Core\Http\Stream; use TYPO3\CMS\Core\Utility\GeneralUtility; diff --git a/Classes/ViewHelpers/AbstractSolrFrontendTagBasedViewHelper.php b/Classes/ViewHelpers/AbstractSolrFrontendTagBasedViewHelper.php index 0d84f7419..d7f35f227 100644 --- a/Classes/ViewHelpers/AbstractSolrFrontendTagBasedViewHelper.php +++ b/Classes/ViewHelpers/AbstractSolrFrontendTagBasedViewHelper.php @@ -18,9 +18,9 @@ namespace ApacheSolrForTypo3\Solr\ViewHelpers; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\Mvc\Controller\SolrControllerContext; use ApacheSolrForTypo3\Solr\System\Configuration\TypoScriptConfiguration; -use InvalidArgumentException; use TYPO3\CMS\Extbase\Mvc\Controller\ControllerContext; /** diff --git a/Classes/ViewHelpers/AbstractSolrFrontendViewHelper.php b/Classes/ViewHelpers/AbstractSolrFrontendViewHelper.php index 9876a10a5..6178102e3 100644 --- a/Classes/ViewHelpers/AbstractSolrFrontendViewHelper.php +++ b/Classes/ViewHelpers/AbstractSolrFrontendViewHelper.php @@ -19,9 +19,9 @@ use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Grouping\GroupItem; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\Mvc\Controller\SolrControllerContext; use ApacheSolrForTypo3\Solr\System\Configuration\TypoScriptConfiguration; -use InvalidArgumentException; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; /** diff --git a/Classes/ViewHelpers/Backend/Security/IfHasAccessToModuleViewHelper.php b/Classes/ViewHelpers/Backend/Security/IfHasAccessToModuleViewHelper.php index 3ec80a9d0..d9f3e957b 100644 --- a/Classes/ViewHelpers/Backend/Security/IfHasAccessToModuleViewHelper.php +++ b/Classes/ViewHelpers/Backend/Security/IfHasAccessToModuleViewHelper.php @@ -17,7 +17,7 @@ namespace ApacheSolrForTypo3\Solr\ViewHelpers\Backend\Security; -use InvalidArgumentException; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use RuntimeException; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; use TYPO3\CMS\Core\Utility\GeneralUtility; diff --git a/Classes/ViewHelpers/Uri/AbstractUriViewHelper.php b/Classes/ViewHelpers/Uri/AbstractUriViewHelper.php index c26b36c13..4dfe374bd 100644 --- a/Classes/ViewHelpers/Uri/AbstractUriViewHelper.php +++ b/Classes/ViewHelpers/Uri/AbstractUriViewHelper.php @@ -20,8 +20,8 @@ use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; use ApacheSolrForTypo3\Solr\Domain\Search\SearchRequest; use ApacheSolrForTypo3\Solr\Domain\Search\Uri\SearchUriBuilder; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\ViewHelpers\AbstractSolrFrontendViewHelper; -use InvalidArgumentException; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\Object\Exception as ExtbaseObjectException; use TYPO3\CMS\Extbase\Object\ObjectManager; diff --git a/Classes/ViewHelpers/Uri/Facet/AbstractValueViewHelper.php b/Classes/ViewHelpers/Uri/Facet/AbstractValueViewHelper.php index 218334c51..9d3269d03 100644 --- a/Classes/ViewHelpers/Uri/Facet/AbstractValueViewHelper.php +++ b/Classes/ViewHelpers/Uri/Facet/AbstractValueViewHelper.php @@ -18,6 +18,7 @@ use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\AbstractFacet; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\AbstractFacetItem; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\ViewHelpers\Uri\AbstractUriViewHelper; /** @@ -44,7 +45,7 @@ public function initializeArguments() /** * @param $arguments * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ protected static function getValueFromArguments($arguments) { @@ -55,7 +56,7 @@ protected static function getValueFromArguments($arguments) } elseif (isset($arguments['facetItemValue'])) { $facetValue = $arguments['facetItemValue']; } else { - throw new \InvalidArgumentException('No facetItem was passed, please pass either facetItem or facetItemValue'); + throw new InvalidArgumentException('No facetItem was passed, please pass either facetItem or facetItemValue'); } return $facetValue; @@ -64,7 +65,7 @@ protected static function getValueFromArguments($arguments) /** * @param $arguments * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ protected static function getNameFromArguments($arguments) { @@ -75,7 +76,7 @@ protected static function getNameFromArguments($arguments) } elseif (isset($arguments['facetName'])) { $facetName = $arguments['facetName']; } else { - throw new \InvalidArgumentException('No facet was passed, please pass either facet or facetName'); + throw new InvalidArgumentException('No facet was passed, please pass either facet or facetName'); } return $facetName; @@ -84,7 +85,7 @@ protected static function getNameFromArguments($arguments) /** * @param $arguments * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ protected static function getResultSetFromArguments($arguments) { @@ -95,7 +96,7 @@ protected static function getResultSetFromArguments($arguments) } elseif (isset($arguments['facetName'])) { $resultSet = $arguments['resultSet']; } else { - throw new \InvalidArgumentException('No facet was passed, please pass either facet or resultSet'); + throw new InvalidArgumentException('No facet was passed, please pass either facet or resultSet'); } return $resultSet; diff --git a/Classes/ViewHelpers/Uri/Facet/AddFacetItemViewHelper.php b/Classes/ViewHelpers/Uri/Facet/AddFacetItemViewHelper.php index d53276ea1..e0b47a934 100644 --- a/Classes/ViewHelpers/Uri/Facet/AddFacetItemViewHelper.php +++ b/Classes/ViewHelpers/Uri/Facet/AddFacetItemViewHelper.php @@ -16,6 +16,7 @@ namespace ApacheSolrForTypo3\Solr\ViewHelpers\Uri\Facet; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; /** @@ -31,7 +32,7 @@ class AddFacetItemViewHelper extends AbstractValueViewHelper * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { diff --git a/Classes/ViewHelpers/Uri/Facet/RemoveAllFacetsViewHelper.php b/Classes/ViewHelpers/Uri/Facet/RemoveAllFacetsViewHelper.php index a6aeac858..f18dc066b 100644 --- a/Classes/ViewHelpers/Uri/Facet/RemoveAllFacetsViewHelper.php +++ b/Classes/ViewHelpers/Uri/Facet/RemoveAllFacetsViewHelper.php @@ -15,6 +15,7 @@ namespace ApacheSolrForTypo3\Solr\ViewHelpers\Uri\Facet; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\ViewHelpers\Uri\AbstractUriViewHelper; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; @@ -31,7 +32,7 @@ class RemoveAllFacetsViewHelper extends AbstractUriViewHelper * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { diff --git a/Classes/ViewHelpers/Uri/Facet/RemoveFacetItemViewHelper.php b/Classes/ViewHelpers/Uri/Facet/RemoveFacetItemViewHelper.php index 345e623eb..5de0367d5 100644 --- a/Classes/ViewHelpers/Uri/Facet/RemoveFacetItemViewHelper.php +++ b/Classes/ViewHelpers/Uri/Facet/RemoveFacetItemViewHelper.php @@ -16,6 +16,7 @@ namespace ApacheSolrForTypo3\Solr\ViewHelpers\Uri\Facet; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; /** @@ -31,7 +32,7 @@ class RemoveFacetItemViewHelper extends AbstractValueViewHelper * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { diff --git a/Classes/ViewHelpers/Uri/Facet/RemoveFacetViewHelper.php b/Classes/ViewHelpers/Uri/Facet/RemoveFacetViewHelper.php index bd2d14678..209373823 100644 --- a/Classes/ViewHelpers/Uri/Facet/RemoveFacetViewHelper.php +++ b/Classes/ViewHelpers/Uri/Facet/RemoveFacetViewHelper.php @@ -16,6 +16,7 @@ namespace ApacheSolrForTypo3\Solr\ViewHelpers\Uri\Facet; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\AbstractFacet; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use ApacheSolrForTypo3\Solr\ViewHelpers\Uri\AbstractUriViewHelper; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; @@ -41,7 +42,7 @@ public function initializeArguments() * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { diff --git a/Classes/ViewHelpers/Uri/Facet/SetFacetItemViewHelper.php b/Classes/ViewHelpers/Uri/Facet/SetFacetItemViewHelper.php index 8cad9f260..116f59415 100644 --- a/Classes/ViewHelpers/Uri/Facet/SetFacetItemViewHelper.php +++ b/Classes/ViewHelpers/Uri/Facet/SetFacetItemViewHelper.php @@ -16,6 +16,7 @@ namespace ApacheSolrForTypo3\Solr\ViewHelpers\Uri\Facet; use ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\SearchResultSet; +use ApacheSolrForTypo3\Solr\Exception\InvalidArgumentException; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; /** @@ -31,7 +32,7 @@ class SetFacetItemViewHelper extends AbstractValueViewHelper * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return string - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { diff --git a/Docker/Ci/environment.yml b/Docker/Ci/environment.yml index 937964666..a5f606f72 100644 --- a/Docker/Ci/environment.yml +++ b/Docker/Ci/environment.yml @@ -3,6 +3,5 @@ TYPO3_DATABASE_NAME=typo3 TYPO3_DATABASE_HOST=db TYPO3_DATABASE_USERNAME=typo3 TYPO3_DATABASE_PASSWORD=typo3 -PHP_CS_FIXER_VERSION=^2.11 JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 diff --git a/Docker/SolrServer/Dockerfile b/Docker/SolrServer/Dockerfile index cd93d002e..96b1684a0 100644 --- a/Docker/SolrServer/Dockerfile +++ b/Docker/SolrServer/Dockerfile @@ -1,14 +1,24 @@ -FROM solr:8.11.3 +FROM solr:9.5.0 MAINTAINER dkd Internet Service GmbH ENV TERM linux +ARG SOLR_UNIX_UID="8983" +ARG SOLR_UNIX_GID="8983" + USER root RUN rm -fR /opt/solr/server/solr/* \ - && echo '# EXT:solr relevant changes: ' >> /etc/default/solr.in.sh \ - && echo 'SOLR_OPTS="$SOLR_OPTS -Dsolr.enableRemoteStreaming=true -Dsolr.enableStreamBody=true"' >> /etc/default/solr.in.sh \ - && echo '# END: EXT:solr' >> /etc/default/solr.in.sh + && usermod --non-unique --uid "${SOLR_UNIX_UID}" solr \ + && groupmod --non-unique --gid "${SOLR_UNIX_GID}" solr \ + && chown -R solr:solr /var/solr /opt/solr \ + && apt update && apt upgrade -y && apt install sudo -y \ + && echo "solr ALL=NOPASSWD: /docker-entrypoint-initdb.d/as-sudo/*" > /etc/sudoers.d/solr \ + && echo "# EXT:solr relevant changes: " >> /etc/default/solr.in.sh \ + && echo "SOLR_ENABLE_REMOTE_STREAMING=true" >> /etc/default/solr.in.sh \ + && echo "SOLR_ENABLE_STREAM_BODY=true" >> /etc/default/solr.in.sh \ + && echo "# END: EXT:solr" >> /etc/default/solr.in.sh \ +COPY Docker/SolrServer/docker-entrypoint-initdb.d/ /docker-entrypoint-initdb.d USER solr COPY --chown=solr:solr Resources/Private/Solr/ /var/solr/data -RUN mkdir -p /var/solr/data/data +RUN mkdir -p /var/solr/data/data \ No newline at end of file diff --git a/Docker/SolrServer/docker-entrypoint-initdb.d/as-sudo-tweaks.sh b/Docker/SolrServer/docker-entrypoint-initdb.d/as-sudo-tweaks.sh new file mode 100644 index 000000000..9f27b4084 --- /dev/null +++ b/Docker/SolrServer/docker-entrypoint-initdb.d/as-sudo-tweaks.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -e + +# execute files in /docker-entrypoint-initdb.d/as-sudo/*.sh before starting solr +while read -r f; do + case "$f" in + *.sh) echo "$0: running 'sudo $f'"; sudo "$f" ;; + *) echo "$0: ignoring $f" ;; + esac + echo +done < <(find /docker-entrypoint-initdb.d/as-sudo/ -mindepth 1 -type f | sort -n) diff --git a/Docker/SolrServer/docker-entrypoint-initdb.d/as-sudo/fix-file-permissions.sh b/Docker/SolrServer/docker-entrypoint-initdb.d/as-sudo/fix-file-permissions.sh new file mode 100755 index 000000000..2938fd1df --- /dev/null +++ b/Docker/SolrServer/docker-entrypoint-initdb.d/as-sudo/fix-file-permissions.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +chown -R solr:solr /var/solr /opt/solr diff --git a/Docker/SolrServer/docker-entrypoint-initdb.d/disable-cores.sh b/Docker/SolrServer/docker-entrypoint-initdb.d/disable-cores.sh new file mode 100755 index 000000000..b2503c86f --- /dev/null +++ b/Docker/SolrServer/docker-entrypoint-initdb.d/disable-cores.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +shopt -s extglob + +if [ -n "${TYPO3_SOLR_ENABLED_CORES}" ] +then + for CORE_TO_DISABLE in /var/solr/data/cores/*/core.properties + do + mv "${CORE_TO_DISABLE}" "${CORE_TO_DISABLE}_disabled"; + done + + for CORE_to_ENABLE in ${TYPO3_SOLR_ENABLED_CORES} + do + echo "Enable core ${CORE_to_ENABLE}" + mv "/var/solr/data/cores/${CORE_to_ENABLE}/core.properties_disabled" "/var/solr/data/cores/${CORE_to_ENABLE}/core.properties" + done +fi diff --git a/Documentation/Appendix/DockerTweaks.rst b/Documentation/Appendix/DockerTweaks.rst new file mode 100644 index 000000000..89c68b4e4 --- /dev/null +++ b/Documentation/Appendix/DockerTweaks.rst @@ -0,0 +1,21 @@ +.. include:: /Includes.rst.txt + + +.. _appendix-docker-tweaks: + +Appendix - Docker Tweaks +======================== + +Beside of original Apache Solr Docker image, on which is our image based on we provide some tweaks to make our and your work simpler. + +Disable unnecessary cores on container start +-------------------------------------------- + +By defining env ``TYPO3_SOLR_ENABLED_CORES`` with a space separated list of languages/cores to enable, only those cores will be initialized on start-up. +This allows to save memory usage of Apache Solr server instance. + +Usage: + +.. code-block:: bash + + docker run -e 'TYPO3_SOLR_ENABLED_CORES=english german' -it typo3solr/ext-solr diff --git a/Documentation/Appendix/VersionMatrix.rst b/Documentation/Appendix/VersionMatrix.rst index a2fea8234..8f4530d0c 100644 --- a/Documentation/Appendix/VersionMatrix.rst +++ b/Documentation/Appendix/VersionMatrix.rst @@ -8,12 +8,8 @@ Appendix - Version Matrix You are on docs for EXT:solr |release| version, please refer to `Version Matrix on main release `_ to see all versions. -.. tip:: - See also EXT:solr v11.6 for TYPO3 11.5 LTS. - - -Requirements for EXT:solr* 11.5 stack +Requirements for EXT:solr* 11.6 stack ------------------------------------- ========= ========== ========== =========== =============== ================== ============================= =============== =============== ================= @@ -21,12 +17,7 @@ Requirements for EXT:solr* 11.5 stack ------------------------------- ---------------------------------------------- --------------------------------------------- --------------------------------- TYPO3 EXT: solr EXT:tika EXT:solrfal EXT:solrconsole EXT:solrdebugtools EXT:solrfluidgrouping EXT:solrmlt Apache Solr Configset ========= ========== ========== =========== =============== ================== ============================= =============== =============== ================= -11.5 11.5 11.0 11.0 11.0 11.0 11.0 11.0 (Ø) 8.11.3¹ ext_solr_11_5_0 +11.5 11.6 11.0 11.0 11.0 11.0 11.0 11.0 (Ø) 9.5.0¹ ext_solr_11_6_0 ========= ========== ========== =========== =============== ================== ============================= =============== =============== ================= -| ¹ - recommended Apache Solr version, check version matrix in composer.json (composer info:solr-versions) for full list - -.. warning:: - Apache Solr 8.11.3 contains a breaking change, see security fix "SOLR-14853: Make enableRemoteStreaming option global; not configSet". EXT:solr relies on stream bodies - which aren't enabled by default since 8.11.3. EXT:solr 11.5.6 contains all required settings, but if you're updating and not using our Docker image, you have to - set `solr.enableRemoteStreaming=true` and `solr.enableStreamBody=true`. TYPO3 reports module will print a warning if you have to reconfigure. +| ¹ - recommended Apache Solr version, check version matrix in composer.json (`composer info:solr-versions`) for full list \ No newline at end of file diff --git a/Documentation/Configuration/Reference/TxSolrIndex.rst b/Documentation/Configuration/Reference/TxSolrIndex.rst index 41edb3324..d1a55e385 100644 --- a/Documentation/Configuration/Reference/TxSolrIndex.rst +++ b/Documentation/Configuration/Reference/TxSolrIndex.rst @@ -231,6 +231,16 @@ Defines the type to index, which is usally the database table. Sometimes you may +queue.[indexConfig].indexQueue +------------------------------ + +:Type: String +:TS Path: plugin.tx_solr.index.queue.[indexConfig].indexQueue +:Since: 11.6 +:Default: + +Class name of custom index queue implementation, falls back to the default index queue (ApacheSolrForTypo3\Solr\IndexQueue\Queue). + queue.[indexConfig].initialization ---------------------------------- diff --git a/Documentation/GettingStarted/Solr.rst b/Documentation/GettingStarted/Solr.rst index b6a43919a..4795c2ffc 100644 --- a/Documentation/GettingStarted/Solr.rst +++ b/Documentation/GettingStarted/Solr.rst @@ -148,28 +148,15 @@ The following example shows how you can run our configuration with the official sudo chown -R 8983:8983 ~/mysolr docker run -d -p 8983:8983 -v ~/mysolr:/var/solr/data solr:8.5 +Advanced settings and tweaks +---------------------------- -Shipped install script (Not recommended) ----------------------------------------- - -With the extension we ship and install script that can be used for a **development** context or as inspiration for own deployments. It creates a solr server with a core for all languages. -This script is located in "Resources/Private/Install" an it installs a configured solr server that is usable with EXT:solr. - -By default this script is not executable and you need to add the execute permissions to your user to run it. - -The example below shows how to install a solr server to /home/developer - -.. code-block:: bash - - chmod u+x ./Resources/Private/Install/install-solr.sh - ./Resources/Private/Install/install-solr.sh -d /home/developer - -After running the script you are able to open a solr server with over the loopback address. Which means, when you want to access it from outside, you need to create an ssh tunnel. +For more settings and tweak possibilities for our Docker image, please refer to the :ref:`appendix-docker-tweaks`. Other Setup ----------- -Beside the install script and Docker there are various possibilities to setup solr. All of these possibilities are not +Beside the Docker there are various possibilities to setup solr. All of these possibilities are not officially supported, but the simplify the setup i want to mention them shortly here and summarize the needed steps. Known Installers diff --git a/Documentation/Releases/Archive/Index.rst b/Documentation/Releases/Archive/Index.rst index 8d1bc6c29..5234f1291 100644 --- a/Documentation/Releases/Archive/Index.rst +++ b/Documentation/Releases/Archive/Index.rst @@ -13,6 +13,7 @@ Archive :titlesonly: :glob: + solr-release-11-5.rst solr-release-11-1.rst solr-release-10-0.rst solr-release-9-0.rst diff --git a/Documentation/Releases/solr-release-11-5.rst b/Documentation/Releases/Archive/solr-release-11-5.rst similarity index 98% rename from Documentation/Releases/solr-release-11-5.rst rename to Documentation/Releases/Archive/solr-release-11-5.rst index 8ee00f0c7..0f74c2a36 100644 --- a/Documentation/Releases/solr-release-11-5.rst +++ b/Documentation/Releases/Archive/solr-release-11-5.rst @@ -133,7 +133,7 @@ Release 11.5.1 We are happy to publish EXT:solr 11.5.1 maintenance release New in this release -------------------- +~~~~~~~~~~~~~~~~~~~ - [BUGFIX] Do not include removed strptime() by @dkd-kaehm in `#3335 `__ - [BUGFIX:BP:11.5] Do not handle page updates on new page with uid 0 by @rr-it in `#3344 `__ @@ -173,10 +173,10 @@ The focus of this release has been on TYPO3 11 LTS compatibility. This version is installable with TYPO3 11 LTS on v11.5.14+ only and contains some breaking changes, see details below. New in this release -------------------- +~~~~~~~~~~~~~~~~~~~ Support of TYPO3 11 LTS -~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^ With EXT:solr 11.5 we provide the support of TYPO3 11 LTS. @@ -184,7 +184,7 @@ Please note that we require at least TYPO3 11.5.14, as this version contains som Bootstrap 5.1 -~~~~~~~~~~~~~ +^^^^^^^^^^^^^ The default templates provided by EXT:solr were adapted for Bootstrap 5.1. @@ -192,7 +192,7 @@ The templates are also prepared to display some icons with Bootstrap Icons, but Custom field processors -~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^ fieldProcessingInstructions can be used for processing values during indexing, e.g. timestampToIsoDate or uppercase. Now you can register and use your own field processors via: $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['fieldProcessor']['yourFieldProcessor'] = ACustomFieldProcessor::class; @@ -200,7 +200,7 @@ $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['fieldProcessor']['yourFieldProce Custom processors have to implement interface ApacheSolrForTypo3\Solr\FieldProcessor\FieldProcessor. N-Gram Filter for strings -~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^ Provides a new field type and dynamic fields for strings with enabled Edge-N-Gram filter. @@ -210,7 +210,7 @@ Now the following fields can be used: - \*_stringEdgeNgramM Improve and Fix TSFE Initialization -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The initialization of TSFE within indexing and Backends modules contexts is refactored. @@ -228,7 +228,7 @@ Note: Since TYPO3 11 LTS does not allow to instantiate TSFE for sys folders and the initialization of TSFE will be done for first and closest page(not spacer or folder) within the site rootline. Get "free content mode" working -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In previous releases of EXT:solr the language handling for "free-content-mode" inconsistent. The behavior of "free-content-mode" related records varied in RecordMonitor, Initializing and Indexing contexts, @@ -238,22 +238,22 @@ This change brings the RecordMonitor, Initializing and Indexing contexts for "fr into the same line, so the "free-content-mode" records are processed the same way. Make pageRangeFirst and pageRangeLast accessible in fluid -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ With these two additional getters it is possible to access the variables in fluid templates. See: `#3254 `_ Add custom field processors -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^ Custom field processors can be registered with .. code-block:: php - $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['fieldProcessor']['yourFieldProcessor'] = ACustomFieldProcessor::class; + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['fieldProcessor']['yourFieldProcessor'] = ACustomFieldProcessor::class; And many more -~~~~~~~~~~~~~ +^^^^^^^^^^^^^ Please see the list of changes below or `the full changelog: `_. diff --git a/Documentation/Releases/Index.rst b/Documentation/Releases/Index.rst index 897767686..414e6e6a0 100644 --- a/Documentation/Releases/Index.rst +++ b/Documentation/Releases/Index.rst @@ -13,7 +13,7 @@ Releases :titlesonly: :glob: - solr-release-11-5 + solr-release-11-6 solr-release-11-2 solr-release-11-0 Archive/Index diff --git a/Documentation/Releases/solr-release-11-6.rst b/Documentation/Releases/solr-release-11-6.rst new file mode 100644 index 000000000..a7f872b23 --- /dev/null +++ b/Documentation/Releases/solr-release-11-6.rst @@ -0,0 +1,61 @@ +.. include:: /Includes.rst.txt +.. index:: Releases +.. _releases-11-6: + +============== +Release 11.6.0 +============== + +We are happy to release EXT:solr 11.6.0. +The focus of this release has been on Apache Solr upgrade to v 9.3.0. + +**Important**: This version is installable with TYPO3 11 LTS on v11.5.14+ only and contains some breaking changes, see details below. + +New in this release +------------------- + +And many more +~~~~~~~~~~~~~ + +Please see the list of changes below or `the full changelog: `_. + +The list of all changes: +~~~~~~~~~~~~~~~~~~~~~~~~ + + +Contributors +============ + +Like always this release would not have been possible without the help from our +awesome community. Here are the contributors to this release. + +(patches, comments, bug reports, reviews, ... in alphabetical order) + +* Christoph Lehmann +* Markus Friedrich +* Rafael Kähm + +Also a big thank you to our partners who have already concluded one of our new development participation packages such as Apache Solr EB for TYPO3 11 LTS (Feature), Apache Solr EB for TYPO3 10 LTS (Maintenance) +or Apache Solr EB for TYPO3 9 ELTS (Extended): + +TBD + +How to Get Involved +=================== + +There are many ways to get involved with Apache Solr for TYPO3: + +* Submit bug reports and feature requests on [GitHub](https://github.com/TYPO3-Solr/ext-solr) +* Ask or help or answer questions in our [Slack channel](https://typo3.slack.com/messages/ext-solr/) +* Provide patches through Pull Request or review and comment on existing [Pull Requests](https://github.com/TYPO3-Solr/ext-solr/pulls) +* Go to [www.typo3-solr.com](http://www.typo3-solr.com) or call [dkd](http://www.dkd.de) to sponsor the ongoing development of Apache Solr for TYPO3 + +Support us by becoming an EB partner: + +https://shop.dkd.de/Produkte/Apache-Solr-fuer-TYPO3/ + +or call: + ++49 (0)69 - 2475218 0 + + diff --git a/Documentation/Settings.cfg b/Documentation/Settings.cfg index ae44ee29b..2f0bf1922 100644 --- a/Documentation/Settings.cfg +++ b/Documentation/Settings.cfg @@ -4,8 +4,8 @@ [general] project = Apache Solr for TYPO3 -version = 11.5 -release = 11.5.6 +version = 11.6 +release = 11.6.0 copyright = since 2009 by dkd & contributors [html_theme_options] diff --git a/Documentation/Solr/ConfigurationStructures.rst b/Documentation/Solr/ConfigurationStructures.rst index 0226bb5bd..a530b2484 100644 --- a/Documentation/Solr/ConfigurationStructures.rst +++ b/Documentation/Solr/ConfigurationStructures.rst @@ -64,11 +64,12 @@ When you want to install solr on your system in another way the following steps * Install the solr server * Copy the configsets into the configset folder (by default $SOLR_HOME/server/solr/configsets) -* Make sure that the solr.xml file ($SOLR_HOME/server/solr/solr.xml) is in place an fits to your solr version +* Make sure that the solr.xml file ($SOLR_HOME/server/solr/solr.xml) is in place and fits to your Solr version +* Enable Content Streams. EXT:solr uses content streams and requires environment variables SOLR_ENABLE_REMOTE_STREAMING and SOLR_ENABLE_STREAM_BODY to be set, see section `Content Streams in the Reference Guide `__ -* Create an init script that start solr on boottime. -* Secure your solr port from outside. -* Make sure that solr is running with an own user. +* Create an init script that starts Solr on boottime. +* Secure your Solr port from outside. +* Make sure that Solr is running with an own user. * Backup your data folders *Hint:* Apache Solr ships an install script in newer version that might cover your requirements for production diff --git a/README.md b/README.md index 6c6156065..c306283e5 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ [![TYPO3 11](https://img.shields.io/badge/TYPO3-11-orange.svg?style=flat-square)](https://get.typo3.org/version/11) [![Total Downloads](http://poser.pugx.org/apache-solr-for-typo3/solr/downloads)](https://packagist.org/packages/apache-solr-for-typo3/solr) [![Monthly Downloads](https://poser.pugx.org/apache-solr-for-typo3/solr/d/monthly)](https://packagist.org/packages/apache-solr-for-typo3/solr) -[![Build Status](https://github.com/TYPO3-Solr/ext-solr/actions/workflows/ci.yml/badge.svg?branch=release-11.5.x)](https://github.com/TYPO3-Solr/ext-solr/actions?query=branch:release-11.5.x) -[![Code Coverage](https://scrutinizer-ci.com/g/TYPO3-Solr/ext-solr/badges/coverage.png?b=release-11.5.x)](https://scrutinizer-ci.com/g/TYPO3-Solr/ext-solr/?branch=release-11.5.x) +[![Build Status](https://github.com/TYPO3-Solr/ext-solr/actions/workflows/ci.yml/badge.svg?branch=release-11.6.x)](https://github.com/TYPO3-Solr/ext-solr/actions?query=branch:release-11.6.x) +[![Code Coverage](https://scrutinizer-ci.com/g/TYPO3-Solr/ext-solr/badges/coverage.png?b=release-11.6.x)](https://scrutinizer-ci.com/g/TYPO3-Solr/ext-solr/?branch=release-11.6.x) # Apache Solr for TYPO3 CMS @@ -27,7 +27,7 @@ Further details including a comparison chart are provided at the program homepag | | URL | |------------------|-----------------------------------------------------------------| | **Repository:** | https://github.com/TYPO3-Solr/ext-solr | -| **Read online:** | https://docs.typo3.org/p/apache-solr-for-typo3/solr/11.5/en-us/ | +| **Read online:** | https://docs.typo3.org/p/apache-solr-for-typo3/solr/11.6/en-us/ | | **TER:** | https://extensions.typo3.org/extension/solr | | **Homepage:** | https://www.typo3-solr.com/ | diff --git a/Resources/Private/Install/.htaccess b/Resources/Private/Install/.htaccess deleted file mode 100644 index ab5b2b967..000000000 --- a/Resources/Private/Install/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -Order deny,allow -deny from all \ No newline at end of file diff --git a/Resources/Private/Install/install-solr.sh b/Resources/Private/Install/install-solr.sh deleted file mode 100755 index 9554a24a9..000000000 --- a/Resources/Private/Install/install-solr.sh +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env bash - -SCRIPTPATH=$( cd $(dirname $0) ; pwd -P ) -EXTENSION_ROOTPATH="$SCRIPTPATH/../../../" - -SOLR_VERSION=8.11.1 -JAVA_VERSION=11 -SOLR_INSTALL_DIR="/opt/solr" -SOLR_HOST="127.0.0.1" -SOLR_PORT=8983 -TESTING=0 - -SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz&action=download" -SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz" -SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz" - -# ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -# color echo http://www.faqs.org/docs/abs/HTML/colorizing.html - -black="\033[30m" -red="\033[31m" -green="\033[32m" -yellow="\033[33m" -blue="\033[34m" -magenta="\033[35m" -cyan="\033[36m" -white="\033[37m" - - -# Color-echo, Argument $1 = message, Argument $2 = color -cecho () -{ - local default_msg="No message passed." - - # Defaults to default message. - message=${1:-$default_msg} - - # Defaults to black, if not specified. - color=${2:-$black} - - echo -e "$color$message" - - # Reset text attributes to normal + without clearing screen. - tput sgr0 - - return -} - -# ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- - -apachedownload () -{ - for url in $SOLR_CLOSER_URL $SOLR_ARCHIVE_URL $SOLR_DIST_URL; do - if [ -f "solr-$SOLR_VERSION.tgz" ] - then - break; - fi; - - echo "downloading $url"; - if wget -t 10 --max-redirect 5 --retry-connrefused -nv "$url" -O "solr-$SOLR_VERSION.tgz" - then - break; - else - rm -f "solr-$SOLR_VERSION.tgz"; - fi; - done; - - if [ ! -f "solr-$SOLR_VERSION.tgz" ]; then - cecho "Apache Solr binaries couldn't be downloaded. The installation can not proceed." $red - exit 1; - fi -} - -# ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- - -while getopts :d:t FLAG; do -case $FLAG in - d) - SOLR_INSTALL_DIR=$OPTARG - ;; - t) - TESTING=1 - ;; - \?) #unrecognized option - show help - exit 2 - ;; -esac -done - -if [ $TESTING -eq "1" ]; then - INSTALL_MODE="CI Testing" - # during testing we use an own custom port - SOLR_PORT=8999 -else - INSTALL_MODE="Development" -fi - -cecho "####################################################################" $red -cecho "# This script should be used for development only! #" $red -cecho "# #" $red -cecho "# It contains no: #" $red -cecho "# - Security Updates #" $red -cecho "# - Init Scripts #" $red -cecho "# - Upgrade possibilities #" $red -cecho "# #" $red -cecho "####################################################################" $red - -cecho "Starting installation of Apache Solr with the following settings:" $green -cecho "Install Mode: ${INSTALL_MODE} " $green -cecho "Solr Version: ${SOLR_VERSION} " $green -cecho "Installation Path: ${SOLR_INSTALL_DIR} " $green -cecho "Port: ${SOLR_PORT} " $green - -# ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- - -cecho "Checking requirements." $green - -PASSALLCHECKS=1 - -if [ ! -w "$(dirname $SOLR_INSTALL_DIR)" ] -then - cecho "ERROR parent directory: ($(dirname $SOLR_INSTALL_DIR)) of install path ($SOLR_INSTALL_DIR) is not writeable." $red - PASSALLCHECKS=0 -fi - -wget --version > /dev/null 2>&1 -CHECK=$? -if [ $CHECK -ne "0" ] -then - cecho "ERROR couldn't find wget." $red - PASSALLCHECKS=0 -fi - -java -version > /dev/null 2>&1 -CHECK=$? -if [ $CHECK -ne "0" ] -then - cecho "ERROR couldn't find Java (Oracle Java is recommended)." $red - PASSALLCHECKS=0 -fi - -JAVA_VERSION_INSTALLED=$(java -version 2>&1 | grep -Eom1 "[._0-9]{5,}") -JAVA_MAJOR_VERSION_INSTALLED=${JAVA_VERSION_INSTALLED%%\.*} - -# check if java uses the old version number like 1.7.0_11 -if [ -n "$JAVA_MAJOR_VERSION_INSTALLED" ] && [ $JAVA_MAJOR_VERSION_INSTALLED -eq 1 ] -then - # extract the main Java version from 1.7.0_11 => 7 - JAVA_MAJOR_VERSION_INSTALLED=${JAVA_VERSION_INSTALLED:2:1} -fi - - -# check if java version is equal or higher then required -if [ -n "$JAVA_VERSION_INSTALLED" ] && [ $JAVA_MAJOR_VERSION_INSTALLED -lt $JAVA_VERSION ] -then - cecho "You have installed Java version $JAVA_MAJOR_VERSION_INSTALLED. Please install Java $JAVA_VERSION or newer." $red - PASSALLCHECKS=0 -fi - -tar --version > /dev/null 2>&1 -CHECK=$? -if [ $CHECK -ne "0" ] -then - cecho "ERROR: couldn't find tar." $red - PASSALLCHECKS=0 -fi - - -if [ $PASSALLCHECKS -eq "0" ] -then - cecho "Please install all missing requirements or fix any other errors listed above and try again." $red - exit 1 -else - cecho "All requirements met, starting to install Solr." $green -fi - -# ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- - -mkdir $SOLR_INSTALL_DIR -cd $SOLR_INSTALL_DIR - -cecho "Getting Apache Solr $SOLR_VERSION" $green - -# download to downloads folder to be able to cache the file there -if [ ! -f downloads/solr-$SOLR_VERSION.tgz ]; then - cecho "Starting download" $green - - mkdir -p downloads - cd downloads - apachedownload - cd .. -else - cecho "Restore from cache" $green -fi - -cecho "Extracting downloaded solr $SOLR_VERSION" $green -tar -C $SOLR_INSTALL_DIR --extract --file "$SOLR_INSTALL_DIR/downloads/solr-$SOLR_VERSION.tgz" --strip-components=1 - -cecho "Adjusting solr configuration" $green -sed -i -e "s/#SOLR_PORT=8983/SOLR_PORT=$SOLR_PORT/" "$SOLR_INSTALL_DIR/bin/solr.in.sh" -sed -i -e "s/#SOLR_HOST=\"192.168.1.1\"/SOLR_HOST=\"$SOLR_HOST\"/" "$SOLR_INSTALL_DIR/bin/solr.in.sh" -sed -i -e '/-Dsolr.clustering.enabled=true/ a SOLR_OPTS="$SOLR_OPTS -Dsun.net.inetaddr.ttl=60 -Dsun.net.inetaddr.negative.ttl=60 -Djetty.host=$SOLR_HOST"' "$SOLR_INSTALL_DIR/bin/solr.in.sh" - -cecho "Remove default configsets" $green -rm -fR ${SOLR_INSTALL_DIR}/server/solr/configsets - -cecho "Copy configsets" $green -cp -r ${EXTENSION_ROOTPATH}/Resources/Private/Solr/configsets ${SOLR_INSTALL_DIR}/server/solr - -cecho "Copy copy solr.xml" $green -cp ${EXTENSION_ROOTPATH}/Resources/Private/Solr/solr.xml ${SOLR_INSTALL_DIR}/server/solr/solr.xml - -cecho "Create default cores" $green -cp -r ${EXTENSION_ROOTPATH}/Resources/Private/Solr/cores ${SOLR_INSTALL_DIR}/server/solr - -cecho "Setting environment" $green -source $SOLR_INSTALL_DIR/bin/solr.in.sh - -cecho "Starting solr" $green -$SOLR_INSTALL_DIR/bin/solr start - -if [ $TESTING -eq "1" ]; then - cecho "Keeping download to cache it for next build" $green -else - cecho "Cleanup download" green - rm $SOLR_INSTALL_DIR/downloads/solr-$SOLR_VERSION.tgz -fi diff --git a/Resources/Private/Language/af.locallang.xlf b/Resources/Private/Language/af.locallang.xlf new file mode 100644 index 000000000..7a480100e --- /dev/null +++ b/Resources/Private/Language/af.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/af.locallang_be.xlf b/Resources/Private/Language/af.locallang_be.xlf new file mode 100644 index 000000000..d0a368168 --- /dev/null +++ b/Resources/Private/Language/af.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/af.locallang_csh_pages.xlf b/Resources/Private/Language/af.locallang_csh_pages.xlf new file mode 100644 index 000000000..ed05ac46e --- /dev/null +++ b/Resources/Private/Language/af.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/af.locallang_mod.xlf b/Resources/Private/Language/af.locallang_mod.xlf new file mode 100644 index 000000000..234c0ffec --- /dev/null +++ b/Resources/Private/Language/af.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/af.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/af.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..234c0ffec --- /dev/null +++ b/Resources/Private/Language/af.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/af.locallang_mod_indexadmin.xlf b/Resources/Private/Language/af.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..234c0ffec --- /dev/null +++ b/Resources/Private/Language/af.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/af.locallang_mod_indexqueue.xlf b/Resources/Private/Language/af.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..234c0ffec --- /dev/null +++ b/Resources/Private/Language/af.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/af.locallang_mod_info.xlf b/Resources/Private/Language/af.locallang_mod_info.xlf new file mode 100644 index 000000000..234c0ffec --- /dev/null +++ b/Resources/Private/Language/af.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/af.locallang_tca.xlf b/Resources/Private/Language/af.locallang_tca.xlf new file mode 100644 index 000000000..8b0ccf5eb --- /dev/null +++ b/Resources/Private/Language/af.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/ar.locallang.xlf b/Resources/Private/Language/ar.locallang.xlf new file mode 100644 index 000000000..aaafe9a99 --- /dev/null +++ b/Resources/Private/Language/ar.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/ar.locallang_be.xlf b/Resources/Private/Language/ar.locallang_be.xlf new file mode 100644 index 000000000..9ddca30d1 --- /dev/null +++ b/Resources/Private/Language/ar.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/ar.locallang_csh_pages.xlf b/Resources/Private/Language/ar.locallang_csh_pages.xlf new file mode 100644 index 000000000..7f0070ab7 --- /dev/null +++ b/Resources/Private/Language/ar.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/ar.locallang_mod.xlf b/Resources/Private/Language/ar.locallang_mod.xlf new file mode 100644 index 000000000..8107b8a65 --- /dev/null +++ b/Resources/Private/Language/ar.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ar.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/ar.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..8107b8a65 --- /dev/null +++ b/Resources/Private/Language/ar.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ar.locallang_mod_indexadmin.xlf b/Resources/Private/Language/ar.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..8107b8a65 --- /dev/null +++ b/Resources/Private/Language/ar.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ar.locallang_mod_indexqueue.xlf b/Resources/Private/Language/ar.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..8107b8a65 --- /dev/null +++ b/Resources/Private/Language/ar.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ar.locallang_mod_info.xlf b/Resources/Private/Language/ar.locallang_mod_info.xlf new file mode 100644 index 000000000..8107b8a65 --- /dev/null +++ b/Resources/Private/Language/ar.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ar.locallang_tca.xlf b/Resources/Private/Language/ar.locallang_tca.xlf new file mode 100644 index 000000000..cef8f00c7 --- /dev/null +++ b/Resources/Private/Language/ar.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/ca.locallang.xlf b/Resources/Private/Language/ca.locallang.xlf new file mode 100644 index 000000000..f3bc017ac --- /dev/null +++ b/Resources/Private/Language/ca.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/ca.locallang_be.xlf b/Resources/Private/Language/ca.locallang_be.xlf new file mode 100644 index 000000000..f6b023e4d --- /dev/null +++ b/Resources/Private/Language/ca.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/ca.locallang_csh_pages.xlf b/Resources/Private/Language/ca.locallang_csh_pages.xlf new file mode 100644 index 000000000..40d389804 --- /dev/null +++ b/Resources/Private/Language/ca.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/ca.locallang_mod.xlf b/Resources/Private/Language/ca.locallang_mod.xlf new file mode 100644 index 000000000..8aa632297 --- /dev/null +++ b/Resources/Private/Language/ca.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ca.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/ca.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..8aa632297 --- /dev/null +++ b/Resources/Private/Language/ca.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ca.locallang_mod_indexadmin.xlf b/Resources/Private/Language/ca.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..8aa632297 --- /dev/null +++ b/Resources/Private/Language/ca.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ca.locallang_mod_indexqueue.xlf b/Resources/Private/Language/ca.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..8aa632297 --- /dev/null +++ b/Resources/Private/Language/ca.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ca.locallang_mod_info.xlf b/Resources/Private/Language/ca.locallang_mod_info.xlf new file mode 100644 index 000000000..8aa632297 --- /dev/null +++ b/Resources/Private/Language/ca.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ca.locallang_tca.xlf b/Resources/Private/Language/ca.locallang_tca.xlf new file mode 100644 index 000000000..803da44b9 --- /dev/null +++ b/Resources/Private/Language/ca.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/cs.locallang.xlf b/Resources/Private/Language/cs.locallang.xlf index 2d81c1a5b..6f172ecaf 100644 --- a/Resources/Private/Language/cs.locallang.xlf +++ b/Resources/Private/Language/cs.locallang.xlf @@ -1,462 +1,23 @@ - + - -
- LFEditor -
- - - - - The Index Administration Module is responsible for emptying the cores(deleting documents) on Solr Server and index queues in TYPO3 CMS. - Modul správy indexu je zodpovědný za vyprázdnění jader (mazání dokumentů) na Solr Server a indexové fronty v TYPO3 CMS. - - - - Index emptied for Site "%s" (%s). - Index pro stránku "%s" (%s) byl vyprázdněn. - - - - Index Queue emptied for Site "%s". - Fronta indexu pro stránku "%s" byla vyprázdněna. - - - - An error occurred while trying to delete documents from the index: %s - Při pokusu o odstranění dokumentů z indexu došlo k chybě: %s - - - - - - - Search Index Inspector - Inspektor vyhledávacího indexu - - - Search - Hledat - - - A search form and results list. - Vyhledávací formulář a seznam výsledků. - - - - - - Successfully switched to Site "%s". - Úspěšně přepnuto na stránku "%s". - - - - The previously selected Site "%s" does not exist or the indexing for that Site was disabled. Switched to "%s", which was the first available one. - Dříve vybraná stránka "%s" neexistuje nebo bylo indexování pro tuto stránku zakázáno. Přepnuto na „%s“ jako nejbližší dostupná stránka. - - - - Couldn't switch to the Site "%s". This site does not exist anymore or the indexing for that Site was disabled. Switched to the first available Site "%s". - Nelze přepnout na stránku "%s". Tato stránka již neexistuje nebo bylo indexování této stránky zakázáno. Přepnuto na nejbližší stránku "%s". - - - - - The previously selected core "%s" is not available in "%s" site, therefore switched to default core "%s". - Dříve vybrané jádro "%s" není dostupné na webu "%s", proto bylo přepnuto na výchozí jádro "%s". - - - - Successfully switched to core "%s". - Úspěšně přepnuto na jádro "%s". - - - - - - Apache Solr Search Administration - Administrace vyhledávání Apache Solr - - - Allows you to manage Apache Solr from TYPO3.
Access for 'admin' users only! - Umožňuje vám spravovat Apache Solr z TYPO3.
Přístup pouze pro uživatele „admin“!
-
- - Search - Hledat - - - - - Apache Solr Index - Index Apache Solr - - - View the number of documents and fields in your index - Zobrazení počtu dokumentů a polí v indexu - - - Apache Solr Statistics - Statistiky Apache Solr - - - Provides several Solr usage statistics - Poskytuje několik statistik využití Solr - - - - - Force Re-Indexing of a site - Vynutit opětovné indexování webu - - - Purges the Solr Index and initializes the Index Queue of a site. - Vyčistí index Solr a inicializuje frontu indexu webu. - - - Index Queue Worker - Pracovník indexové fronty - - - Processes the items in the Index Queue and sends them to Solr. - Zpracuje položky v indexové frontě a odešle je do Solr. - - - Number of documents to index - Počet dokumentů k indexování - - - Forced webroot (only needed when webroot is not PATH_site) - Vynucený webroot (potřebný pouze v případě, že webroot není PATH_site) - - - Solr Host - Solr Hostitel - - - Solr Port - Solr Port - - - Solr Path - Solr Cesta - - - Solr Server - Solr Server - - - Site - Stránka - - - - - Search is currently not available. - Vyhledávání momentálně není k dispozici. - - - We're sorry. The request you tried to make could not be processed. - Omlouváme se. Požadavek, který jste se pokusili podat, nelze zpracovat. - - - Search Term - Hledaný výraz - - - Did you mean - Máte na mysli - - - Search - Hledat - - - Sort by - Seřadit podle - - - Narrow Search - Upřesnit výběr - - - Search narrowed by - Výběr upřesněn podle - - - Show more - Zobrazit více - - - Show fewer - Zobrazit méně - - - Remove all filters - Odstraň všechny filtry - - - Filter - Filtr - - - Displaying results @resultsFrom to @resultsTo of @resultsTotal. - Ukaž výsledky @resultsFrom až @resultsTo z @resultsTotal. - - - Found @resultsTotal results in @resultsTime milliseconds. - Nalezeno @resultsTotal výsledků v @resultsTime milisekundách - - - Found 1 result in @resultsTime milliseconds. - Najdi jeden výsledek z @resultsTime v milisekundách. - - - Searched for "@searchWord". - Hledáno pro "@searchWord". - - - Nothing found for "@searchWord". - Nic nenalezeno pro "@searchWord". - - - Showing results for "@suggestedWord". - Zobrazeny výsledky pro "@suggestedWord". - - - Search instead for "@searchWord". - Místo toho hledej „@searchWord“. - - - Last searches - Poslední hledání - - - Frequent searches - Časté hledání - - - Relevance - Relevance - - - - File type - Typ souboru - - - Referenced at - Odkazováno na - - - Results per page: - Výsledek na stránku: - - - We're sorry, there were some errors: - Omlouváme se, došlo k několika chybám: - - - Please enter your search term in the box above. - Prosím, zadejte hledaný výraz do pole výše. - - - First - První - - - Previous - Předchozí - - - Next - Další - - - Last - Poslední - - - Top Results - Nejlepší výsledky - - - - The Index Queue manages content indexing. Content enters the Index Queue by initialization below or when new content is created based on configuration. Items in the Index Queue are indexed newest changes first until all items in the queue have been indexed. - Indexování obsahu spravuje Fronta indexů. Obsah vstupuje do indexové fronty inicializací níže nebo při vytvoření nového obsahu na základě konfigurace. Položky v indexové frontě jsou indexovány jako první nejnovější změny, dokud nebudou indexovány všechny položky ve frontě - - - Reset errors - Resetovat chyby - - - Indexing Errors - Chyba indexování - - - ID - ID - - - Item Type - Typ předmětu - - - Item UID - UID položky - - - Show error - Zobrazit chyby - - - An error occurred while indexing manual from the backend. - Při indexování manuálu z backendu došlo k chybě. - - - An error occurred while resetting the error log in the index queue. - Při resetování protokolu chyb ve frontě indexu došlo k chybě. - - - Single item was not requeued. - Jedna položka nebyla znovu zařazena do fronty. - - - No indexing configurations selected. - Nejsou vybrány žádné konfigurace indexování. - - - - Initialized indexing configurations: %s - Inicializované konfigurace indexování: %s - - - Index Queue initialized - Indexová fronta inicializována - - - Index Queue not initialized - Indexová fronta není inicializována - - - All errors have been reset. - Všechny chyby byly resetovány. - - - Indexing from the backend was successfully finished. - Indexování z backendu bylo úspěšně dokončeno. - - - Single item was successfully marked for reindexing. - Jedna položka byla úspěšně označena k reindexaci. - - - Index Queue - Indexová fronta - - - Manual Indexing - Manuální indexování - - - Initializing the Index Queue is the most complete way to force re-indexing, or to build the Index Queue for the first time. The Index Queue Worker scheduler task will then index the items listed in the Index Queue. - Inicializace indexové fronty je nejúplnější způsob, jak vynutit opětovné indexování nebo poprvé vytvořit indexovou frontu. Úloha plánovače Index Queue Worker pak indexuje položky uvedené v Index Queue. - - - Errors - Chyby - - - Indexing Progress - Průběh indexování - - - Indexed - Indexováno - - - Pending - Čekající - - - Index Queue Initialization - Inicializace indexové fronty - - - Index Queue Status - Stav indexové fronty - - - Clear Index Queue - Vymazat indexovou frontu - - - Go back - Zpět - - - No valid queue item passed to show the error information! - Nebyla předána žádná platná položka fronty k zobrazení informací o chybě! - - - Error details for queue item - Podrobnosti o chybě položky fronty - - - Index now - Indexuj nyní - - - - - Search: Frequent Searches - Hledat: Časté vyhledávání - - - Search: Form, Result, Additional Components - Hledat: Formulář, Výsledek, Další komponenty - - - Search: Form only - Hledat: Pouze formulář - - - - Phrase - Fráze - - - Number of Queries - Počet dotazů - - - Number of Results (Average) - Počet výsledků (průměr) - - - Percentage - Procenta - - - No records found. Did you enabled 'plugin.tx_solr.statistics = 1' in the typoscript configuration of your site? - Nenalezeny žádné záznamy. Povolili jste 'plugin.tx_solr.statistics = 1' v konfiguraci typoscriptu vašeho webu? - - - Top 5 Search Phrases - Top 5 vyhledaných frází - - - Top 5 Search Phrases Without Hits - Top 5 vyhledávacích frází bez hitů - - - Search Phrase Statistics - Statistika vyhledaných frází - - - -
+ +
+ LFEditor +
+ + + + + + + + + + + + + + + +
diff --git a/Resources/Private/Language/cs.locallang_be.xlf b/Resources/Private/Language/cs.locallang_be.xlf new file mode 100644 index 000000000..94715bca5 --- /dev/null +++ b/Resources/Private/Language/cs.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/cs.locallang_csh_pages.xlf b/Resources/Private/Language/cs.locallang_csh_pages.xlf new file mode 100644 index 000000000..304a50b4e --- /dev/null +++ b/Resources/Private/Language/cs.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/cs.locallang_mod.xlf b/Resources/Private/Language/cs.locallang_mod.xlf new file mode 100644 index 000000000..a2bc177f9 --- /dev/null +++ b/Resources/Private/Language/cs.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/cs.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/cs.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..a2bc177f9 --- /dev/null +++ b/Resources/Private/Language/cs.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/cs.locallang_mod_indexadmin.xlf b/Resources/Private/Language/cs.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..a2bc177f9 --- /dev/null +++ b/Resources/Private/Language/cs.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/cs.locallang_mod_indexqueue.xlf b/Resources/Private/Language/cs.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..a2bc177f9 --- /dev/null +++ b/Resources/Private/Language/cs.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/cs.locallang_mod_info.xlf b/Resources/Private/Language/cs.locallang_mod_info.xlf new file mode 100644 index 000000000..a2bc177f9 --- /dev/null +++ b/Resources/Private/Language/cs.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/cs.locallang_tca.xlf b/Resources/Private/Language/cs.locallang_tca.xlf new file mode 100644 index 000000000..42b21e164 --- /dev/null +++ b/Resources/Private/Language/cs.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/da.locallang.xlf b/Resources/Private/Language/da.locallang.xlf new file mode 100644 index 000000000..cc8507542 --- /dev/null +++ b/Resources/Private/Language/da.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/da.locallang_be.xlf b/Resources/Private/Language/da.locallang_be.xlf new file mode 100644 index 000000000..9c0242392 --- /dev/null +++ b/Resources/Private/Language/da.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/da.locallang_csh_pages.xlf b/Resources/Private/Language/da.locallang_csh_pages.xlf new file mode 100644 index 000000000..16a796ee1 --- /dev/null +++ b/Resources/Private/Language/da.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/da.locallang_mod.xlf b/Resources/Private/Language/da.locallang_mod.xlf new file mode 100644 index 000000000..7f0718952 --- /dev/null +++ b/Resources/Private/Language/da.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/da.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/da.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..7f0718952 --- /dev/null +++ b/Resources/Private/Language/da.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/da.locallang_mod_indexadmin.xlf b/Resources/Private/Language/da.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..7f0718952 --- /dev/null +++ b/Resources/Private/Language/da.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/da.locallang_mod_indexqueue.xlf b/Resources/Private/Language/da.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..7f0718952 --- /dev/null +++ b/Resources/Private/Language/da.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/da.locallang_mod_info.xlf b/Resources/Private/Language/da.locallang_mod_info.xlf new file mode 100644 index 000000000..7f0718952 --- /dev/null +++ b/Resources/Private/Language/da.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/da.locallang_tca.xlf b/Resources/Private/Language/da.locallang_tca.xlf new file mode 100644 index 000000000..e000853d0 --- /dev/null +++ b/Resources/Private/Language/da.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/de.locallang.xlf b/Resources/Private/Language/de.locallang.xlf index ffe8cf690..6fb959d64 100644 --- a/Resources/Private/Language/de.locallang.xlf +++ b/Resources/Private/Language/de.locallang.xlf @@ -1,235 +1,371 @@ - + - -
- - - + +
+ LFEditor +
+ + + + The Index Administration Module is responsible for emptying the cores(deleting documents) on Solr Server and index queues in TYPO3 CMS. + Das Index-Administrationsmodul ist für das Leeren der Kerne (Löschen von Dokumenten) auf dem Solr Server und der Index-Queues in TYPO3 CMS verantwortlich. + + Index emptied for Site "%s" (%s). + Index für Seite "%s" (%s) geleert. + + Index Queue emptied for Site "%s". + Index-Warteschlange für Seite "%s" geleert. + + An error occurred while trying to delete documents from the index: %s + Ein Fehler trat auf beim Versuch, Dokumente aus dem Index zu löschen: %s + + + + Search Index Inspector + Suchindex Inspektor + + Search + Suche + + A search form and results list. + Ein Suchformular und eine Ergebnisliste. + + + + Successfully switched to Site "%s". + Erfolgreich zur Seite "%s " gewechselt. + + The previously selected Site "%s" does not exist or the indexing for that Site was disabled. Switched to "%s", which was the first available one. + Die zuvor ausgewählte Seite "%s" existiert nicht oder die Indizierung für diese Seite wurde deaktiviert. Auf "%s" gewechselt, was die erste verfügbare Seite war. + + Couldn't switch to the Site "%s". This site does not exist anymore or the indexing for that Site was disabled. Switched to the first available Site "%s". + Konnte nicht zur Seite "%s" wechseln. Diese Seite existiert nicht mehr oder die Indizierung für diese Seite wurde deaktiviert. Zur ersten verfügbaren Seite "%s" gewechselt. + + + The previously selected core "%s" is not available in "%s" site, therefore switched to default core "%s". + Der zuvor ausgewählte Kern "%s" ist nicht verfügbar auf der "%s" Webseite, daher auf den Standardkern "%s " gewechselt. + + Successfully switched to core "%s". + Erfolgreich zum Kern "%s " gewechselt. + + + + Apache Solr Search Administration + Apache Solr Such-Administration + + Allows you to manage Apache Solr from TYPO3.<br /><em>Access for 'admin' users only!</em> + Erlaubt dir Apache Solr von TYPO3 zu verwalten.<br /><em>Zugriff nur für 'admin' Benutzer!</em> + + Search + Suche + + + Apache Solr Index + Apache Solr Index + + View the number of documents and fields in your index + Anzahl der Dokumente und Felder im Index anzeigen + + Apache Solr Statistics + Apache Solr Statistiken + + Provides several Solr usage statistics + Bietet mehrere Solr-Nutzungsstatistiken + + Optimize index of a site - Index der Seite optimieren - - + Index der Seite optimieren + Optimizes the index of a site. - Optimiert den Index einer Seite. - - + Optimiert den Index einer Seite. + Force Re-Indexing of a site - Re-Indexierung der Seite erzwingen - - + Re-Indexierung der Seite erzwingen + Purges the Solr Index and initializes the Index Queue of a site. - Leert den solr index und initialisiert die Index Queue einer Seite. - - + Leert den solr index und initialisiert die Index Queue einer Seite. + Index Queue Worker - Index Queue Worker - - + Index Queue Worker + Processes the items in the Index Queue and sends them to Solr. - Verarbeitet einen Item in der Index Queue und sendet ihn an den Solr Server. - - + Verarbeitet einen Item in der Index Queue und sendet ihn an den Solr Server. + Number of documents to index - Anzahl der zu indexierenden Dokumente - - + Anzahl der zu indexierenden Dokumente + Forced webroot (only needed when webroot is not PATH_site) - Forced webroot (Nur notwendig wenn webroot von PATH_site abweicht) - - + Forced webroot (Nur notwendig wenn webroot von PATH_site abweicht) + Solr Host - Solr host - - + Solr host + Solr Port - Solr Port - - + Solr Port + Solr Path - Solr Pfad - - + Solr Pfad + Solr Server - Solr Server - - + Solr Server + Site - Webseite - - - - Optimieren - - - - Optimiert den Solr Index - - - - Commit Solr index - - - - Macht Änderungen am Solr Index sichtbar - - - - - + Webseite + + Cores to optimize index for + Kerne zum Optimieren der Indizierung für + + Please select a site first. + Bitte wähle zuerst eine Seite aus. + + No cores have been selected. + Es wurden keine Kerne ausgewählt. + + Search is currently not available. - Die Suche steht im Moment nicht zur Verfügung. - - + Die Suche steht im Moment nicht zur Verfügung. + We're sorry. The request you tried to make could not be processed. - Es tut uns leid. Ihre Suchanfrage konnte nicht verarbeitet werden. - - + Es tut uns leid. Ihre Suchanfrage konnte nicht verarbeitet werden. + Search Term - Suchbegriff - - + Suchbegriff + Did you mean - Meinten Sie - - + Meinten Sie + Search - Suchen - - + Suchen + Sort by - Sortieren nach - - + Sortieren nach + Narrow Search - Suchfilter - - + Suchfilter + Search narrowed by - Aktive Filter - - + Aktive Filter + Show more - Mehr zeigen - - + Mehr zeigen + Show fewer - Weniger zeigen - - + Weniger zeigen + Remove all filters - Alle Filter entfernen - - - Filter - Filtern - - + Alle Filter entfernen + + Filter + Filtern + Displaying results @resultsFrom to @resultsTo of @resultsTotal. - Zeige Ergebnisse @resultsFrom bis @resultsTo von @resultsTotal. - - + Zeige Ergebnisse @resultsFrom bis @resultsTo von @resultsTotal. + Found @resultsTotal results in @resultsTime milliseconds. - Es wurden @resultsTotal Ergebnisse in @resultsTime Millisekunden gefunden. - - + Es wurden @resultsTotal Ergebnisse in @resultsTime Millisekunden gefunden. + Found 1 result in @resultsTime milliseconds. - Es wurde 1 Ergebnis in @resultsTime Millisekunden gefunden. - - + Es wurde 1 Ergebnis in @resultsTime Millisekunden gefunden. + Searched for "@searchWord". - Gesucht nach "@searchWord". - - + Gesucht nach "@searchWord". + Nothing found for "@searchWord". - Nichts gefunden für "@searchWord". - - + Nichts gefunden für "@searchWord". + Showing results for "@suggestedWord". - Ergebnisse für "@suggestedWord". - - + Ergebnisse für "@suggestedWord". + Search instead for "@searchWord". - Stattdessen suchen nach "@searchWord". - - + Stattdessen suchen nach "@searchWord". + Last searches - Letzte Suchanfragen - - + Letzte Suchanfragen + Frequent searches - Häufige Suchanfragen - - + Häufige Suchanfragen + Relevance - Relevanz - - + - + Gesponsert + File type - Dateityp - - + Dateityp + Referenced at - Verlinkt bei - - + Verlinkt bei + Results per page: - Ergebnisse pro Seite: - - + Ergebnisse pro Seite: + We're sorry, there were some errors: - Es tut uns leid, es gab einige Fehler: - - + Es tut uns leid, es gab einige Fehler: + Please enter your search term in the box above. - Bitte geben Sie ihr Suchwort in das Suchfeld ein. - - + Bitte geben Sie ihr Suchwort in das Suchfeld ein. + First - Erste - - + Erste + Previous - Vorherige - - + Vorherige + Next - Nächste - - + Nächste + Last - Letzte - - + Letzte + Top Results - Top Treffer - - - + Top Treffer + + + The Index Queue manages content indexing. Content enters the Index Queue by initialization below or when new content is created based on configuration. Items in the Index Queue are indexed newest changes first until all items in the queue have been indexed. + Die Index-Warteschlange verwaltet die Indizierung von Inhalten. Inhalte werden durch Initialisierung in die Index-Warteschlange aufgenommen oder wenn neue Inhalte auf der Grundlage der Konfiguration erstellt werden. Die jüngsten Änderungen in der Index-Warteschlange werden zuerst indiziert, bis alle Elemente in der Warteschlange indiziert sind. + + Reset errors + Fehler zurücksetzen + + Indexing Errors + Indizierungsfehler + + ID + ID + + Item Type + Item Typ + + Item UID + Item UID + + Show error + Fehler anzeigen + + An error occurred while indexing manual from the backend. + Beim Indizieren des Handbuchs aus dem Backend ist ein Fehler aufgetreten. + + An error occurred while resetting the error log in the index queue. + Beim Zurücksetzen des Fehlerprotokolls in der Index-Warteschlange ist ein Fehler aufgetreten. + + Single item was not requeued. + Einzelnes Element wurde nicht erneut in die Warteschlange gestellt. + + No indexing configurations selected. + Keine Indizierungskonfigurationen ausgewählt. + + Initialized indexing configurations: %s + Indizierungskonfigurationen initialisiert für: %s + + Index Queue initialized + Index Queue initialisiert + Error occured while initializing - Beim Initialisieren ist ein Fehler aufgetreten - - + Beim Initialisieren ist ein Fehler aufgetreten + An error occurred while initializing the index queue: %1$s [%2$d] - Bei der Initialisierung der Index-Queue ist ein Fehler aufgetreten: %1$s [%2$d] - - - - + Bei der Initialisierung der Index-Queue ist ein Fehler aufgetreten: %1$s [%2$d] + + Index Queue not initialized + Index Queue nicht initialisiert + + All errors have been reset. + Alle Fehler wurden zurückgesetzt. + + Indexing from the backend was successfully finished. + Die Indizierung aus dem Backend wurde erfolgreich abgeschlossen. + + Single item was successfully marked for reindexing. + Einzelnes Element wurde erfolgreich zur Neuindizierung markiert. + + Index Queue + Index Queue + + Manual Indexing + Manuelle Indexierung + + Initializing the Index Queue is the most complete way to force re-indexing, or to build the Index Queue for the first time. The Index Queue Worker scheduler task will then index the items listed in the Index Queue. + Die Initialisierung der Index-Warteschlange ist der vollständigste Weg, um eine Neuindizierung zu erzwingen oder die Index-Warteschlange zum ersten Mal aufzubauen. Der Index Queue Worker Scheduler Task indiziert dann die in der Index Queue aufgeführten Elemente. + + Errors + Fehler + + Indexing Progress + Indizierungsfortschritt + + Indexed + indexiert + + Pending + ausstehend + + Index Queue Initialization + Index Queue Initialisierung + + Index Queue Status + Index Queue Status + + Clear Index Queue + Index Queue leeren + + Go back + Zurück + + No valid queue item passed to show the error information! + Kein gültiges Warteschlangenelement übergeben, um die Fehlerinformationen anzuzeigen! + + Error details for queue item + Fehlerdetails für Queue Element + + Index now + Jetzt indizieren + + Search: Frequent Searches - Suche: Häufige Suchen - - + Suche: Häufige Suchen + Search: Form, Result, Additional Components - Suche: Formular, Ergebnisse, weitere Komponenten - - + Suche: Formular, Ergebnisse, weitere Komponenten + Search: Form only - Suche: Nur Suchformular - - -
+ Suche: Nur Suchformular
+ + Phrase + Phrase + + Number of Queries + Anzahl der Abfragen + + Number of Results (Average) + Anzahl der Ergebnisse (Durchschnitt) + + Percentage + Prozentsatz + + No records found. Did you enabled 'plugin.tx_solr.statistics = 1' in the typoscript configuration of your site? + Keine Einträge gefunden. Hast du das 'plugin.tx_solr.statistics = 1' in der Typoscript-Konfiguration deiner Seite aktiviert? + + Top 5 Search Phrases + Top 5 Suchbegriffe + + Top 5 Search Phrases Without Hits + Top 5 Suchbegriffe ohne Treffer + + Search Phrase Statistics + Suchbegriff-Statistiken + + Filter + Filtern + + Reset + Zurücksetzen + + Start + Start + + End + Ende + + diff --git a/Resources/Private/Language/de.locallang_be.xlf b/Resources/Private/Language/de.locallang_be.xlf new file mode 100644 index 000000000..529079edc --- /dev/null +++ b/Resources/Private/Language/de.locallang_be.xlf @@ -0,0 +1,32 @@ + + + +
+ + + Monitoring: Define how data updates should be monitored + Monotoring: Lege fest, wie Datenupdates kontrolliert werden sollen + + Immediate + Sofort + + Delayed (Scheduler task) + Verzögert (Scheduler Task) + + No monitoring at all + Kein Monitoring + + Event Queue Worker + Event Queue Worker + + Task handling the queue data update events. Required if monitoringType is set to "Delayed". + Task, um die Aktualisierungsereignisse der Queue Daten abzuarbeiten. Erforderlich, wenn monitoringType auf „Verzögert“ gesetzt ist. + + Processing limit, the number of events to process + Bearbeitungslimit, Anzahl der zu verarbeitenden Ereignisse + + Data update events to process: %1$d, Errors: %2$d. %3$d events will be processed per run. + Zu verarbeitende Datenaktualisierungen: %1$d, Fehler: %2$d. %3$d Ereignisse werden pro Ausführung verarbeitet. + + + diff --git a/Resources/Private/Language/de.locallang_csh_pages.xlf b/Resources/Private/Language/de.locallang_csh_pages.xlf index 504757410..7eef81e7d 100644 --- a/Resources/Private/Language/de.locallang_csh_pages.xlf +++ b/Resources/Private/Language/de.locallang_csh_pages.xlf @@ -1,12 +1,12 @@ - - -
- - - If enabled, this option includes the sub entries of this page in Solr index. (NOTE: Value=0 means enabled in this view.) - Falls aktiviert, werden die Untereinträge dieser Seite bei einer Suche berücksichtigt. (Bitte beachte, dass der Wert=0 wegen Negation in dieser Ansicht "aktiviert" bedeutet.) - - - + + +
+ + + If enabled, this option includes the sub entries of this page in Solr index. (NOTE: Value=0 means enabled in this view.) + Wenn aktiviert, enthält diese Option die Untereinträge dieser Seite im Solr-Index. (Anmerkung: Wert=0 bedeutet in dieser Ansicht aktiviert.) + + + diff --git a/Resources/Private/Language/de.locallang_mod.xlf b/Resources/Private/Language/de.locallang_mod.xlf new file mode 100644 index 000000000..b719849de --- /dev/null +++ b/Resources/Private/Language/de.locallang_mod.xlf @@ -0,0 +1,17 @@ + + + +
+ + + Apache Solr + Apache Solr + + Administrate solr + Solr verwalten + + This module provides submodules to maintain solr functionality. + Dieses Modul bietet Submodule zur Instandhaltung der Solr-Funktionalität. + + + diff --git a/Resources/Private/Language/de.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/de.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..c0872890d --- /dev/null +++ b/Resources/Private/Language/de.locallang_mod_coreoptimize.xlf @@ -0,0 +1,17 @@ + + + +
+ + + Core Optimization + Core Optimierung + + Maintain synonyms and stopwords + Synonyme und Stoppwörter pflegen + + This module allows you to optimize the cores, you can maintain synonyms and stopwords to improve the search results. + Dieses Modul ermöglicht es dir, die Kerne zu optimieren. Du kannst Synonyme und Stoppwörter pflegen, um die Suchergebnisse zu verbessern. + + + diff --git a/Resources/Private/Language/de.locallang_mod_indexadmin.xlf b/Resources/Private/Language/de.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..f3aea04b3 --- /dev/null +++ b/Resources/Private/Language/de.locallang_mod_indexadmin.xlf @@ -0,0 +1,17 @@ + + + +
+ + + Index Administration + Indexverwaltung + + Administrate your solr system + Dein Solr-System verwalten + + This module allows you to do admin operations on the index (e.g. clear the index queue or clean the solr server). + Dieses Modul erlaubt es dir, Admin-Arbeiten am Index durchzuführen (z.B. die Index-Warteschlange zu löschen oder den Solr-Server zu bereinigen). + + + diff --git a/Resources/Private/Language/de.locallang_mod_indexqueue.xlf b/Resources/Private/Language/de.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..ff793efbb --- /dev/null +++ b/Resources/Private/Language/de.locallang_mod_indexqueue.xlf @@ -0,0 +1,17 @@ + + + +
+ + + Index Queue + Index Queue + + Allows to check the status of the index queue + Erlaubt den Status der Index-Warteschlange zu überprüfen + + This module allows you to check the state of the index queue and reQueue items. + Mit diesem Modul kannst du den Zustand der Index-Warteschlange überprüfen und Elemente erneut in die Warteschlange einstellen. + + + diff --git a/Resources/Private/Language/de.locallang_mod_info.xlf b/Resources/Private/Language/de.locallang_mod_info.xlf new file mode 100644 index 000000000..7206495b9 --- /dev/null +++ b/Resources/Private/Language/de.locallang_mod_info.xlf @@ -0,0 +1,17 @@ + + + +
+ + + Info + Info + + Get information from your search usage and data + Informationen zu Ihrer Suchnutzung und Daten + + This module allows you to get information (statistics, used fields, connection details) from the core. + Dieses Modul ermöglicht es dir, Informationen (Statistiken, verwendete Felder, Verbindungsdetails) aus dem Kern zu erhalten. + + + diff --git a/Resources/Private/Language/de.locallang_tca.xlf b/Resources/Private/Language/de.locallang_tca.xlf index 30c7f6d4e..03eff5e61 100644 --- a/Resources/Private/Language/de.locallang_tca.xlf +++ b/Resources/Private/Language/de.locallang_tca.xlf @@ -1,14 +1,13 @@ - + - -
- LFEditor -
- - + +
+ LFEditor +
+ + Include sub entries in Search - Untereinträge in Indexsuche einbeziehen - - -
+ Untereinträge in Indexsuche einbeziehen
+ +
diff --git a/Resources/Private/Language/el.locallang.xlf b/Resources/Private/Language/el.locallang.xlf new file mode 100644 index 000000000..bf8fefefb --- /dev/null +++ b/Resources/Private/Language/el.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/el.locallang_be.xlf b/Resources/Private/Language/el.locallang_be.xlf new file mode 100644 index 000000000..0f5d807a5 --- /dev/null +++ b/Resources/Private/Language/el.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/el.locallang_csh_pages.xlf b/Resources/Private/Language/el.locallang_csh_pages.xlf new file mode 100644 index 000000000..7ac4050ab --- /dev/null +++ b/Resources/Private/Language/el.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/el.locallang_mod.xlf b/Resources/Private/Language/el.locallang_mod.xlf new file mode 100644 index 000000000..fb5bf9abb --- /dev/null +++ b/Resources/Private/Language/el.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/el.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/el.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..fb5bf9abb --- /dev/null +++ b/Resources/Private/Language/el.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/el.locallang_mod_indexadmin.xlf b/Resources/Private/Language/el.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..fb5bf9abb --- /dev/null +++ b/Resources/Private/Language/el.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/el.locallang_mod_indexqueue.xlf b/Resources/Private/Language/el.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..fb5bf9abb --- /dev/null +++ b/Resources/Private/Language/el.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/el.locallang_mod_info.xlf b/Resources/Private/Language/el.locallang_mod_info.xlf new file mode 100644 index 000000000..fb5bf9abb --- /dev/null +++ b/Resources/Private/Language/el.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/el.locallang_tca.xlf b/Resources/Private/Language/el.locallang_tca.xlf new file mode 100644 index 000000000..702fa0cad --- /dev/null +++ b/Resources/Private/Language/el.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/es.locallang.xlf b/Resources/Private/Language/es.locallang.xlf index 112b40f2c..805148e6c 100644 --- a/Resources/Private/Language/es.locallang.xlf +++ b/Resources/Private/Language/es.locallang.xlf @@ -1,460 +1,23 @@ - - - -
- LFEditor -
- - - - - The Index Administration Module is responsible for emptying the cores(deleting documents) on Solr Server and index queues in TYPO3 CMS. - El index administration module es el encargado de vaciar los núcleos (borrar documentos) en las colas de servidores e indexación de Solr en CMS TYPO3. - - - - Index emptied for Site "%s" (%s). - Índice vaciado para sitio "%s" (%s). - - - - Index Queue emptied for Site "%s". - Cola de indexación vaciada para sitio "%s". - - - - An error occurred while trying to delete documents from the index: %s - Se ha producido un error al intentar borrar documentos del índice: %s - - - - - - - Search Index Inspector - Buscar inspector de índices - - - Search - Buscar - - - A search form and results list. - Un formulario de búsqueda y una lista de resultados. - - - - - - Successfully switched to Site "%s". - Se ha cambiado correctamente al sitio "%s". - - - - The previously selected Site "%s" does not exist or the indexing for that Site was disabled. Switched to "%s", which was the first available one. - El sitio previamente seleccionado "%s" no existe o la indexación de ese sitio se ha desactivado. Se ha cambiado a "%s", que era el primero disponible. - - - - Couldn't switch to the Site "%s". This site does not exist anymore or the indexing for that Site was disabled. Switched to the first available Site "%s". - No se ha podido cambiar al sitio "%s". Este sitio ya no existe o la indexación de ese sitio se ha desactivado. Se ha cambiado al primer sitio disponible "%s". - - - - - The previously selected core "%s" is not available in "%s" site, therefore switched to default core "%s". - El núcleo previamente seleccionado "%s" no está disponible en el sitio "%s", por lo que se ha cambiado al núcleo por defecto "%s". - - - - Successfully switched to core "%s". - Se ha cambiado correctamente al núcleo "%s". - - - - - - Apache Solr Search Administration - Administración de búsquedas de Apache Solr - - - Allows you to manage Apache Solr from TYPO3.<br /><em>Access for 'admin' users only!</em> - Permite administrar Apache Solr desde TYPO3.<br /><em>¡Acceso únicamente para usuarios 'admin'!</em> - - - Search - Buscar - - - - - Apache Solr Index - Índice de Apache Solr - - - View the number of documents and fields in your index - Visualiza el número de documentos y campos en su índice - - - Apache Solr Statistics - Estadísticas de Apache Solr - - - Provides several Solr usage statistics - Proporciona varias estadísticas de uso de Solr - - - - - Force Re-Indexing of a site - Fuerza la reindexación de un sitio - - - Purges the Solr Index and initializes the Index Queue of a site. - Purga el índice de Solr e inicializa la cola de indexación de un sitio. - - - Index Queue Worker - Asistente de cola de indexación - - - Processes the items in the Index Queue and sends them to Solr. - Procesa los elementos de la cola de indexación y los envía a Solr. - - - Number of documents to index - Número de documentos a indexar - - - Forced webroot (only needed when webroot is not PATH_site) - Webroot forzado (solo necesario si el webroot no es PATH_site) - - - Solr Host - Host de Solr - - - Solr Port - Puerto de Solr - - - Solr Path - Ruta de Solr - - - Solr Server - Servidor de Solr - - - Site - Sitio - - - - - Search is currently not available. - La búsqueda no está disponible actualmente. - - - We're sorry. The request you tried to make could not be processed. - Lo sentimos. La consulta que ha tratado de hacer no ha podido ser procesada. - - - Search Term - Término de búsqueda - - - Did you mean - ¿Quiso decir...? - - - Search - Buscar - - - Sort by - Ordenar por - - - Narrow Search - Restringir búsqueda - - - Search narrowed by - Búsqueda restringida por - - - Show more - Mostrar más - - - Show fewer - Mostrar menos - - - Remove all filters - Quitar todos los filtros - - - Filter - Filter - - - Displaying results @resultsFrom to @resultsTo of @resultsTotal. - Mostrando resultados @resultsFrom a @resultsTo de @resultsTotal. - - - Found @resultsTotal results in @resultsTime milliseconds. - @resultsTotal resultados encontrados en @resultsTime milisegundos. - - - Found 1 result in @resultsTime milliseconds. - Found 1 result in @resultsTime milliseconds. - - - Searched for "@searchWord". - Búsqueda de "@searchWord". - - - Nothing found for "@searchWord". - La búsqueda de "@searchWord" no ha obtenido ningún resultado. - - - Showing results for "@suggestedWord". - Mostrar resultados para "@suggestedWord" - - - Search instead for "@searchWord". - Buscar "@searchWord". - - - Last searches - Últimas búsquedas - - - Frequent searches - Búsquedas frecuentes - - - Relevance - Relevancia - - - - File type - Tipo de archivo - - - Referenced at - Referenciado en - - - Results per page: - Resultados por página: - - - Lamentablemente, se han producido errores: - - - Please enter your search term in the box above. - Introduzca su término de búsqueda en el cuadro de arriba. - - - Primera - - - Anterior - - - Next - Siguiente - - - Last - Última - - - Top Results - Top Results - - - - - The Index Queue manages content indexing. Content enters the Index Queue by initialization below or when new content is created based on configuration. Items in the Index Queue are indexed newest changes first until all items in the queue have been indexed. - La cola de indexación gestiona la indexación del contenido. El contenido entra en la cola de indexación mediante la inicialización de más abajo o cuando se crea un nuevo contenido basándose en la configuración. Los elementos de la cola de indexación se indexan según el principio de 'los últimos cambios primero' hasta haberse indexado todos los elementos de la cola. - - - Reset errors - Suprimir errores - - - Indexing Errors - Indexar errores - - - ID - ID - - - Item Type - Tipo de elemento - - - Item UID - ID único de elemento - - - Show error - Mostrar error - - - An error occurred while indexing manual from the backend. - Se ha producido un error al indexar manualmente desde backend. - - - An error occurred while resetting the error log in the index queue. - Se ha producido un error al suprimir el log de errores en la cola de indexación. - - - Single item was not requeued. - Single item was not requeued. - - - No indexing configurations selected. - No se han seleccionado configuraciones de indexación. - - - - Initialized indexing configurations: %s - Configuraciones de indexación inicializadas: %s - - - Index Queue initialized - Cola de indexación inicializada - - - Index Queue not initialized - Cola de indexación no inicializada - - - All errors have been reset. - Se han suprimido todos los errores. - - - Indexing from the backend was successfully finished. - La indexación desde backend ha finalizado correctamente. - - - Single item was successfully marked for reindexing. - Single item was successfully marked for reindexing. - - - Index Queue - Cola de indexación - - - Manual Indexing - Indexación manual - - - Initializing the Index Queue is the most complete way to force re-indexing, or to build the Index Queue for the first time. The Index Queue Worker scheduler task will then index the items listed in the Index Queue. - La inicialización de la cola de indexación es la forma más efectiva de forzar una reindexación o de crear una cola de indexación por primera vez. El planificador del index queue worker procederá entonces a indexar los elementos listados en la cola de indexación. - - - Errors - Errores - - - Indexing Progress - Progreso de la indexación - - - Indexed - Indexado - - - Pending - Pendiente - - - Index Queue Initialization - Inicialización de la cola de indexación - - - Index Queue Status - Estado de la cola de indexación - - - Clear Index Queue - Limpiar cola de indexación - - - Go back - Regresar - - - No valid queue item passed to show the error information! - ¡No ha pasado ningún elemento válido de la cola para mostrar la información del error! - - - Error details for queue item - Detalles del error del elemento de la cola - - - Index now - Indexar ahora - - - - - Search: Frequent Searches - Buscar: Búsquedas frecuentes - - - Search: Form, Result, Additional Components - Buscar: Formulario, resultado, componentes adicionales - - - Search: Form only - Buscar: Solo formulario - - - - Phrase - Frase - - - Number of Queries - Número de consultas - - - Number of Results (Average) - Número de resultados (promedio) - - - Percentage - Porcentaje - - - No records found. Did you enabled 'plugin.tx_solr.statistics = 1' in the typoscript configuration of your site? - No se han encontrado registros. ¿Ha habilitado 'plugin.tx_solr.statistics = 1' en la configuración de typoscript de su sitio? - - - Top 5 Search Phrases - Las 5 principales frases de búsqueda - - - Top 5 Search Phrases Without Hits - Las 5 principales frases de búsqueda sin resultados - - - Search Phrase Statistics - Estadísticas de frases de búsqueda - - - -
+ + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
diff --git a/Resources/Private/Language/es.locallang_be.xlf b/Resources/Private/Language/es.locallang_be.xlf new file mode 100644 index 000000000..c713d4532 --- /dev/null +++ b/Resources/Private/Language/es.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/es.locallang_csh_pages.xlf b/Resources/Private/Language/es.locallang_csh_pages.xlf new file mode 100644 index 000000000..8825cdcd5 --- /dev/null +++ b/Resources/Private/Language/es.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/es.locallang_mod.xlf b/Resources/Private/Language/es.locallang_mod.xlf new file mode 100644 index 000000000..7bd934461 --- /dev/null +++ b/Resources/Private/Language/es.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/es.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/es.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..7bd934461 --- /dev/null +++ b/Resources/Private/Language/es.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/es.locallang_mod_indexadmin.xlf b/Resources/Private/Language/es.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..7bd934461 --- /dev/null +++ b/Resources/Private/Language/es.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/es.locallang_mod_indexqueue.xlf b/Resources/Private/Language/es.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..7bd934461 --- /dev/null +++ b/Resources/Private/Language/es.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/es.locallang_mod_info.xlf b/Resources/Private/Language/es.locallang_mod_info.xlf new file mode 100644 index 000000000..7bd934461 --- /dev/null +++ b/Resources/Private/Language/es.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/es.locallang_tca.xlf b/Resources/Private/Language/es.locallang_tca.xlf new file mode 100644 index 000000000..d2e2792b8 --- /dev/null +++ b/Resources/Private/Language/es.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/fi.locallang.xlf b/Resources/Private/Language/fi.locallang.xlf new file mode 100644 index 000000000..4c6d8c9ec --- /dev/null +++ b/Resources/Private/Language/fi.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/fi.locallang_be.xlf b/Resources/Private/Language/fi.locallang_be.xlf new file mode 100644 index 000000000..d27d1489b --- /dev/null +++ b/Resources/Private/Language/fi.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/fi.locallang_csh_pages.xlf b/Resources/Private/Language/fi.locallang_csh_pages.xlf new file mode 100644 index 000000000..66a63edbc --- /dev/null +++ b/Resources/Private/Language/fi.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/fi.locallang_mod.xlf b/Resources/Private/Language/fi.locallang_mod.xlf new file mode 100644 index 000000000..311455f00 --- /dev/null +++ b/Resources/Private/Language/fi.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fi.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/fi.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..311455f00 --- /dev/null +++ b/Resources/Private/Language/fi.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fi.locallang_mod_indexadmin.xlf b/Resources/Private/Language/fi.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..311455f00 --- /dev/null +++ b/Resources/Private/Language/fi.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fi.locallang_mod_indexqueue.xlf b/Resources/Private/Language/fi.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..311455f00 --- /dev/null +++ b/Resources/Private/Language/fi.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fi.locallang_mod_info.xlf b/Resources/Private/Language/fi.locallang_mod_info.xlf new file mode 100644 index 000000000..311455f00 --- /dev/null +++ b/Resources/Private/Language/fi.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fi.locallang_tca.xlf b/Resources/Private/Language/fi.locallang_tca.xlf new file mode 100644 index 000000000..bae897810 --- /dev/null +++ b/Resources/Private/Language/fi.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/fr.locallang.xlf b/Resources/Private/Language/fr.locallang.xlf index 28c5d115d..c5d957538 100644 --- a/Resources/Private/Language/fr.locallang.xlf +++ b/Resources/Private/Language/fr.locallang.xlf @@ -1,467 +1,23 @@ - - - -
- - - - - The Index Administration Module is responsible for emptying the cores(deleting documents) on Solr Server and index queues in TYPO3 CMS. - Le module d'administration d'index est chargé de vider les noyaux (suppression de documents) sur le serveur Solr et les files d'attente d'index dans le CMS TYPO3. - - - - Index emptied for Site "%s" (%s). - Index vidé pour le site « %s » (%s). - - - - Index Queue emptied for Site "%s". - File d'attente d’index vidée pour le site « %s ». - - - - An error occurred while trying to delete documents from the index: %s - Une erreur s'est produite lors de la tentative de suppression de documents de l'index : %s - - - - - - Search Index Inspector - Inspecteur de l'index de recherche - - - Search - - - - A search form and results list. - - - - - - - Successfully switched to Site "%s". - Passage réussi au site « %s ». - - - - The previously selected Site "%s" does not exist or the indexing for that Site was disabled. Switched to "%s", which was the first available one. - Le site « %s » précédemment sélectionné n'existe pas ou l'indexation de ce site a été désactivée. Passage au site « %s », qui était le premier disponible. - - - - Couldn't switch to the Site "%s". This site does not exist anymore or the indexing for that Site was disabled. Switched to the first available Site "%s". - Impossible de passer au site « %s ». Ce site n'existe plus ou l'indexation de ce site a été désactivée. Passage au premier site disponible « %s ». - - - - - The previously selected core "%s" is not available in "%s" site, therefore switched to default core "%s". - Le noyau « %s » sélectionné précédemment n'est pas disponible sur le site « %s », passage au noyau par défaut « %s ». - - - - Successfully switched to core "%s". - Passage réussi au noyau « %s ». - - - - - - Apache Solr Search Administration - Moteur de recherche Apache Solr - - - Allows you to manage Apache Solr from TYPO3.<br /><em>Access for 'admin' users only!</em> - Vous permet d'exécuter Apache Solr depuis TYPO3.<br /><em>Accès réservé aux utilisateurs 'admin' uniquement !</em> - - - Search - Rechercher - - - - - Apache Solr Index - Index d'Apache Solr - - - View the number of documents and fields in your index - Visualisez le nombre de documents et de champs de votre index - - - Apache Solr Statistics - Statistiques d'Apache Solr - - - Provides several Solr usage statistics - Fourni plusieurs statistiques d'usage de Solr - - - - - Optimize index of a site - Optimiser l'index d'un site - - - Optimizes the index of a site. - Optimise l'index d'un site. - - - Force Re-Indexing of a site - Force la réindexation d'un site - - - Purges the Solr Index and initializes the Index Queue of a site. - Purge l'index de Solr et initialise la file d'attente d'indexation d'un site. - - - Index Queue Worker - Tâche de traitement de la file d'indexation. - - - Processes the items in the Index Queue and sends them to Solr. - Traite les élément de la file d'attente et les envoie à Solr. - - - Number of documents to index - Nombre de documents à indexer - - - Forced webroot (only needed when webroot is not PATH_site) - Forced webroot (only needed when webroot is not PATH_site) - - - Solr Host - Hôte Solr - - - Solr Port - Port Solr - - - Solr Path - URI Solr - - - Solr Server - Serveur Solr - - - Site - Site - - - - - Search is currently not available. - La recherche est actuellement indisponible. - - - We're sorry. The request you tried to make could not be processed. - Désolé. Votre demande n'a pas pu être traitée. - - - Search Term - Critère de recherche - - - Did you mean - Pensiez-vous à - - - Search - Recherche - - - Sort by - Trier par - - - Narrow Search - Filtre de résultats - - - Search narrowed by - Filtres actifs - - - Show more - Afficher plus - - - Show fewer - Afficher moins - - - Remove all filters - Retirer tous les filtres - - - Filter - Filter - - - Displaying results @resultsFrom to @resultsTo of @resultsTotal. - Affiche les résultats de @resultsFrom à @resultsTo sur @resultsTotal. - - - Found @resultsTotal results in @resultsTime milliseconds. - @resultsTotal résultats ont été trouvés en @resultsTime millisecondes. - - - Found 1 result in @resultsTime milliseconds. - 1 résultats ont été trouvés en @resultsTime millisecondes. - - - Searched for "@searchWord". - Recherche de "@searchWord". - - - Nothing found for "@searchWord". - Rien trouvé pour "@searchWord". - - - Showing results for "@suggestedWord". - Affichage des résultats pour "@suggestedWord". - - - Search instead for "@searchWord". - Chercher "@searchWord" à la place. - - - Last searches - Dernières recherches - - - Frequent searches - Recherches fréquentes - - - Relevance - Pertinence - - - - File type - Type de fichier - - - Referenced at - Référencé par - - - Results per page: - Résultats par page: - - - We're sorry, there were some errors: - Nous sommes désolés, il y a eu quelques erreurs : - - - Please enter your search term in the box above. - Veuillez remplir les termes de recherche dans le champ ci-dessus. - - - First - Premier - - - Previous - Précédent - - - Next - Suivant - - - Last - Dernier - - - Top Results - Top Results - - - - - The Index Queue manages content indexing. Content enters the Index Queue by initialization below or when new content is created based on configuration. Items in the Index Queue are indexed newest changes first until all items in the queue have been indexed. - La file d’attente de l’index gère l’indexation du contenu. Le contenu entre dans la file d'attente de l'index par l’initialisation ci-dessous ou lors de la création d'un nouveau contenu selon la configuration. Les éléments de la file d'attente de l'index sont indexés en commençant par les changements les plus récents jusqu'à ce que tous les éléments de la file d'attente aient été indexés. - - - Reset errors - Erreurs de réinitialisation - - - Indexing Errors - Erreurs d’indexation - - - ID - ID - - - Item Type - Type d’élément - - - Item UID - Afficher l’erreur - - - Show error - Afficher l’erreur - - - An error occurred while indexing manual from the backend. - Une erreur s'est produite lors de l’indexation manuelle de l’application en arrière-plan. - - - An error occurred while resetting the error log in the index queue. - Une erreur s'est produite lors de la réinitialisation du fichier d’erreurs dans la file d’attente de l'index. - - - Single item was not requeued. - Single item was not requeued. - - - No indexing configurations selected. - Aucune configuration d’indexation sélectionnée. - - - - Initialized indexing configurations: %s - Configurations d’indexation initialisées : %s - - - Index Queue initialized - File d'attente de l’index initialisée - - - Index Queue not initialized - File d'attente de l’index non initialisée - - - All errors have been reset. - Toutes les erreurs ont été réinitialisées. - - - Indexing from the backend was successfully finished. - L'indexation de l’application en arrière-plan s'est terminée avec succès. - - - Single item was successfully marked for reindexing. - Single item was successfully marked for reindexing. - - - Index Queue - File d'attente de l’index - - - Manual Indexing - Indexation manuelle - - - Initializing the Index Queue is the most complete way to force re-indexing, or to build the Index Queue for the first time. The Index Queue Worker scheduler task will then index the items listed in the Index Queue. - L'initialisation de la file d'attente de l'index est le moyen le plus complet de forcer la ré-indexation ou de générer la file d'attente de l'index pour la première fois. La tâche du planificateur de l’exécuteur de file d'attente de l'index indexera alors les éléments énumérés dans la file d'attente de l'index. - - - Errors - Erreurs - - - Indexing Progress - Indexation en cours - - - Indexed - Indexé - - - Pending - En attente - - - Index Queue Initialization - Initialisation de la file d'attente de l’index - - - Index Queue Status - État de la file d'attente de l’index - - - Clear Index Queue - Supprimer la file d'attente de l’index - - - Go back - Retour - - - No valid queue item passed to show the error information! - Aucun élément de file d'attente valide transmis pour afficher les informations d'erreur ! - - - Error details for queue item - Détails de l'erreur pour l’élément de la file d'attente - - - Index now - Indexer maintenant - - - - - Search: Frequent Searches - Rechercher: Recherches fréquentes - - - Search: Form, Result, Additional Components - Rechercher: Formulaire, Résultats, Composants additionnels - - - Search: Form only - Rechercher: Formulaire seul - - - - Phrase - Phrase - - - Number of Queries - Number of Queries - - - Number of Results (Average) - Number of Results (Average) - - - Percentage - Percentage - - - No records found. Did you enabled 'plugin.tx_solr.statistics = 1' in the typoscript configuration of your site? - No records found. Did you enabled 'plugin.tx_solr.statistics = 1' in the typoscript configuration of your site? - - - Top 5 Search Phrases - Top 5 Search Phrases - - - Top 5 Search Phrases Without Hits - Top 5 Search Phrases Without Hits - - - Search Phrase Statistics - Search Phrase Statistics - - - + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
diff --git a/Resources/Private/Language/fr.locallang_be.xlf b/Resources/Private/Language/fr.locallang_be.xlf new file mode 100644 index 000000000..3372e6fe9 --- /dev/null +++ b/Resources/Private/Language/fr.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/fr.locallang_csh_pages.xlf b/Resources/Private/Language/fr.locallang_csh_pages.xlf new file mode 100644 index 000000000..26a0d7966 --- /dev/null +++ b/Resources/Private/Language/fr.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/fr.locallang_mod.xlf b/Resources/Private/Language/fr.locallang_mod.xlf new file mode 100644 index 000000000..8aa131951 --- /dev/null +++ b/Resources/Private/Language/fr.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fr.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/fr.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..8aa131951 --- /dev/null +++ b/Resources/Private/Language/fr.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fr.locallang_mod_indexadmin.xlf b/Resources/Private/Language/fr.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..8aa131951 --- /dev/null +++ b/Resources/Private/Language/fr.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fr.locallang_mod_indexqueue.xlf b/Resources/Private/Language/fr.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..8aa131951 --- /dev/null +++ b/Resources/Private/Language/fr.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fr.locallang_mod_info.xlf b/Resources/Private/Language/fr.locallang_mod_info.xlf new file mode 100644 index 000000000..8aa131951 --- /dev/null +++ b/Resources/Private/Language/fr.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/fr.locallang_tca.xlf b/Resources/Private/Language/fr.locallang_tca.xlf new file mode 100644 index 000000000..d68724d33 --- /dev/null +++ b/Resources/Private/Language/fr.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/he.locallang.xlf b/Resources/Private/Language/he.locallang.xlf new file mode 100644 index 000000000..0d7f2cf5f --- /dev/null +++ b/Resources/Private/Language/he.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/he.locallang_be.xlf b/Resources/Private/Language/he.locallang_be.xlf new file mode 100644 index 000000000..a5e49330f --- /dev/null +++ b/Resources/Private/Language/he.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/he.locallang_csh_pages.xlf b/Resources/Private/Language/he.locallang_csh_pages.xlf new file mode 100644 index 000000000..f07a6eaa2 --- /dev/null +++ b/Resources/Private/Language/he.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/he.locallang_mod.xlf b/Resources/Private/Language/he.locallang_mod.xlf new file mode 100644 index 000000000..33cbddcc2 --- /dev/null +++ b/Resources/Private/Language/he.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/he.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/he.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..33cbddcc2 --- /dev/null +++ b/Resources/Private/Language/he.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/he.locallang_mod_indexadmin.xlf b/Resources/Private/Language/he.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..33cbddcc2 --- /dev/null +++ b/Resources/Private/Language/he.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/he.locallang_mod_indexqueue.xlf b/Resources/Private/Language/he.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..33cbddcc2 --- /dev/null +++ b/Resources/Private/Language/he.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/he.locallang_mod_info.xlf b/Resources/Private/Language/he.locallang_mod_info.xlf new file mode 100644 index 000000000..33cbddcc2 --- /dev/null +++ b/Resources/Private/Language/he.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/he.locallang_tca.xlf b/Resources/Private/Language/he.locallang_tca.xlf new file mode 100644 index 000000000..71f6be0b3 --- /dev/null +++ b/Resources/Private/Language/he.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/hu.locallang.xlf b/Resources/Private/Language/hu.locallang.xlf new file mode 100644 index 000000000..4e8eb894b --- /dev/null +++ b/Resources/Private/Language/hu.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/hu.locallang_be.xlf b/Resources/Private/Language/hu.locallang_be.xlf new file mode 100644 index 000000000..44cb262a7 --- /dev/null +++ b/Resources/Private/Language/hu.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/hu.locallang_csh_pages.xlf b/Resources/Private/Language/hu.locallang_csh_pages.xlf new file mode 100644 index 000000000..90901124b --- /dev/null +++ b/Resources/Private/Language/hu.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/hu.locallang_mod.xlf b/Resources/Private/Language/hu.locallang_mod.xlf new file mode 100644 index 000000000..178f422a9 --- /dev/null +++ b/Resources/Private/Language/hu.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/hu.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/hu.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..178f422a9 --- /dev/null +++ b/Resources/Private/Language/hu.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/hu.locallang_mod_indexadmin.xlf b/Resources/Private/Language/hu.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..178f422a9 --- /dev/null +++ b/Resources/Private/Language/hu.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/hu.locallang_mod_indexqueue.xlf b/Resources/Private/Language/hu.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..178f422a9 --- /dev/null +++ b/Resources/Private/Language/hu.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/hu.locallang_mod_info.xlf b/Resources/Private/Language/hu.locallang_mod_info.xlf new file mode 100644 index 000000000..178f422a9 --- /dev/null +++ b/Resources/Private/Language/hu.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/hu.locallang_tca.xlf b/Resources/Private/Language/hu.locallang_tca.xlf new file mode 100644 index 000000000..0806318f3 --- /dev/null +++ b/Resources/Private/Language/hu.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/it.locallang.xlf b/Resources/Private/Language/it.locallang.xlf index d1a2b6904..890c9ccfe 100644 --- a/Resources/Private/Language/it.locallang.xlf +++ b/Resources/Private/Language/it.locallang.xlf @@ -1,134 +1,101 @@ - + - -
- - - - + +
+ LFEditor +
+ + + + + + + + + + + + + Search is currently not available. - La ricerca non è al momento disponibile. - - + La ricerca non è al momento disponibile. + We're sorry. The request you tried to make could not be processed. - Errore. Impossibile elaborare la query di ricerca. - - + Errore. Impossibile elaborare la query di ricerca. + Search Term - Termine di ricerca - - + Termine di ricerca + Did you mean - Forse cercavi: - - + Forse cercavi: + Search - Ricerca - - + Ricerca + Sort by - Ordina - - + Ordina + Narrow Search - Filtro di ricerca - - + Filtro di ricerca + Search narrowed by - Filtro attivo - - + Filtro attivo + Show more - Espandi - - + Espandi + Show fewer - Riduci - - + Riduci + Remove all filters - Rimuovi tutti i filtri - - + Rimuovi tutti i filtri + Displaying results @resultsFrom to @resultsTo of @resultsTotal. - Mostra risultati @resultsFrom a @resultsTo di @resultsTotal. - - + Mostra risultati @resultsFrom a @resultsTo di @resultsTotal. + Found @resultsTotal results in @resultsTime milliseconds. - @resultsTotal risultati trovati in @resultsTime millisecondi. - - + @resultsTotal risultati trovati in @resultsTime millisecondi. + Found 1 result in @resultsTime milliseconds. - 1 risultati trovati in @resultsTime millisecondi. - - + 1 risultati trovati in @resultsTime millisecondi. + Searched for "@searchWord". - Eseguita ricerca di "@searchWord". - - + Eseguita ricerca di "@searchWord". + Nothing found for "@searchWord". - La ricerca di "@searchWord" non ha prodotto risultati in nessun documento. - - - Showing results for "@suggestedWord". - - - - Search instead for "@searchWord". - - - + La ricerca di "@searchWord" non ha prodotto risultati in nessun documento. + Last searches - Ultime ricerche - - + Ultime ricerche + Frequent searches - Ricerche più frequenti - - + Ricerche più frequenti + Relevance - Rilevanza - - - + Rilevanza + File type - Tipo di file - - + Tipo di file + Referenced at - Link a - - + Link a + Results per page: - Risultati per pagina: - - - We're sorry, there were some errors: - - - - Please enter your search term in the box above. - - - + Risultati per pagina: + First - Pagina iniziale - - + Pagina iniziale + Previous - Indietro - - + Indietro + Next - Avanti - - + Avanti + Last - Ultima pagina - - -
- \ No newline at end of file + Ultima pagina
+ + + + + diff --git a/Resources/Private/Language/it.locallang_be.xlf b/Resources/Private/Language/it.locallang_be.xlf new file mode 100644 index 000000000..c79977086 --- /dev/null +++ b/Resources/Private/Language/it.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/it.locallang_csh_pages.xlf b/Resources/Private/Language/it.locallang_csh_pages.xlf new file mode 100644 index 000000000..07306375a --- /dev/null +++ b/Resources/Private/Language/it.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/it.locallang_mod.xlf b/Resources/Private/Language/it.locallang_mod.xlf new file mode 100644 index 000000000..3b07ebcf0 --- /dev/null +++ b/Resources/Private/Language/it.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/it.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/it.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..3b07ebcf0 --- /dev/null +++ b/Resources/Private/Language/it.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/it.locallang_mod_indexadmin.xlf b/Resources/Private/Language/it.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..3b07ebcf0 --- /dev/null +++ b/Resources/Private/Language/it.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/it.locallang_mod_indexqueue.xlf b/Resources/Private/Language/it.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..3b07ebcf0 --- /dev/null +++ b/Resources/Private/Language/it.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/it.locallang_mod_info.xlf b/Resources/Private/Language/it.locallang_mod_info.xlf new file mode 100644 index 000000000..3b07ebcf0 --- /dev/null +++ b/Resources/Private/Language/it.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/it.locallang_tca.xlf b/Resources/Private/Language/it.locallang_tca.xlf new file mode 100644 index 000000000..fe7c318df --- /dev/null +++ b/Resources/Private/Language/it.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/ja.locallang.xlf b/Resources/Private/Language/ja.locallang.xlf index ad8e7d97b..6c1bd68c0 100644 --- a/Resources/Private/Language/ja.locallang.xlf +++ b/Resources/Private/Language/ja.locallang.xlf @@ -1,456 +1,23 @@ - - - -
- - - - - The Index Administration Module is responsible for emptying the cores(deleting documents) on Solr Server and index queues in TYPO3 CMS. - Index Administration Module は、Solrサーバーと TYPO3 CMS のインデックス キュー上のコアを空にする (ドキュメントを削除する) 役割を担います。 - - - - Index emptied for Site "%s" (%s). - サイト「%s」 のインデックスを空にしました (%s)。 - - - - Index Queue emptied for Site "%s". - サイト「%s」 のインデックス キューを空にしました。 - - - - An error occurred while trying to delete documents from the index: %s - 次のインデックスからドキュメントを削除する際にエラーが発生しました: %s - - - - - - - Search Index Inspector - を検索 - - - Search - 検索 - - - A search form and results list. - 検索フォームと結果リスト。 - - - - - - Successfully switched to Site "%s". - サイト「%s」に切り替えました。 - - - - The previously selected Site "%s" does not exist or the indexing for that Site was disabled. Switched to "%s", which was the first available one. - 以前選択されたサイト「%s」が存在しないか、そのサイトのインデックス作成が無効になっています。利用可能な最初のサイト「%s」に切り替えました。 - - - - Couldn't switch to the Site "%s". This site does not exist anymore or the indexing for that Site was disabled. Switched to the first available Site "%s". - サイト「%s」に切り替えられませんでした。このサイトが存在しないか、そのサイトのインデックス作成が無効になっています。利用可能な最初のサイト「%s」に切り替えました。 - - - - - The previously selected core "%s" is not available in "%s" site, therefore switched to default core "%s". - 以前に選択されていたコア「%s」がサイト「%s」で利用できませんので、既定のコア「%s」に切り替えました。 - - - - Successfully switched to core "%s". - コア「%s」に切り替えました。 - - - - - - Apache Solr Search Administration - Apache Solr 検索管理 - - - Allows you to manage Apache Solr from TYPO3.<br /><em>Access for 'admin' users only!</em> - TYPO3 から Apache Solr を管理できるようになります。<br /><em>「管理者」ユーザーのみ利用可能です。</em> - - - Search - 検索 - - - - - Apache Solr Index - Apache Solr インデックス - - - View the number of documents and fields in your index - インデックスのドキュメントとフィールドの数を表示 - - - Apache Solr Statistics - Apache Solr Statistics - - - Provides several Solr usage statistics - Solr 使用状況の統計情報数件を提供します - - - - - Force Re-Indexing of a site - サイトのインデックスを強制的に再設定します - - - Purges the Solr Index and initializes the Index Queue of a site. - サイトの Solr インデックスを消去してインデックス キューを初期化します。 - - - Index Queue Worker - Index Queue Worker - - - Processes the items in the Index Queue and sends them to Solr. - インデックス キューの項目を処理して Solr に送信します。 - - - Number of documents to index - インデックスを設定するドキュメントの数 - - - Forced webroot (only needed when webroot is not PATH_site) - 強制 webroot (webroot が PATH_site でない場合のみ必要) - - - Solr Host - Solr ホスト - - - Solr Port - Solr ポート - - - Solr Path - Solr パス - - - Solr Server - Solr サーバー - - - Site - サイト - - - - - Search is currently not available. - 検索は現在使用できません。 - - - We're sorry. The request you tried to make could not be processed. - 申し訳ありません。実行しようとした要求は処理できません。 - - - Search Term - 検索語句 - - - Did you mean - 検索語句の候補 - - - Search - 検索 - - - Sort by - 並び替え項目 - - - Narrow Search - 絞り込み検索 - - - Search narrowed by - 絞り込み結果 - - - Show more - 表示数を増やす - - - Show fewer - 表示数を減らす - - - Remove all filters - フィルタをすべて削除 - - - Filter - Filter - - - Displaying results @resultsFrom to @resultsTo of @resultsTotal. - @resultsTotal の結果のうち、 @resultsFrom から @resultsTo までを表示します。 - - - Found @resultsTotal results in @resultsTime milliseconds. - @resultsTime ミリ秒で @resultsTotal の結果が見つかりました。 - - - Found 1 results in @resultsTime milliseconds. - @resultsTime ミリ秒で 1 の結果が見つかりました。 - - - Searched for "@searchWord". - "@searchWord" を検索しました。 - - - Nothing found for "@searchWord". - "@searchWord" が見つかりません。 - - - Showing results for "@suggestedWord". - - - - Search instead for "@searchWord". - - - - Last searches - 前の検索 - - - Frequent searches - 共通検索 - - - Relevance - 関連 - - - - File type - ファイルの種類 - - - Referenced at - 参照元 - - - Results per page: - ページ毎の結果: - - - We're sorry, there were some errors: - - - - Please enter your search term in the box above. - - - - First - - - - Previous - - - - Next - - - - Last - - - - Top Results - - - - The Index Queue manages content indexing. Content enters the Index Queue by initialization below or when new content is created based on configuration. Items in the Index Queue are indexed newest changes first until all items in the queue have been indexed. - インデックス キューはコンテンツのインデックス設定を管理します。コンテンツは、次の初期化によって、または構成設定に基づいて新規コンテンツが作成された時に、インデックス キューに追加されます。インデックス キュー内の項目は、キュー内の全ての項目がインデックス設定されるまで、最新の変更が最初にインデックス設定されいます。 - - - Reset errors - リセット エラー - - - Indexing Errors - インデックス設定エラー - - - ID - ID - - - Item Type - 項目の種類 - - - Item UID - 項目の UID - - - Show error - - - An error occurred while indexing manual from the backend. - バックエンドから手動でインデックス設定する際にエラーが発生しました。 - - - An error occurred while resetting the error log in the index queue. - インデックス キュー内のエラーログのリセット時にエラーが発生しました: - - - Single item was not requeued. - Single item was not requeued. - - - No indexing configurations selected. - インデックス設定の構成が選択されていません。 - - - - Initialized indexing configurations: %s - インデックス設定の構成が初期化されました: %s - - - Index Queue initialized - インデックス キューが初期化されました - - - Index Queue not initialized - - - All errors have been reset. - 全てのエラーがリセットされました。 - - - Indexing from the backend was successfully finished. - バックエンドからのインデックス設定が完了しました。 - - - Single item was successfully marked for reindexing. - Single item was successfully marked for reindexing. - - - Index Queue - インデックス キュー - - - Manual Indexing - 手動インデックス設定 - - - Initializing the Index Queue is the most complete way to force re-indexing, or to build the Index Queue for the first time. The Index Queue Worker scheduler task will then index the items listed in the Index Queue. - インデックス キューの初期化は、インデックスの強制再設定時やインデックス キューの初回構築時の最も完全な方法です。その後、Index Queue Worker スケジューラーのタスクによりインデックス キューのリスト項目がインデックス設定されます。 - - - Errors - エラー - - - Indexing Progress - インデックス設定の進捗状況 - - - Indexed - インデックス設定済み - - - Pending - 保留中 - - - Index Queue Initialization - インデックス キューの初期化 - - - Index Queue Status - インデックス キューの状態 - - - Clear Index Queue - インデックス キューのクリア - - - Go back - 戻る - - - No valid queue item passed to show the error information! - エラー情報を表示する有効なキュー項目はありませんでした。 - - - Error details for queue item - キュー項目のエラーの詳細 - - - Index now - 今すぐインデックス設定 - - - - - Search: Frequent Searches - 検索: 頻度の高い検索 - - - Search: Form, Result, Additional Components - 検索: フォーム、結果、追加コンポーネント - - - Search: Form only - 検索: フォームのみ - - - - Phrase - フレーズ - - - Number of Queries - 質問件数 - - - Number of Results (Average) - 結果件数 (平均) - - - Percentage - 割合 - - - No records found. Did you enabled 'plugin.tx_solr.statistics = 1' in the typoscript configuration of your site? - レコードが見つかりません。サイトのタイポスクリプト構成設定で「plugin.tx_solr.statistics = 1」を有効化しましたか? - - - Top 5 Search Phrases - トップ 5 検索フレーズ - - - Top 5 Search Phrases Without Hits - 該当の無いトップ 5 検索フレーズ - - - Search Phrase Statistics - 検索フレーズ統計情報 - - - + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
diff --git a/Resources/Private/Language/ja.locallang_be.xlf b/Resources/Private/Language/ja.locallang_be.xlf new file mode 100644 index 000000000..0704e6de6 --- /dev/null +++ b/Resources/Private/Language/ja.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/ja.locallang_csh_pages.xlf b/Resources/Private/Language/ja.locallang_csh_pages.xlf new file mode 100644 index 000000000..6324d4398 --- /dev/null +++ b/Resources/Private/Language/ja.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/ja.locallang_mod.xlf b/Resources/Private/Language/ja.locallang_mod.xlf new file mode 100644 index 000000000..4b474d3c9 --- /dev/null +++ b/Resources/Private/Language/ja.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ja.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/ja.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..4b474d3c9 --- /dev/null +++ b/Resources/Private/Language/ja.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ja.locallang_mod_indexadmin.xlf b/Resources/Private/Language/ja.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..4b474d3c9 --- /dev/null +++ b/Resources/Private/Language/ja.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ja.locallang_mod_indexqueue.xlf b/Resources/Private/Language/ja.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..4b474d3c9 --- /dev/null +++ b/Resources/Private/Language/ja.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ja.locallang_mod_info.xlf b/Resources/Private/Language/ja.locallang_mod_info.xlf new file mode 100644 index 000000000..4b474d3c9 --- /dev/null +++ b/Resources/Private/Language/ja.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ja.locallang_tca.xlf b/Resources/Private/Language/ja.locallang_tca.xlf new file mode 100644 index 000000000..99eab3924 --- /dev/null +++ b/Resources/Private/Language/ja.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/ko.locallang.xlf b/Resources/Private/Language/ko.locallang.xlf index 5b6a167c3..8a55cc393 100644 --- a/Resources/Private/Language/ko.locallang.xlf +++ b/Resources/Private/Language/ko.locallang.xlf @@ -1,456 +1,23 @@ - - - -
- - - - - The Index Administration Module is responsible for emptying the cores(deleting documents) on Solr Server and index queues in TYPO3 CMS. - Index Administration Module은 Solr Server 상의 코어 (문서 삭제)와 TYPO3 CMS 내 인덱스 대기열을 비우는 일을 담당합니다. - - - - Index emptied for Site "%s" (%s). - 사이트 "%s" (%s)용으로 비워진 인덱스. - - - - Index Queue emptied for Site "%s". - 사이트 "%s"용으로 비워진 인덱스 대기열. - - - - An error occurred while trying to delete documents from the index: %s - 인덱스에서 문서를 삭제하는 중에 오류가 발생했습니다. %s - - - - - - - Search Index Inspector - Search Index Inspector - - - Search - 검색 - - - A search form and results list. - 검색 양식과 결과 리스트. - - - - - - Successfully switched to Site "%s". - 성공적으로 “%s” 사이트로 전환했습니다. - - - - The previously selected Site "%s" does not exist or the indexing for that Site was disabled. Switched to "%s", which was the first available one. - 선택하신 “%s” 사이트가 존재하지 않거나 사이트의 인덱스가 비활성화 되었습니다. 첫 번째 사용 가능 사이트였던 "%s"로 전환했습니다. - - - - Couldn't switch to the Site "%s". This site does not exist anymore or the indexing for that Site was disabled. Switched to the first available Site "%s". - ”%s” 사이트로 전환 할 수 없습니다. 사이트가 존재하지 않거나 사이트의 인덱스가 비활성화 되었습니다. 첫 번째 사용 가능 사이트 "%s"로 했습니다. - - - - - The previously selected core "%s" is not available in "%s" site, therefore switched to default core "%s". - 이전에 선택된 코어 “%s”을(를) “%s” 사이트에서 이용할 수 없기 때문에 기본 코어 “%s”로 전환 되었습니다. - - - - Successfully switched to core "%s". - 성공적으로 “%s” 코어로 전환했습니다. - - - - - - Apache Solr Search Administration - Apache Solr 검색 관리 - - - Allows you to manage Apache Solr from TYPO3.<br /><em>Access for 'admin' users only!</em> - TYPO3에서 Apache Solr를 관리하도록 허용합니다.<br /><em>'admin' 사용자 전용 액세스!</em> - - - Search - 검색 - - - - - Apache Solr Index - Apache Solr Index - - - View the number of documents and fields in your index - 인덱스의 문서 수와 필드 보기 - - - Apache Solr Statistics - Apache Solr 통계 - - - Provides several Solr usage statistics - 여러 Solr 이용 통계 제공 - - - - - Force Re-Indexing of a site - 사이트 강제 리인덱싱(Force Re-Indexing) - - - Purges the Solr Index and initializes the Index Queue of a site. - Solr Index를 제거하고 사이트의 인덱스 대기열 초기화. - - - Index Queue Worker - 인덱스 대기열 작업자 - - - Processes the items in the Index Queue and sends them to Solr. - 인덱스 대기열내 아이템을 처리하여 Solr로 전송. - - - Number of documents to index - 인덱스할 문서 개수 - - - Forced webroot (only needed when webroot is not PATH_site) - 강제 webroot (webroot가 PATH_site가 아닐 때만 필요) - - - Solr Host - Solr Host - - - Solr Port - Solr Port - - - Solr Path - Solr Path - - - Solr Server - Solr Server - - - Site - Site - - - - - Search is currently not available. - 지금 검색할 수 없습니다. - - - We're sorry. The request you tried to make could not be processed. - 죄송합니다. 요청한 것을 처리할 수 없습니다. - - - Search Term - 검색어 - - - Did you mean - 로 검색하겠습니까? - - - Search - 검색 - - - Sort by - 분류 - - - Narrow Search - 상세 검색 - - - Search narrowed by - 상세 검색 결과 - - - Show more - 더 많이 보이기 - - - Show fewer - 더 적게 보이기 - - - Remove all filters - 모든 필터 제거 - - - Filter - Filter - - - Displaying results @resultsFrom to @resultsTo of @resultsTotal. - @resultsTotal의 @resultsFrom에서 @resultsTo까지의 결과. - - - Found @resultsTotal results in @resultsTime milliseconds. - @resultsTime 1,000분의 1초 동안에 @resultsTotal 검색 결과 - - - Found 1 results in @resultsTime milliseconds. - @resultsTime 1,000분의 1초 동안에 1 검색 결과 - - - Searched for "@searchWord". - "@searchWord"에 대한 검색내용. - - - Nothing found for "@searchWord". - "@searchWord"에 대한 검색내용 없음. - - - Showing results for "@suggestedWord". - “@suggestedWord”의 검색 결과 - - - Search instead for "@searchWord". - “@searchWord” 대신 검색. - - - Last searches - 이전 검색 - - - Frequent searches - 일반 검색 - - - Relevance - 적합성 - - - - File type - 파일 유형 - - - Referenced at - 에서 참조 - - - Results per page: - 페이지 당 결과: - - - We're sorry, there were some errors: - 죄송합니다, 오류가 있습니다: - - - Please enter your search term in the box above. - 위 박스에 검색 용어를 입력해 주세요. - - - First - 처음 - - - Previous - 이전 - - - Next - 다음 - - - Last - 마지막 - - - - - The Index Queue manages content indexing. Content enters the Index Queue by initialization below or when new content is created based on configuration. Items in the Index Queue are indexed newest changes first until all items in the queue have been indexed. - 인덱스 대기열은 콘텐츠 인덱싱을 관리합니다. 콘텐츠는 아래의 초기 설정에 따르거나 새 콘텐츠가 구성에 따라서 생성되면 인덱스 대기열에 추가됩니다. 인덱스 대기열 내 아이템은 그 대기줄에 있는 모든 아이템이 인덱스될 때까지 먼저 최신 변경사항으로 인덱스됩니다. - - - Reset errors - 오류 재설정 - - - Indexing Errors - 인덱싱 오류 - - - ID - ID - - - Item Type - Item Type - - - Item UID - Item UID - - - Show error - 오류 표시 - - - An error occurred while indexing manual from the backend. - 백엔드에서 매뉴얼 인덱싱 중 오류가 발생했습니다. - - - An error occurred while resetting the error log in the index queue. - 인덱스 대기열의 오류 로그를 재설정하는 동안 오류가 발생했습니다. - - - Single item was not requeued. - Single item was not requeued. - - - No indexing configurations selected. - 인덱스 구성이 선택되지 않았습니다. - - - - Initialized indexing configurations: %s - 초기화된 인덱싱 구성: %s - - - Index Queue initialized - 인덱스 대기열 초기화됨 - - - Index Queue not initialized - 인덱스 대기열 초기화되지 않음 - - - All errors have been reset. - 모든 오류가 재설정되었습니다. - - - Indexing from the backend was successfully finished. - 백엔드로부터의 인덱싱이 성공적으로 끝났습니다. - - - Single item was successfully marked for reindexing. - Single item was successfully marked for reindexing. - - - Index Queue - 인덱스 대기열 - - - Manual Indexing - 매뉴얼 인덱싱 - - - Initializing the Index Queue is the most complete way to force re-indexing, or to build the Index Queue for the first time. The Index Queue Worker scheduler task will then index the items listed in the Index Queue. - 인덱스 대기열 초기화는 강제 리인덱싱 또는 인덱스 대기열의 최초 구축을 위한 가장 완전한 방법입니다. 인덱스 대기열 작업자 스케줄러 작업은 그 다음 인덱스 대기열 내 나열된 아이템을 인덱스합니다. - - - Errors - 오류 - - - Indexing Progress - Indexing Progress - - - Indexed - 인덱스됨 - - - Pending - 보류 중 - - - Index Queue Initialization - 인덱스 대기열 초기화 - - - Index Queue Status - 인덱스 대기열 상태 - - - Clear Index Queue - 인덱스 대기열 정리 - - - Go back - 뒤로 가기 - - - No valid queue item passed to show the error information! - 오류 정보를 보여주는 통과된 유효한 대기열 없음! - - - Error details for queue item - 대기열 아이템의 오류 세부사항 - - - Index now - Index now - - - - - Search: Frequent Searches - 검색: 자주 하는 검색 - - - Search: Form, Result, Additional Components - 검색: 양식, 결과, 추가 구성 - - - Search: Form only - 검색: 양식만 - - - - Phrase - 구문 - - - Number of Queries - 쿼리 수 - - - Number of Results (Average) - 결과 수 (평균) - - - Percentage - 퍼센트 - - - No records found. Did you enabled 'plugin.tx_solr.statistics = 1' in the typoscript configuration of your site? - 기록이 없습니다. 사이트의 타이포스크립트 구성에서 'plugin.tx_solr.statistics = 1'을 활성화시켰습니까? - - - Top 5 Search Phrases - Top 5 검색 구문 - - - Top 5 Search Phrases Without Hits - Top 5 검색 구문(Hit 없음) - - - Search Phrase Statistics - 검색 구문 통계 - - - + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
diff --git a/Resources/Private/Language/ko.locallang_be.xlf b/Resources/Private/Language/ko.locallang_be.xlf new file mode 100644 index 000000000..d44542f78 --- /dev/null +++ b/Resources/Private/Language/ko.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/ko.locallang_csh_pages.xlf b/Resources/Private/Language/ko.locallang_csh_pages.xlf new file mode 100644 index 000000000..009f8caf2 --- /dev/null +++ b/Resources/Private/Language/ko.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/ko.locallang_mod.xlf b/Resources/Private/Language/ko.locallang_mod.xlf new file mode 100644 index 000000000..757264ea7 --- /dev/null +++ b/Resources/Private/Language/ko.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ko.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/ko.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..757264ea7 --- /dev/null +++ b/Resources/Private/Language/ko.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ko.locallang_mod_indexadmin.xlf b/Resources/Private/Language/ko.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..757264ea7 --- /dev/null +++ b/Resources/Private/Language/ko.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ko.locallang_mod_indexqueue.xlf b/Resources/Private/Language/ko.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..757264ea7 --- /dev/null +++ b/Resources/Private/Language/ko.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ko.locallang_mod_info.xlf b/Resources/Private/Language/ko.locallang_mod_info.xlf new file mode 100644 index 000000000..757264ea7 --- /dev/null +++ b/Resources/Private/Language/ko.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ko.locallang_tca.xlf b/Resources/Private/Language/ko.locallang_tca.xlf new file mode 100644 index 000000000..95d49c7ac --- /dev/null +++ b/Resources/Private/Language/ko.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/nb.locallang.xlf b/Resources/Private/Language/nb.locallang.xlf new file mode 100644 index 000000000..a42e0f937 --- /dev/null +++ b/Resources/Private/Language/nb.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/nb.locallang_be.xlf b/Resources/Private/Language/nb.locallang_be.xlf new file mode 100644 index 000000000..5c5895b29 --- /dev/null +++ b/Resources/Private/Language/nb.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/nb.locallang_csh_pages.xlf b/Resources/Private/Language/nb.locallang_csh_pages.xlf new file mode 100644 index 000000000..c9ddc2937 --- /dev/null +++ b/Resources/Private/Language/nb.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/nb.locallang_mod.xlf b/Resources/Private/Language/nb.locallang_mod.xlf new file mode 100644 index 000000000..d08007e95 --- /dev/null +++ b/Resources/Private/Language/nb.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nb.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/nb.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..d08007e95 --- /dev/null +++ b/Resources/Private/Language/nb.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nb.locallang_mod_indexadmin.xlf b/Resources/Private/Language/nb.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..d08007e95 --- /dev/null +++ b/Resources/Private/Language/nb.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nb.locallang_mod_indexqueue.xlf b/Resources/Private/Language/nb.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..d08007e95 --- /dev/null +++ b/Resources/Private/Language/nb.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nb.locallang_mod_info.xlf b/Resources/Private/Language/nb.locallang_mod_info.xlf new file mode 100644 index 000000000..d08007e95 --- /dev/null +++ b/Resources/Private/Language/nb.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nb.locallang_tca.xlf b/Resources/Private/Language/nb.locallang_tca.xlf new file mode 100644 index 000000000..6ee19cef4 --- /dev/null +++ b/Resources/Private/Language/nb.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/nl.locallang.xlf b/Resources/Private/Language/nl.locallang.xlf index 03ec5c58a..f2f0dc047 100644 --- a/Resources/Private/Language/nl.locallang.xlf +++ b/Resources/Private/Language/nl.locallang.xlf @@ -1,195 +1,131 @@ - + - -
- - - + +
+ LFEditor +
+ + + + + + + + + + + + Force Re-Indexing of a site - Forceer herindexering van een website - - + Forceer herindexering van een website + Purges the Solr Index and initializes the Index Queue of a site. - Leegt de Solr index en initialiseert de Index Wachtrij van een website. - - + Leegt de Solr index en initialiseert de Index Wachtrij van een website. + Index Queue Worker - Index Wachtrij Taak - - + Index Wachtrij Taak + Processes the items in the Index Queue and sends them to Solr. - Verwerkt de documenten in de Index Wachtrij en verstuurt deze naar Solr. - - + Verwerkt de documenten in de Index Wachtrij en verstuurt deze naar Solr. + Number of documents to index - Aantal te indexeren documenten - - - Forced webroot (only needed when webroot is not PATH_site) - Geforceerde webroot (alleen nodig als de webroot anders is dan PATH_site) - - + Aantal te indexeren documenten + Solr Host - Solr host - - + Solr host + Solr Port - Solr poort - - + Solr poort + Solr Path - Solr pad - - + Solr pad + Solr Server - Solr server - - + Solr server + Site - Website - - - - Optimaliseer Solr index - - - - Voert een OPTIMIZE commando uit op de Solr index. Hoort een keer per dag uitgevoerd te worden voor websites met lage activiteit. Website met hoge activiteit kunnen dit vaker uitvoeren. Pas op, deze taak kan een aantal seconden in beslag nemen bij grote indexes. - - - - Commit Solr index - - - - Voert een COMMIT commando uit op de Solr index. Kan tussen de een keer per minuut en ieder uur uitgevoerd worden. Deze taak hoort korter te duren dan het OPTIMIZE commando welke ook een COMMIT uitvoert voor het OPTIMIZE commando. - - - - + Website + + Search is currently not available. - Zoeken is op dit moment niet beschikbaar. - - + Zoeken is op dit moment niet beschikbaar. + We're sorry. The request you tried to make could not be processed. - Het spijt ons. Uw verzoek kon niet worden verwerkt. - - + Het spijt ons. Uw verzoek kon niet worden verwerkt. + Search Term - Zoekwoord - - + Zoekwoord + Did you mean - Bedoelde u - - + Bedoelde u + Search - Zoek - - + Zoek + Sort by - Sorteer op - - + Sorteer op + Narrow Search - Resultaat verfijnen - - + Resultaat verfijnen + Search narrowed by - Resultaat verfijnd op - - + Resultaat verfijnd op + Show more - Toon meer - - + Toon meer + Show fewer - Toon minder - - + Toon minder + Remove all filters - Verwijder alle filters - - + Verwijder alle filters + Displaying results @resultsFrom to @resultsTo of @resultsTotal. - Resultaat @resultsFrom tot @resultsTo van @resultsTotal. - - + Resultaat @resultsFrom tot @resultsTo van @resultsTotal. + Found @resultsTotal results in @resultsTime milliseconds. - Gevonden: @resultsTotal resultaten in @resultsTime milliseconden. - - - Found 1 results in @resultsTime milliseconds. - Gevonden: 1 resultaten in @resultsTime milliseconden. - - + Gevonden: @resultsTotal resultaten in @resultsTime milliseconden. + + Found 1 result in @resultsTime milliseconds. + Gevonden: 1 resultaten in @resultsTime milliseconden. + Searched for "@searchWord". - Gezocht naar "@searchWord". - - + Gezocht naar "@searchWord". + Nothing found for "@searchWord". - Niets gevonden voor "@searchWord". - - -^ Showing results for "@suggestedWord". - - - - Search instead for "@searchWord". - - - + Niets gevonden voor "@searchWord". + Last searches - Laatste zoekopdrachten - - + Laatste zoekopdrachten + Frequent searches - Vaak gezocht - - + Vaak gezocht + Relevance - Relevantie - - - + Relevantie + File type - Bestandstype - - + Bestandstype + Referenced at - Geplaatst op - - + Geplaatst op + Results per page: - Resultaten per pagina: - - - We're sorry, there were some errors: - - - - Please enter your search term in the box above. - - - + Resultaten per pagina: + First - Eerste - - + Eerste + Previous - Vorige - - + Vorige + Next - Volgende - - + Volgende + Last - Laatste - - -
- \ No newline at end of file + Laatste
+ + + + + diff --git a/Resources/Private/Language/nl.locallang_be.xlf b/Resources/Private/Language/nl.locallang_be.xlf new file mode 100644 index 000000000..afafd933f --- /dev/null +++ b/Resources/Private/Language/nl.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/nl.locallang_csh_pages.xlf b/Resources/Private/Language/nl.locallang_csh_pages.xlf new file mode 100644 index 000000000..418d6813c --- /dev/null +++ b/Resources/Private/Language/nl.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/nl.locallang_mod.xlf b/Resources/Private/Language/nl.locallang_mod.xlf new file mode 100644 index 000000000..f05d19ae1 --- /dev/null +++ b/Resources/Private/Language/nl.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nl.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/nl.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..f05d19ae1 --- /dev/null +++ b/Resources/Private/Language/nl.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nl.locallang_mod_indexadmin.xlf b/Resources/Private/Language/nl.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..f05d19ae1 --- /dev/null +++ b/Resources/Private/Language/nl.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nl.locallang_mod_indexqueue.xlf b/Resources/Private/Language/nl.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..f05d19ae1 --- /dev/null +++ b/Resources/Private/Language/nl.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nl.locallang_mod_info.xlf b/Resources/Private/Language/nl.locallang_mod_info.xlf new file mode 100644 index 000000000..f05d19ae1 --- /dev/null +++ b/Resources/Private/Language/nl.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/nl.locallang_tca.xlf b/Resources/Private/Language/nl.locallang_tca.xlf new file mode 100644 index 000000000..da36218ff --- /dev/null +++ b/Resources/Private/Language/nl.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/no.locallang.xlf b/Resources/Private/Language/no.locallang.xlf new file mode 100644 index 000000000..ca3112967 --- /dev/null +++ b/Resources/Private/Language/no.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/no.locallang_be.xlf b/Resources/Private/Language/no.locallang_be.xlf new file mode 100644 index 000000000..1dfa374b1 --- /dev/null +++ b/Resources/Private/Language/no.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/no.locallang_csh_pages.xlf b/Resources/Private/Language/no.locallang_csh_pages.xlf new file mode 100644 index 000000000..bd6b60907 --- /dev/null +++ b/Resources/Private/Language/no.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/no.locallang_mod.xlf b/Resources/Private/Language/no.locallang_mod.xlf new file mode 100644 index 000000000..32c7bb57e --- /dev/null +++ b/Resources/Private/Language/no.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/no.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/no.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..32c7bb57e --- /dev/null +++ b/Resources/Private/Language/no.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/no.locallang_mod_indexadmin.xlf b/Resources/Private/Language/no.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..32c7bb57e --- /dev/null +++ b/Resources/Private/Language/no.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/no.locallang_mod_indexqueue.xlf b/Resources/Private/Language/no.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..32c7bb57e --- /dev/null +++ b/Resources/Private/Language/no.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/no.locallang_mod_info.xlf b/Resources/Private/Language/no.locallang_mod_info.xlf new file mode 100644 index 000000000..32c7bb57e --- /dev/null +++ b/Resources/Private/Language/no.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/no.locallang_tca.xlf b/Resources/Private/Language/no.locallang_tca.xlf new file mode 100644 index 000000000..e59bd65c4 --- /dev/null +++ b/Resources/Private/Language/no.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/pl.locallang.xlf b/Resources/Private/Language/pl.locallang.xlf index 2e0e9fca6..57eb72cc5 100644 --- a/Resources/Private/Language/pl.locallang.xlf +++ b/Resources/Private/Language/pl.locallang.xlf @@ -1,133 +1,95 @@ - + - -
- - - + +
+ LFEditor +
+ + + + + + + + + + + + + Search is currently not available. - Wyszukiwarka nie jest w tej chwili dostępna. - - + Wyszukiwarka nie jest w tej chwili dostępna. + We're sorry. The request you tried to make could not be processed. - Przykro nam bardzo, ale Twoje wyszukiwanie nie może zostać zrealizowane. - - + Przykro nam bardzo, ale Twoje wyszukiwanie nie może zostać zrealizowane. + Search Term - Wyszukiwana treść - - + Wyszukiwana treść + Did you mean - Czy masz na myśli - - + Czy masz na myśli + Search - Szukaj - - + Szukaj + Sort by - Sortuj wg. - - + Sortuj wg. + Narrow Search - Zawęź wyniki - - + Zawęź wyniki + Search narrowed by - Zawężone przez - - + Zawężone przez + Show more - Pokaż więcej - - + Pokaż więcej + Show fewer - Pokaż mniej - - + Pokaż mniej + Remove all filters - Usuń wszystkie filtry - - + Usuń wszystkie filtry + Displaying results @resultsFrom to @resultsTo of @resultsTotal. - Pokazuję wyniki od @resultsFrom do @resultsTo z @resultsTotal. - - + Pokazuję wyniki od @resultsFrom do @resultsTo z @resultsTotal. + Found @resultsTotal results in @resultsTime milliseconds. - Rezultatów: @resultsTotal, czas wyszukiwania @resultsTime milisekund. - - - Found 1 results in @resultsTime milliseconds. - Rezultatów: 1, czas wyszukiwania @resultsTime milisekund. - - + Rezultatów: @resultsTotal, czas wyszukiwania @resultsTime milisekund. + + Found 1 result in @resultsTime milliseconds. + Rezultatów: 1, czas wyszukiwania @resultsTime milisekund. + Searched for "@searchWord". - Szukaliśmy "@searchWord". - - + Szukaliśmy "@searchWord". + Nothing found for "@searchWord". - Nie znaleziono "@searchWord". - - - Showing results for "@suggestedWord". - - - - Search instead for "@searchWord". - - - - Last searches - - - - Frequent searches - - - + Nie znaleziono "@searchWord". + Relevance - Waga - - - - File type - - - - Referenced at - - - + Waga + Results per page: - Wyników na stronę: - - + Wyników na stronę: + We're sorry, there were some errors: - Przykro nam, natknęliśmy się na błędy: - - + Przykro nam, natknęliśmy się na błędy: + Please enter your search term in the box above. - Wpisz słowa kluczowe w polu powyżej. - - + Wpisz słowa kluczowe w polu powyżej. + First - Pierwsza - - + Pierwsza + Previous - Poprzednia - - + Poprzednia + Next - Następna - - + Następna + Last - Ostatnia - - -
- \ No newline at end of file + Ostatnia
+ + + + + diff --git a/Resources/Private/Language/pl.locallang_be.xlf b/Resources/Private/Language/pl.locallang_be.xlf new file mode 100644 index 000000000..1373ceafb --- /dev/null +++ b/Resources/Private/Language/pl.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/pl.locallang_csh_pages.xlf b/Resources/Private/Language/pl.locallang_csh_pages.xlf new file mode 100644 index 000000000..0a7159ab9 --- /dev/null +++ b/Resources/Private/Language/pl.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/pl.locallang_mod.xlf b/Resources/Private/Language/pl.locallang_mod.xlf new file mode 100644 index 000000000..c91a7bb98 --- /dev/null +++ b/Resources/Private/Language/pl.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pl.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/pl.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..c91a7bb98 --- /dev/null +++ b/Resources/Private/Language/pl.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pl.locallang_mod_indexadmin.xlf b/Resources/Private/Language/pl.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..c91a7bb98 --- /dev/null +++ b/Resources/Private/Language/pl.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pl.locallang_mod_indexqueue.xlf b/Resources/Private/Language/pl.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..c91a7bb98 --- /dev/null +++ b/Resources/Private/Language/pl.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pl.locallang_mod_info.xlf b/Resources/Private/Language/pl.locallang_mod_info.xlf new file mode 100644 index 000000000..c91a7bb98 --- /dev/null +++ b/Resources/Private/Language/pl.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pl.locallang_tca.xlf b/Resources/Private/Language/pl.locallang_tca.xlf new file mode 100644 index 000000000..00e371a62 --- /dev/null +++ b/Resources/Private/Language/pl.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/pt.locallang.xlf b/Resources/Private/Language/pt.locallang.xlf index bd63cd0fb..549ac47d2 100644 --- a/Resources/Private/Language/pt.locallang.xlf +++ b/Resources/Private/Language/pt.locallang.xlf @@ -1,459 +1,23 @@ - - - -
- - - - - The Index Administration Module is responsible for emptying the cores(deleting documents) on Solr Server and index queues in TYPO3 CMS. - O Index Administration Module é responsável por esvaziar os núcleos (excluir documentos) no servidor Solr e filas de indexação no TYPO3 CMS. - - - - Index emptied for Site "%s" (%s). - Índice esvaziado para o site "%s" (%s). - - - - Index Queue emptied for Site "%s". - Index Queue esvaziada para o site "%s". - - - - An error occurred while trying to delete documents from the index: %s - Ocorreu um erro ao tentar excluir documentos da indexação: %s - - - - - - Search Index Inspector - Search Index Inspector - - - Search - Pesquisa - - - A search form and results list. - Um formulário de pesquisa e lista de resultados. - - - - - - Successfully switched to Site "%s". - Mudança bem-sucedida para o site "%s". - - - - The previously selected Site "%s" does not exist or the indexing for that Site was disabled. Switched to "%s", which was the first available one. - O site "%s" anteriormente selecionado não existe ou a indexação para esse site foi desativada. Mudado para "%s", o primeiro disponível. - - - - Couldn't switch to the Site "%s". This site does not exist anymore or the indexing for that Site was disabled. Switched to the first available Site "%s". - Não foi possível mudar para o site "%s". Esse site já não existe ou a indexação para esse site foi desativada. Mudança realizada para o primeiro site "%s" disponível. - - - - - - The previously selected core "%s" is not available in "%s" site, therefore switched to default core "%s". - O núcleo "%s" anteriormente selecionado não está disponível no site "%s", por isso foi mudado para o núcleo predefinido "%s". - - - - Successfully switched to core "%s". - Mudança bem-sucedida para o núcleo "%s". - - - - - - Apache Solr Search Administration - Apache Solr Search Administration - - - Allows you to manage Apache Solr from TYPO3.<br /><em>Access for 'admin' users only!</em> - Permite gerenciar o Apache Solr a partir do TYPO3.<br /><em>Acesso apenas para usuários "admin"!</em> - - - Search - Pesquisa - - - - - Apache Solr Index - Apache Solr Index - - - View the number of documents and fields in your index - Ver o número de documentos e campos na sua indexação - - - Apache Solr Statistics - Apache Solr Statistics - - - Provides several Solr usage statistics - Fornece várias estatísticas de uso Solr - - - - - Force Re-Indexing of a site - Force Re-Indexing de um site - - - Purges the Solr Index and initializes the Index Queue of a site. - Limpa o Solr Index e inicializa a Index Queue de um site. - - - Index Queue Worker - Index Queue Worker - - - Processes the items in the Index Queue and sends them to Solr. - Processa os itens na Index Queue e os envia para o Solr. - - - Number of documents to index - Número de documentos a indexar - - - Forced webroot (only needed when webroot is not PATH_site) - Webroot forçado (necessário apenas quando o webroot não é PATH_site) - - - Solr Host - Solr Host - - - Solr Port - Solr Port - - - Solr Path - Solr Path - - - Solr Server - Solr Server - - - Site - Site - - - - - Search is currently not available. - A pesquisa não está disponível no momento. - - - We're sorry. The request you tried to make could not be processed. - Lamentamos. Não foi possível processar o pedido que você tentou realizar. - - - Search Term - Search Term - - - Did you mean - Você quis dizer - - - Search - Pesquisa - - - Sort by - Ordenar por - - - Narrow Search - Restringir pesquisa - - - Search narrowed by - Pesquisa restringida por - - - Show more - Mostrar mais - - - Show fewer - Mostrar menos - - - Remove all filters - Remover todos os filtros - - - Filter - Filter - - - Displaying results @resultsFrom to @resultsTo of @resultsTotal. - Exibindo resultados @resultsFrom a @resultsTo de @resultsTotal. - - - Found @resultsTotal results in @resultsTime milliseconds. - Foram encontrados @resultsTotal resultados em @resultsTime milissegundos. - - - Found 1 result in @resultsTime milliseconds. - Found 1 result in @resultsTime milliseconds. - - - Searched for "@searchWord". - Pesquisado "@searchWord". - - - Nothing found for "@searchWord". - Nada foi encontrado para "@searchWord". - - - Showing results for "@suggestedWord". - Exibindo resultados para "@suggestedWord" - - - Search instead for "@searchWord". - Pesquisar "@searchWord" em vez disso. - - - Last searches - Últimas pesquisas - - - Frequent searches - Pesquisas frequentes - - - Relevance - Relevância - - - - File type - Tipo de arquivo - - - Referenced at - Referenciado em - - - Results per page: - Resultados por página: - - - We're sorry, there were some errors: - Lamentamos, ocorreram alguns erros: - - - Please enter your search term in the box above. - Insira o seu termo de pesquisa na caixa acima. - - - First - Primeiro - - - Previous - Próximo - - - Next - Próximo - - - Last - Último - - - Top Results - Top Results - - - - - The Index Queue manages content indexing. Content enters the Index Queue by initialization below or when new content is created based on configuration. Items in the Index Queue are indexed newest changes first until all items in the queue have been indexed. - A Index Queue gere a indexação de conteúdos. O conteúdo entra na Index Queue através da inicialização abaixo ou quando é criado novo conteúdo com base na configuração. Os itens na Index Queue são indexados primeiro com as alterações mais recentes até todos os itens na fila terem sido indexados. - - - Reset errors - Redefinir erros - - - Indexing Errors - Indexing Errors - - - ID - ID - - - Item Type - Item Type - - - Item UID - Item UID - - - Show error - Exibir erro - - - An error occurred while indexing manual from the backend. - Ocorreu um erro ao realizar a indexação manual a partir do back-end. - - - An error occurred while resetting the error log in the index queue. - Ocorreu um erro ao redefinir o log de erros na fila de indexação. - - - Single item was not requeued. - Single item was not requeued. - - - No indexing configurations selected. - Nenhuma configuração de indexação selecionada. - - - - Initialized indexing configurations: %s - Configurações de indexação inicializadas: %s - - - Index Queue initialized - Index Queue inicializada - - - Index Queue not initialized - Index Queue não inicializada - - - All errors have been reset. - Todos os erros foram redefinidos. - - - Indexing from the backend was successfully finished. - A indexação a partir do back-end foi concluída com sucesso. - - - Single item was successfully marked for reindexing. - - - Index Queue - Index Queue - - - Manual Indexing - Manual Indexing - - - Initializing the Index Queue is the most complete way to force re-indexing, or to build the Index Queue for the first time. The Index Queue Worker scheduler task will then index the items listed in the Index Queue. - Inicializar a Index Queue é a forma mais completa de forçar a reindexação ou de criar a Index Queue pela primeira vez. A tarefa de agendador do Index Queue Worker irá então indexar os itens listados na Index Queue. - - - Errors - Erros - - - Indexing Progress - Indexing Progress - - - Indexed - Indexed - - - Pending - Pending - - - Index Queue Initialization - Index Queue Initialization - - - Index Queue Status - Index Queue Status - - - Clear Index Queue - Clear Index Queue - - - Go back - Voltar - - - No valid queue item passed to show the error information! - Nenhum item válido da fila para exibir as informações de erro! - - - Error details for queue item - Detalhes do erro sobre o item da fila - - - Index now - Indexar agora - - - - - Search: Frequent Searches - Pesquisa: Pesquisas frequentes - - - Search: Form, Result, Additional Components - Pesquisa: Forma, Resultado, Componentes adicionais - - - Search: Form only - Pesquisa: Apenas forma - - - - Phrase - Frase - - - Number of Queries - Número de consultas - - - Number of Results (Average) - Número de resultados (média) - - - Percentage - Percentagem - - - No records found. Did you enabled 'plugin.tx_solr.statistics = 1' in the typoscript configuration of your site? - Nenhum registro encontrado. Você ativou "plugin.tx_solr.statistics = 1" na configuração typoscript do seu site? - - - Top 5 Search Phrases - 5 principais frases pesquisadas - - - Top 5 Search Phrases Without Hits - 5 principais frases pesquisadas sem resultados - - - Search Phrase Statistics - Estatísticas de frases pesquisadas - - - + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
diff --git a/Resources/Private/Language/pt.locallang_be.xlf b/Resources/Private/Language/pt.locallang_be.xlf new file mode 100644 index 000000000..3e4c8c0cf --- /dev/null +++ b/Resources/Private/Language/pt.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/pt.locallang_csh_pages.xlf b/Resources/Private/Language/pt.locallang_csh_pages.xlf new file mode 100644 index 000000000..73a6ad0b8 --- /dev/null +++ b/Resources/Private/Language/pt.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/pt.locallang_mod.xlf b/Resources/Private/Language/pt.locallang_mod.xlf new file mode 100644 index 000000000..8bfcfc30d --- /dev/null +++ b/Resources/Private/Language/pt.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pt.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/pt.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..8bfcfc30d --- /dev/null +++ b/Resources/Private/Language/pt.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pt.locallang_mod_indexadmin.xlf b/Resources/Private/Language/pt.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..8bfcfc30d --- /dev/null +++ b/Resources/Private/Language/pt.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pt.locallang_mod_indexqueue.xlf b/Resources/Private/Language/pt.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..8bfcfc30d --- /dev/null +++ b/Resources/Private/Language/pt.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pt.locallang_mod_info.xlf b/Resources/Private/Language/pt.locallang_mod_info.xlf new file mode 100644 index 000000000..8bfcfc30d --- /dev/null +++ b/Resources/Private/Language/pt.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/pt.locallang_tca.xlf b/Resources/Private/Language/pt.locallang_tca.xlf new file mode 100644 index 000000000..eadd1ca32 --- /dev/null +++ b/Resources/Private/Language/pt.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/ro.locallang.xlf b/Resources/Private/Language/ro.locallang.xlf new file mode 100644 index 000000000..4b5e3fe93 --- /dev/null +++ b/Resources/Private/Language/ro.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/ro.locallang_be.xlf b/Resources/Private/Language/ro.locallang_be.xlf new file mode 100644 index 000000000..a67a8818d --- /dev/null +++ b/Resources/Private/Language/ro.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/ro.locallang_csh_pages.xlf b/Resources/Private/Language/ro.locallang_csh_pages.xlf new file mode 100644 index 000000000..869a8ae7d --- /dev/null +++ b/Resources/Private/Language/ro.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/ro.locallang_mod.xlf b/Resources/Private/Language/ro.locallang_mod.xlf new file mode 100644 index 000000000..44a661fcf --- /dev/null +++ b/Resources/Private/Language/ro.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ro.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/ro.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..44a661fcf --- /dev/null +++ b/Resources/Private/Language/ro.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ro.locallang_mod_indexadmin.xlf b/Resources/Private/Language/ro.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..44a661fcf --- /dev/null +++ b/Resources/Private/Language/ro.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ro.locallang_mod_indexqueue.xlf b/Resources/Private/Language/ro.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..44a661fcf --- /dev/null +++ b/Resources/Private/Language/ro.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ro.locallang_mod_info.xlf b/Resources/Private/Language/ro.locallang_mod_info.xlf new file mode 100644 index 000000000..44a661fcf --- /dev/null +++ b/Resources/Private/Language/ro.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ro.locallang_tca.xlf b/Resources/Private/Language/ro.locallang_tca.xlf new file mode 100644 index 000000000..74b937d94 --- /dev/null +++ b/Resources/Private/Language/ro.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/ru.locallang.xlf b/Resources/Private/Language/ru.locallang.xlf new file mode 100644 index 000000000..1db99336d --- /dev/null +++ b/Resources/Private/Language/ru.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/ru.locallang_be.xlf b/Resources/Private/Language/ru.locallang_be.xlf new file mode 100644 index 000000000..2d30bc22e --- /dev/null +++ b/Resources/Private/Language/ru.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/ru.locallang_csh_pages.xlf b/Resources/Private/Language/ru.locallang_csh_pages.xlf new file mode 100644 index 000000000..778936bb7 --- /dev/null +++ b/Resources/Private/Language/ru.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/ru.locallang_mod.xlf b/Resources/Private/Language/ru.locallang_mod.xlf new file mode 100644 index 000000000..5cfb3918c --- /dev/null +++ b/Resources/Private/Language/ru.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ru.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/ru.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..5cfb3918c --- /dev/null +++ b/Resources/Private/Language/ru.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ru.locallang_mod_indexadmin.xlf b/Resources/Private/Language/ru.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..5cfb3918c --- /dev/null +++ b/Resources/Private/Language/ru.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ru.locallang_mod_indexqueue.xlf b/Resources/Private/Language/ru.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..5cfb3918c --- /dev/null +++ b/Resources/Private/Language/ru.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ru.locallang_mod_info.xlf b/Resources/Private/Language/ru.locallang_mod_info.xlf new file mode 100644 index 000000000..5cfb3918c --- /dev/null +++ b/Resources/Private/Language/ru.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/ru.locallang_tca.xlf b/Resources/Private/Language/ru.locallang_tca.xlf new file mode 100644 index 000000000..447454e2f --- /dev/null +++ b/Resources/Private/Language/ru.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/sr.locallang.xlf b/Resources/Private/Language/sr.locallang.xlf new file mode 100644 index 000000000..f8b2e2354 --- /dev/null +++ b/Resources/Private/Language/sr.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/sr.locallang_be.xlf b/Resources/Private/Language/sr.locallang_be.xlf new file mode 100644 index 000000000..ca55de198 --- /dev/null +++ b/Resources/Private/Language/sr.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/sr.locallang_csh_pages.xlf b/Resources/Private/Language/sr.locallang_csh_pages.xlf new file mode 100644 index 000000000..d52976b3c --- /dev/null +++ b/Resources/Private/Language/sr.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/sr.locallang_mod.xlf b/Resources/Private/Language/sr.locallang_mod.xlf new file mode 100644 index 000000000..9609f6a32 --- /dev/null +++ b/Resources/Private/Language/sr.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sr.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/sr.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..9609f6a32 --- /dev/null +++ b/Resources/Private/Language/sr.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sr.locallang_mod_indexadmin.xlf b/Resources/Private/Language/sr.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..9609f6a32 --- /dev/null +++ b/Resources/Private/Language/sr.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sr.locallang_mod_indexqueue.xlf b/Resources/Private/Language/sr.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..9609f6a32 --- /dev/null +++ b/Resources/Private/Language/sr.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sr.locallang_mod_info.xlf b/Resources/Private/Language/sr.locallang_mod_info.xlf new file mode 100644 index 000000000..9609f6a32 --- /dev/null +++ b/Resources/Private/Language/sr.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sr.locallang_tca.xlf b/Resources/Private/Language/sr.locallang_tca.xlf new file mode 100644 index 000000000..9bd03b661 --- /dev/null +++ b/Resources/Private/Language/sr.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/sv.locallang.xlf b/Resources/Private/Language/sv.locallang.xlf new file mode 100644 index 000000000..df0ed86d0 --- /dev/null +++ b/Resources/Private/Language/sv.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/sv.locallang_be.xlf b/Resources/Private/Language/sv.locallang_be.xlf new file mode 100644 index 000000000..e25ac31ec --- /dev/null +++ b/Resources/Private/Language/sv.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/sv.locallang_csh_pages.xlf b/Resources/Private/Language/sv.locallang_csh_pages.xlf new file mode 100644 index 000000000..e0a74123b --- /dev/null +++ b/Resources/Private/Language/sv.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/sv.locallang_mod.xlf b/Resources/Private/Language/sv.locallang_mod.xlf new file mode 100644 index 000000000..1805e51f6 --- /dev/null +++ b/Resources/Private/Language/sv.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sv.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/sv.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..1805e51f6 --- /dev/null +++ b/Resources/Private/Language/sv.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sv.locallang_mod_indexadmin.xlf b/Resources/Private/Language/sv.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..1805e51f6 --- /dev/null +++ b/Resources/Private/Language/sv.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sv.locallang_mod_indexqueue.xlf b/Resources/Private/Language/sv.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..1805e51f6 --- /dev/null +++ b/Resources/Private/Language/sv.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sv.locallang_mod_info.xlf b/Resources/Private/Language/sv.locallang_mod_info.xlf new file mode 100644 index 000000000..1805e51f6 --- /dev/null +++ b/Resources/Private/Language/sv.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/sv.locallang_tca.xlf b/Resources/Private/Language/sv.locallang_tca.xlf new file mode 100644 index 000000000..78dcb8b80 --- /dev/null +++ b/Resources/Private/Language/sv.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/tr.locallang.xlf b/Resources/Private/Language/tr.locallang.xlf new file mode 100644 index 000000000..91884043b --- /dev/null +++ b/Resources/Private/Language/tr.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/tr.locallang_be.xlf b/Resources/Private/Language/tr.locallang_be.xlf new file mode 100644 index 000000000..f21a29817 --- /dev/null +++ b/Resources/Private/Language/tr.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/tr.locallang_csh_pages.xlf b/Resources/Private/Language/tr.locallang_csh_pages.xlf new file mode 100644 index 000000000..5aa6f3021 --- /dev/null +++ b/Resources/Private/Language/tr.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/tr.locallang_mod.xlf b/Resources/Private/Language/tr.locallang_mod.xlf new file mode 100644 index 000000000..f9312966b --- /dev/null +++ b/Resources/Private/Language/tr.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/tr.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/tr.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..f9312966b --- /dev/null +++ b/Resources/Private/Language/tr.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/tr.locallang_mod_indexadmin.xlf b/Resources/Private/Language/tr.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..f9312966b --- /dev/null +++ b/Resources/Private/Language/tr.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/tr.locallang_mod_indexqueue.xlf b/Resources/Private/Language/tr.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..f9312966b --- /dev/null +++ b/Resources/Private/Language/tr.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/tr.locallang_mod_info.xlf b/Resources/Private/Language/tr.locallang_mod_info.xlf new file mode 100644 index 000000000..f9312966b --- /dev/null +++ b/Resources/Private/Language/tr.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/tr.locallang_tca.xlf b/Resources/Private/Language/tr.locallang_tca.xlf new file mode 100644 index 000000000..072e1e32d --- /dev/null +++ b/Resources/Private/Language/tr.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/uk.locallang.xlf b/Resources/Private/Language/uk.locallang.xlf new file mode 100644 index 000000000..43f3b0f5b --- /dev/null +++ b/Resources/Private/Language/uk.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/uk.locallang_be.xlf b/Resources/Private/Language/uk.locallang_be.xlf new file mode 100644 index 000000000..ba5a5c9a4 --- /dev/null +++ b/Resources/Private/Language/uk.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/uk.locallang_csh_pages.xlf b/Resources/Private/Language/uk.locallang_csh_pages.xlf new file mode 100644 index 000000000..d27ce985c --- /dev/null +++ b/Resources/Private/Language/uk.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/uk.locallang_mod.xlf b/Resources/Private/Language/uk.locallang_mod.xlf new file mode 100644 index 000000000..a812f2e97 --- /dev/null +++ b/Resources/Private/Language/uk.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/uk.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/uk.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..a812f2e97 --- /dev/null +++ b/Resources/Private/Language/uk.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/uk.locallang_mod_indexadmin.xlf b/Resources/Private/Language/uk.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..a812f2e97 --- /dev/null +++ b/Resources/Private/Language/uk.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/uk.locallang_mod_indexqueue.xlf b/Resources/Private/Language/uk.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..a812f2e97 --- /dev/null +++ b/Resources/Private/Language/uk.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/uk.locallang_mod_info.xlf b/Resources/Private/Language/uk.locallang_mod_info.xlf new file mode 100644 index 000000000..a812f2e97 --- /dev/null +++ b/Resources/Private/Language/uk.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/uk.locallang_tca.xlf b/Resources/Private/Language/uk.locallang_tca.xlf new file mode 100644 index 000000000..1a8fafa2f --- /dev/null +++ b/Resources/Private/Language/uk.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/vi.locallang.xlf b/Resources/Private/Language/vi.locallang.xlf new file mode 100644 index 000000000..928806015 --- /dev/null +++ b/Resources/Private/Language/vi.locallang.xlf @@ -0,0 +1,23 @@ + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/vi.locallang_be.xlf b/Resources/Private/Language/vi.locallang_be.xlf new file mode 100644 index 000000000..14af8eb8a --- /dev/null +++ b/Resources/Private/Language/vi.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/vi.locallang_csh_pages.xlf b/Resources/Private/Language/vi.locallang_csh_pages.xlf new file mode 100644 index 000000000..3f6c30e40 --- /dev/null +++ b/Resources/Private/Language/vi.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/vi.locallang_mod.xlf b/Resources/Private/Language/vi.locallang_mod.xlf new file mode 100644 index 000000000..64894edec --- /dev/null +++ b/Resources/Private/Language/vi.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/vi.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/vi.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..64894edec --- /dev/null +++ b/Resources/Private/Language/vi.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/vi.locallang_mod_indexadmin.xlf b/Resources/Private/Language/vi.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..64894edec --- /dev/null +++ b/Resources/Private/Language/vi.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/vi.locallang_mod_indexqueue.xlf b/Resources/Private/Language/vi.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..64894edec --- /dev/null +++ b/Resources/Private/Language/vi.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/vi.locallang_mod_info.xlf b/Resources/Private/Language/vi.locallang_mod_info.xlf new file mode 100644 index 000000000..64894edec --- /dev/null +++ b/Resources/Private/Language/vi.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/vi.locallang_tca.xlf b/Resources/Private/Language/vi.locallang_tca.xlf new file mode 100644 index 000000000..47b0aba6d --- /dev/null +++ b/Resources/Private/Language/vi.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Language/zh.locallang.xlf b/Resources/Private/Language/zh.locallang.xlf index 261a23094..ac2015908 100644 --- a/Resources/Private/Language/zh.locallang.xlf +++ b/Resources/Private/Language/zh.locallang.xlf @@ -1,137 +1,23 @@ - - - -
- - - - Search is currently not available. - 搜索功能目前不可用。 - - - We're sorry. The request you tried to make could not be processed. - 非常抱歉。您尝试的操作请求无法执行。 - - - Search Term - 搜索术语 - - - Did you mean - 您想要 - - - Search - 搜索 - - - Sort by - 排序依据 - - - Narrow Search - 缩小搜索范围 - - - Search narrowed by - 缩小搜索范围根据 - - - Show more - 显示更多 - - - Show fewer - 显示更少 - - - Remove all filters - 删除所有过滤器 - - - Filter - Filter - - - Displaying results @resultsFrom to @resultsTo of @resultsTotal. - 显示搜索结果中的第 @resultsFrom 条到第 @resultsTo 条 (共 @resultsTotal 条)。 - - - Found @resultsTotal results in @resultsTime milliseconds. - 找到相关结果共 @resultsTotal 条,用时 @resultsTime 毫秒。 - - - Found 1 result in @resultsTime milliseconds. - 找到相关结果共 1 条,用时 @resultsTime 毫秒。 - - - Searched for "@searchWord". - 搜索"@searchWord" - - - Nothing found for "@searchWord". - 没有找到任何关于"@searchWord" - - - Showing results for "@suggestedWord". - Showing results for "@suggestedWord". - - - Search instead for "@searchWord". - - - - Last searches - 上次搜索 - - - Frequent searches - 常见搜索 - - - Relevance - 关联内容 - - - - File type - 文件类型 - - - Referenced at - 参考地址 - - - Results per page: - 每页的结果: - - - We're sorry, there were some errors: - We're sorry, there were some errors: - - - Please enter your search term in the box above. - Please enter your search term in the box above. - - - First - First - - - Previous - Previous - - - Next - Next - - - Last - Last - - - - \ No newline at end of file + + + +
+ LFEditor +
+ + + + + + + + + + + + + + + +
+
diff --git a/Resources/Private/Language/zh.locallang_be.xlf b/Resources/Private/Language/zh.locallang_be.xlf new file mode 100644 index 000000000..d360cef1c --- /dev/null +++ b/Resources/Private/Language/zh.locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ + + + + + + + + + + + + diff --git a/Resources/Private/Language/zh.locallang_csh_pages.xlf b/Resources/Private/Language/zh.locallang_csh_pages.xlf new file mode 100644 index 000000000..5baf26bf7 --- /dev/null +++ b/Resources/Private/Language/zh.locallang_csh_pages.xlf @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/Resources/Private/Language/zh.locallang_mod.xlf b/Resources/Private/Language/zh.locallang_mod.xlf new file mode 100644 index 000000000..b4321fdab --- /dev/null +++ b/Resources/Private/Language/zh.locallang_mod.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/zh.locallang_mod_coreoptimize.xlf b/Resources/Private/Language/zh.locallang_mod_coreoptimize.xlf new file mode 100644 index 000000000..b4321fdab --- /dev/null +++ b/Resources/Private/Language/zh.locallang_mod_coreoptimize.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/zh.locallang_mod_indexadmin.xlf b/Resources/Private/Language/zh.locallang_mod_indexadmin.xlf new file mode 100644 index 000000000..b4321fdab --- /dev/null +++ b/Resources/Private/Language/zh.locallang_mod_indexadmin.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/zh.locallang_mod_indexqueue.xlf b/Resources/Private/Language/zh.locallang_mod_indexqueue.xlf new file mode 100644 index 000000000..b4321fdab --- /dev/null +++ b/Resources/Private/Language/zh.locallang_mod_indexqueue.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/zh.locallang_mod_info.xlf b/Resources/Private/Language/zh.locallang_mod_info.xlf new file mode 100644 index 000000000..b4321fdab --- /dev/null +++ b/Resources/Private/Language/zh.locallang_mod_info.xlf @@ -0,0 +1,11 @@ + + + +
+ + + + + + + diff --git a/Resources/Private/Language/zh.locallang_tca.xlf b/Resources/Private/Language/zh.locallang_tca.xlf new file mode 100644 index 000000000..e279b6e9d --- /dev/null +++ b/Resources/Private/Language/zh.locallang_tca.xlf @@ -0,0 +1,13 @@ + + + +
+ LFEditor +
+ + + + + +
+
diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ar.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ar.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ar.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ar.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_bg.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_bg.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_bg.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_bg.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ca.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ca.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ca.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ca.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_cs.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_cs.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_cs.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_cs.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_da.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_da.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_da.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_da.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_de.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_de.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_de.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_de.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_el.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_el.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_el.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_el.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_en.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_en.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_en.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_en.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_es.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_es.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_es.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_es.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_eu.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_eu.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_eu.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_eu.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_fa.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_fa.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_fa.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_fa.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_fi.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_fi.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_fi.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_fi.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_fr.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_fr.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_fr.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_fr.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_generic.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_generic.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_generic.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_generic.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_gl.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_gl.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_gl.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_gl.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_hi.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_hi.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_hi.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_hi.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_hu.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_hu.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_hu.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_hu.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_hy.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_hy.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_hy.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_hy.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_id.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_id.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_id.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_id.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ie.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ie.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ie.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ie.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_it.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_it.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_it.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_it.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ja.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ja.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ja.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ja.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_km.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_km.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_km.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_km.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ko.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ko.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ko.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ko.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_lo.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_lo.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_lo.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_lo.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_lv.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_lv.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_lv.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_lv.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_my.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_my.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_my.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_my.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_nl.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_nl.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_nl.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_nl.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_no.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_no.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_no.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_no.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_pl.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_pl.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_pl.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_pl.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_pt.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_pt.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_pt.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_pt.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ptbr.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ptbr.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ptbr.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ptbr.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ro.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ro.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ro.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ro.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_rs.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_rs.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_rs.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_rs.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ru.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ru.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_ru.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_ru.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_sv.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_sv.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_sv.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_sv.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_th.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_th.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_th.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_th.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_tr.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_tr.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_tr.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_tr.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_uk.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_uk.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_uk.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_uk.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_zh.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_zh.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_stopwords_core_zh.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_stopwords_core_zh.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ar.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ar.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ar.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ar.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_bg.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_bg.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_bg.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_bg.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ca.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ca.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ca.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ca.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_cs.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_cs.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_cs.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_cs.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_da.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_da.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_da.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_da.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_de.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_de.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_de.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_de.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_el.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_el.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_el.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_el.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_en.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_en.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_en.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_en.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_es.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_es.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_es.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_es.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_eu.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_eu.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_eu.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_eu.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_fa.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_fa.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_fa.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_fa.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_fi.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_fi.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_fi.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_fi.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_fr.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_fr.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_fr.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_fr.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_generic.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_generic.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_generic.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_generic.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_gl.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_gl.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_gl.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_gl.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_hi.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_hi.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_hi.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_hi.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_hu.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_hu.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_hu.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_hu.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_hy.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_hy.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_hy.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_hy.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_id.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_id.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_id.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_id.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ie.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ie.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ie.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ie.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_it.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_it.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_it.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_it.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ja.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ja.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ja.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ja.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_km.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_km.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_km.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_km.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ko.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ko.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ko.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ko.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_lo.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_lo.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_lo.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_lo.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_lv.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_lv.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_lv.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_lv.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_my.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_my.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_my.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_my.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_nl.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_nl.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_nl.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_nl.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_no.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_no.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_no.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_no.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_pl.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_pl.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_pl.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_pl.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_pt.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_pt.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_pt.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_pt.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ptbr.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ptbr.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ptbr.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ptbr.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ro.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ro.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ro.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ro.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_rs.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_rs.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_rs.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_rs.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ru.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ru.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_ru.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_ru.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_sv.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_sv.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_sv.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_sv.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_th.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_th.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_th.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_th.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_tr.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_tr.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_tr.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_tr.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_uk.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_uk.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_uk.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_uk.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_zh.json b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_zh.json similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/_schema_analysis_synonyms_core_zh.json rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/_schema_analysis_synonyms_core_zh.json diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/admin-extra.html b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/admin-extra.html similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/admin-extra.html rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/admin-extra.html diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/arabic/protwords.txt b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/arabic/protwords.txt similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/arabic/protwords.txt rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/arabic/protwords.txt diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/arabic/schema.xml b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/arabic/schema.xml similarity index 99% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/arabic/schema.xml rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/arabic/schema.xml index 500f2a607..14f59e52a 100644 --- a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/arabic/schema.xml +++ b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/arabic/schema.xml @@ -10,7 +10,7 @@ status report - tx_solr_report_SchemaStatus - checking against this name property, that status check must be updated as well. --> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + class="solr.NRTCachingDirectoryFactory"/> @@ -97,19 +89,19 @@ 1024 + autowarmCount="128"/> + autowarmCount="128"/> @@ -140,8 +132,7 @@ - - + @@ -164,6 +155,7 @@ 3 true true + original content 200 @@ -268,14 +260,6 @@ - - @@ -309,29 +293,29 @@ - explicit - true + explicit + true @@ -363,7 +347,6 @@ - - - + 5 diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/spanish/protwords.txt b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/spanish/protwords.txt similarity index 100% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/spanish/protwords.txt rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/spanish/protwords.txt diff --git a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/spanish/schema.xml b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/spanish/schema.xml similarity index 99% rename from Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/spanish/schema.xml rename to Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/spanish/schema.xml index de4b1f424..c12791823 100644 --- a/Resources/Private/Solr/configsets/ext_solr_11_5_0/conf/spanish/schema.xml +++ b/Resources/Private/Solr/configsets/ext_solr_11_6_0/conf/spanish/schema.xml @@ -10,7 +10,7 @@ status report - tx_solr_report_SchemaStatus - checking against this name property, that status check must be updated as well. --> - + - + - + - + - +