Hi nikoleta,
-> Event website uses javascript (navigator.languages) to detect language that user speaking.
There are 3 core functions(getLcidFromBrowser, getUserLanguage and getUserLcid) in labels.service.ts file to complete such job.
I tested with self-hosted sample website files, found that we can just change DefaultBrowserLcid variable to set default language.(the default is 1033 English)

So you can achieve your requirement by adding a custom optionset field (e.g: Event Language) to Event entity, and try to read this field value in label service.
(because labelservice will be executed before whole page/elements is loaded.)
-> Before adding custom code,
could you help me test if you had changed DefaultBrowserLcid to other number, will your event website(if it's Portal hosted) also change default language as what I've tested?
There could be some differences between self-hosted code and portal-hosted code, so I would like a confirmation.
In addtion, I also found that label service will execute once unless I close browser and open the web site again,
and due to it'll create cookie into user's browser to save the first time detected language as preference,
so please clear your browser cache if necessary and test in incognito/private mode to prevent effect from cache.
-> I have a question, because each event will has a language setting, so how would you do if there are multiple events with different languages in your portal?
-> Finally, you could try to add code by yourself, all custom fields for event entity will be saved in "customFields" field,
this tutorial is about how to add custom field and let it show in event website.
https://docs.microsoft.com/en-us/dynamics365/marketing/developer/customize-events-api-response
Regards,
Clofly