VDR Liven koodissa oletusaikaformaatti on "%I:%M %p" eli 12 h aika AM/PM-merkinnällä:
https://github.com/MarkusEh/vdr-plugin-live/blob/master/pages/whats_on.ecppchar const * timeFormat = tr("%I:%M %p");
char const * dateFormat = tr("%A, %x");
if (mode == "detail") {
dateFormat = tr("%a, %x");
}
if (type == "now") {
headTime = std::string(cToSvDateTime(timeFormat, time(0)));
headDate = std::string(cToSvDateTime(dateFormat, time(0)));
head = std::string(tr("What's running on")) + " " + headDate + " " + tr("at") + " " + headTime;
Tämä lokalisoidaan LANG-muuttujan perusteella eri kielille. Esimerkiksi suomalaisessa käännöstiedostossa
https://github.com/MarkusEh/vdr-plugin-live/blob/master/po/fi_FI.po aikaleiman formaatti muutetaan muotoon %H:%M, eli 24 h ajaksi:
msgid "%I:%M %p"
msgstr "%H:%M"
Nyt sinulla on käytössä LANG=en_GB.UTF-8. Jos katsot VDR Liven
käännöstiedostohakemistoa (po), siellä ei ole lainkaan käännöstä kyseiselle localelle. Huomaa myös, että Live-pluginin käännösmekanismissa ei ole tukea LC_TIME-lokalisoinnille, eli aikaformaatti noudattaa vain kieliasetusta. Käännöksen puuttuessa käytössä on oletusmuoto, eli 12 h aika. AM/PM-merkinnän pitäisi kyllä näkyä aikaleimoissa. Puuttuuko se Liven sivuilla kaikkialta vai jostain tietystä kohdasta?
Ratkaisuvaihtoehtoja helpoimmasta vaikeimpaan:
1. Vaihda käyttöjärjestelmän tai VDR:n LANG-muuttujaan sellainen locale, jolle on määritelty 24 h aikaformaatti Live-pluginin käännöstiedostoissa.
2. Jos haluat käyttää juuri en_GB-kieliasetusta, lisää Liveen käännöstiedosto brittienglannille ja määrittele siellä 24h aikaformaatti. Hyvin perustellen tällaisen muutoksen saisi ehkä hyväksytettyä pull requestilla mukaan projektin viralliseen kehityshaaraan.
3. Koodaa VDR Liveen tuki LC_TIME-lokalisointimuuttujalle.