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

  1. Use underscore locale codes separated by single spaces: 'en_US de_DE fr_FR'.
  2. Replace commas/semicolons with spaces and hyphens with underscores before submitting.
  3. 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

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


AI-assisted analysis of nextcloud/all-in-one@6b788eec5e (2026-08-21). Data as JSON: /api/errors/a7076b2b69d5db6b. Report an issue: GitHub.