Add multi-language audio tracks and self-hosted flag-icons
Introduce per-video language support and multiple audio tracks (VideoAudioTrack model + migrations for language, description, title), a reusable language-select component, and a track-editor form. Bundle the self-hosted flag-icons v7.2.3 library and a NAS auto-sync command. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
This commit is contained in:
1 parent
f8d13457fa
commit
66fd78c10f
314 files changed
+16507
-3172
No files matched your search
@@ -10,10 +10,8 @@ class Countries
|
||||
*/
|
||||
public static function all(): array
|
||||
{
|
||||
// Generate flag emoji from ISO2 (two regional indicator letters)
|
||||
$f = fn(string $c): string =>
|
||||
mb_chr(0x1F1E6 + ord($c[0]) - 65) .
|
||||
mb_chr(0x1F1E6 + ord($c[1]) - 65);
|
||||
// Return lowercase ISO2 code — used as the fi fi-{code} CSS class (flag-icons library)
|
||||
$f = fn(string $c): string => strtolower($c);
|
||||
|
||||
return [
|
||||
|
||||
@@ -305,7 +303,7 @@ class Countries
|
||||
$location = $dtze->getLocation();
|
||||
$countryCode = strtoupper($location['country_code'] ?? '');
|
||||
$countryData = $countries[$countryCode] ?? null;
|
||||
$flag = $countryData ? $countryData['flag'] : '🌐';
|
||||
$flag = $countryData ? $countryData['flag'] : '';
|
||||
$countryName = $countryData ? $countryData['name'] : '';
|
||||
|
||||
$parts = explode('/', $tz);
|
||||
|
||||
Reference in new issue
Block a user