# Language events

| Event                           | Dispatched by                         | Properties                                                             |
| ------------------------------- | ------------------------------------- | ---------------------------------------------------------------------- |
| `BeforeCreateLanguageEvent`     | `LanguageService::createLanguage`     | \`LanguageCreateStruct $languageCreateStruct\`\`Language               |
| `CreateLanguageEvent`           | `LanguageService::createLanguage`     | ``` Language $language``LanguageCreateStruct $languageCreateStruct ``` |
| `BeforeUpdateLanguageNameEvent` | `LanguageService::updateLanguageName` | \`Language $language`string $newName`Language                          |
| `UpdateLanguageNameEvent`       | `LanguageService::updateLanguageName` | ``` Language $updatedLanguage``Language $language``string $newName ``` |
| `BeforeDeleteLanguageEvent`     | `LanguageService::deleteLanguage`     | `Language $language`                                                   |
| `DeleteLanguageEvent`           | `LanguageService::deleteLanguage`     | `Language $language`                                                   |

## Enabling languages

| Event                        | Dispatched by                      | Properties                                             |
| ---------------------------- | ---------------------------------- | ------------------------------------------------------ |
| `BeforeEnableLanguageEvent`  | `LanguageService::enableLanguage`  | \`Language $language\`\`Language                       |
| `EnableLanguageEvent`        | `LanguageService::enableLanguage`  | ``` Language $enabledLanguage``Language $language ```  |
| `BeforeDisableLanguageEvent` | `LanguageService::disableLanguage` | \`Language $language\`\`Language                       |
| `DisableLanguageEvent`       | `LanguageService::disableLanguage` | ``` Language $disabledLanguage``Language $language ``` |
