nextcloud/all-in-one · warning · InvalidSettingConfigurationException
The entered dictionaries do not seem to be a valid!
Error message
The entered dictionaries do not seem to be a valid!
What it means
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.
Source
Thrown at php/src/Data/ConfigurationManager.php:1069
public function getNextcloudStartupApps() : string {
$apps = getenv('NEXTCLOUD_STARTUP_APPS');
if (is_string($apps)) {
return trim($apps);
}
return 'deck twofactor_totp tasks calendar contacts notes';
}
/**
* @throws InvalidSettingConfigurationException
*/
private function validateCollaboraDictionaries(string $CollaboraDictionaries) : void {
if ($CollaboraDictionaries === "") {
throw new InvalidSettingConfigurationException("The dictionaries must not be empty!");
}
if (!preg_match("#^[a-zA-Z_ ]+$#", $CollaboraDictionaries)) {
throw new InvalidSettingConfigurationException("The entered dictionaries do not seem to be a valid!");
}
}
/**
* Provide an extra method since the corresponding attribute setter prevents setting an empty value.
*/
public function deleteCollaboraDictionaries() : void {
$this->set('collabora_dictionaries', '');
}
/**
* @throws InvalidSettingConfigurationException
*/
private function validateCollaboraAdditionalOptions(string $additionalCollaboraOptions) : void {
if ($additionalCollaboraOptions === "") {
throw new InvalidSettingConfigurationException("The additional options must not be empty!");
}
View on GitHub (pinned to 6b788eec5e)
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.
Example fix
// before $dictionaries = 'en-US,de-DE'; // after $dictionaries = 'en_US de_DE';
Defensive patterns
Strategy: validation
Validate before calling
if (!preg_match('#^[a-zA-Z_ ]+$#', $collaboraDictionaries)) {
// normalize separators to spaces and hyphens to underscores, then re-check
} Prevention
- 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.
When it happens
Trigger: Submitting dictionary codes separated by commas or semicolons ('de_DE,en_GB'), using hyphenated codes ('en-US'), or including slashes/quotes copied from documentation.
Common situations: 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.
Related errors
- The dictionaries must not be empty!
- The additional options must not be empty!
- Domain must contain at least one dot!
- Domain must not contain slashes!
- Domain must not contain colons!
AI-assisted analysis of nextcloud/all-in-one@6b788eec5e (2026-08-21).
Data as JSON: /api/errors/a7076b2b69d5db6b.
Report an issue: GitHub.