Services
VerseService
Location: lib/Service/VerseService.php
Responsibilities:
Determine language and Bible version (admin → user → default fallback)
Build the external API URL
Perform the HTTP request
Normalise the API response
Provide a clean data structure to the controller
LanguageOptions and LanguageLabels
Locations:
lib/Service/LanguageOptions.phplib/Service/LanguageLabels.php
Responsibilities:
Provide a list of supported language codes
Map language codes to human-readable labels
Allow easy extension by adding new languages
VersionLabels
Location: lib/Service/VersionLabels.php
Responsibilities:
Provide labels for Bible versions
Used in both settings UI and widget rendering