Core languages, or masters, are root-level language packs. They SHOULD NOT be deleted, which is prevented by a foreign key constraint fk_language_id on the self-referencing key parent_id. If the language_id is equal to the parent_id, a language has no parent and is therefore a core language located at the root of the language family tree.
Currently, the core supports four European master languages. These are defined in the SUPPORTED_LANGUAGES constant of the Locale class:
- de-DE for German
- en-GB for English
- fr-FR for French
- nl-NL for Dutch
If no language match is found, StoreCore defaults to en-GB for British English.
Master languages cannot be deleted; they can only be disabled. If you do try to delete a master language from the database, the DELETE query fails on a foreign key constraint.
DELETE FROM sc_languages WHERE iso_code = 'de-DE';
UPDATE sc_languages SET status = 0 WHERE iso_code = 'de-DE';