fix: use IntlDateFormatter instead of strftime

This CL introduces breaking changes, since it uses non-constant static
variable initializers, which are only available since PHP 8.3. Thus, the
codebase now only supports PHP 8.3 (and the docs have been modified to
reflect this and the fact that the Intl extension is necessary).

Fixed: hores:2
GitOrigin-RevId: 9a91312c96b90fa4c9ae5fc5f6e972fd95c9cd57
diff --git a/src/inc/calendarsView.php b/src/inc/calendarsView.php
index 46a3761..03d1486 100644
--- a/src/inc/calendarsView.php
+++ b/src/inc/calendarsView.php
@@ -33,7 +33,7 @@
 
       if ($dow == 1) echo "</tr>";
       if ($dom == 1) echo "</table>";
-      if ($dom == 1 || $start) echo "<div class='month'>".security::htmlsafe(ucfirst(strftime("%B %G", $current->getTimestamp())))."</div><table class='calendar'>";
+      if ($dom == 1 || $start) echo "<div class='month'>".security::htmlsafe(ucfirst(date::getMonthYear($current->getTimestamp())))."</div><table class='calendar'>";
       if ($dow == 1 || $start) echo "<tr>";
       if ($dom == 1 || $start) {
         for ($i = 1; $i < $dow; $i++) {