Event language logic
The platform should support multilingual functionality in two ways:
multi-lingual interfaces
multi-lingual content
Multi-lingual interfaces
This refers to standard element naming, standard menu item naming, etc..
This feature is globally handled via translation files. Translation files are global across all clients and are created by the internal EP team along with a translation agency. Once a new interface language is added to the platform it becomes available for use for events.
In the platform, the interface language configuration happens inside the admin panel, for each event individually. For each event, the admin should be able to select which languages will be used (checkbox group or similar), as well as identify which language should serve as the default language for users.
For end-users (visitors/exhibitors, etc.) the language selection is automatic and defaults to their locale and browser settings. If the language from their locale is not available, the default language that was defined in the admin panel is served.
These languages are offered:
Arabic
Dutch
English
French
German
Italian
Polish
Portuguese (both Brazilian and European)
Russian
Spanish (both European and Latin American)
Thai
Turkish
Vietnamese
Multi-lingual content
Multi-lingual content refers to dynamic content, e.g. website content block text, exhibitor profile descriptions, product descriptions, etc.
Multi-lingual content is related to multi-language interfaces in that the language selector for the event described in the previous section, also regulates the languages that are available for content. For example, if English and Japanese are selected as the two languages, with English as default, then it will be possible to populate content (in admin panel and for end-users) in English and in Japanese respectively.
The following items should have descriptions in multiple languages (for admin and end users):
Product categories (admin)
Exhibitor descriptions (admin/end-user)
Product descriptions (admin/end-user)
Product names (admin/end-user)
About me for people (admin/end-user)
Speaker/Moderator bios (admin/end-user)
News (admin/end-user)
Session descriptions (admin)
Session titles (admin)
Website content block text (admin)
Website menu items (admin)
Registration form fields and response options (admin)
During set-up for each of the above, interfaces that handle this logic must be created for admin and for end-user (if applicable).
Mobile Application
The content and interface for mobile applications can be translated into below languages only for now
English
Russian
German
Spanish
French
Arabic
Multilanguage webview pages for mobile app
Webpages in the mobile app are available in multiple languages set at the admin panel. The mobile app transmits the current language code of the app to the backend. The backend compares this code with the available languages on the front end (languages configured in the admin panel under general settings). If the platform has the specified language available for the current event, the webview page opens in that language. If the language is unavailable, redirect to the default English page.