{"record":{"id":"a7076b2b69d5db6b","repo":"nextcloud/all-in-one","slug":"the-entered-dictionaries-do-not-seem-to-be-a-valid","errorCode":null,"errorMessage":"The entered dictionaries do not seem to be a valid!","messagePattern":"The entered dictionaries do not seem to be a valid!","errorType":"validation","errorClass":"InvalidSettingConfigurationException","httpStatus":422,"severity":"warning","filePath":"php/src/Data/ConfigurationManager.php","lineNumber":1069,"sourceCode":"\n    public function getNextcloudStartupApps() : string {\n        $apps = getenv('NEXTCLOUD_STARTUP_APPS');\n        if (is_string($apps)) {\n            return trim($apps);\n        }\n        return 'deck twofactor_totp tasks calendar contacts notes';\n    }\n\n    /**\n     * @throws InvalidSettingConfigurationException\n     */\n    private function validateCollaboraDictionaries(string $CollaboraDictionaries) : void {\n        if ($CollaboraDictionaries === \"\") {\n            throw new InvalidSettingConfigurationException(\"The dictionaries must not be empty!\");\n        }\n\n        if (!preg_match(\"#^[a-zA-Z_ ]+$#\", $CollaboraDictionaries)) {\n            throw new InvalidSettingConfigurationException(\"The entered dictionaries do not seem to be a valid!\");\n        }\n    }\n\n    /**\n     * Provide an extra method since the corresponding attribute setter prevents setting an empty value.\n     */\n    public function deleteCollaboraDictionaries() : void {\n        $this->set('collabora_dictionaries', '');\n    }\n\n    /**\n     * @throws InvalidSettingConfigurationException\n     */\n    private function validateCollaboraAdditionalOptions(string $additionalCollaboraOptions) : void {\n        if ($additionalCollaboraOptions === \"\") {\n            throw new InvalidSettingConfigurationException(\"The additional options must not be empty!\");\n        }\n","sourceCodeStart":1051,"sourceCodeEnd":1087,"githubUrl":"https://github.com/nextcloud/all-in-one/blob/6b788eec5e61733cf03ed380a3572e43ae3f11ce/php/src/Data/ConfigurationManager.php#L1051-L1087","documentation":"Thrown by validateCollaboraDictionaries when the value contains characters outside [a-zA-Z_ ] (note: hyphens are NOT allowed, but underscores and spaces are). Dictionary codes are language_LOCALE pairs like 'en_US', 'de_DE', separated by single spaces.","triggerScenarios":"Submitting dictionary codes separated by commas or semicolons ('de_DE,en_GB'), using hyphenated codes ('en-US'), or including slashes/quotes copied from documentation.","commonSituations":"Converting from Collabora's own dash-based locale naming; hand-editing the list with CSV-style separators; a locale like 'en_US.UTF-8' pasted from system locale settings.","solutions":["Use underscore locale codes separated by single spaces: 'en_US de_DE fr_FR'.","Replace commas/semicolons with spaces and hyphens with underscores before submitting.","Verify each code exists in Collabora's supported dictionary list after saving."],"exampleFix":"// before\n$dictionaries = 'en-US,de-DE';\n\n// after\n$dictionaries = 'en_US de_DE';","handlingStrategy":"validation","validationCode":"if (!preg_match('#^[a-zA-Z_ ]+$#', $collaboraDictionaries)) {\n    // normalize separators to spaces and hyphens to underscores, then re-check\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Offer known dictionary codes in a multi-select instead of free text.","Convert 'en-US,de_DE' style input to 'en_US de_DE' before submitting."],"tags":["php","nextcloud-aio","input-validation","collabora","configuration"],"backgroundTag":"invalid-input-format","analyzedSha":"6b788eec5e61733cf03ed380a3572e43ae3f11ce","analyzedAt":"2026-08-21T05:47:24.382Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}