Σίγουρα γίνονται σοβαρές προσπάθιες localization για όλο το περιβάλλον του linux στα Ελληνικά, αλλά καλώς ή κακώς, εγώ προσωπικά πάντα στήνω το σύστημά μου με en_US locale και όχι el_GR. Ενα θέμα που πάντα μου τη σπάει είναι το date format, που by default είναι month/day/year και όχι day/month/year όπως το περιμένουμε στην Ελλάδα.
Ιδού λοιπόν το 1-line patch για το αρχείο /usr/share/i18n/locales/en_US που διορθώνει το θέμα:
--- en_US.orig 2009-04-03 11:50:02.000000000 +0300 +++ en_US 2009-04-03 11:50:42.000000000 +0300 @@ -107,8 +107,8 @@ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0072><U0020><U0025><U005A>" % % Appropriate date representation (%x) -% "%m/%d/%Y" -d_fmt "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0059>" +% "%d/%m/%Y" +d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>" % % Appropriate time representation (%X) % "%r"
Μετά την αλλαγή τρέχουμε locale-gen και είμαστε έτοιμοι :)
Γιατί να κάνεις μια τόσο «smelly hack»-like αλλαγή όμως, η οποία μπορεί να έχει ας πούμε τραγικές συνέπειες στον τρόπο με τον οποίο παίζουν προγράμματα όπως το Gnucash;
Εγώ απλά στήνω τα συστήματα με locale environment:
LANG=C
Έτσι τα πάντα χρησιμοποιούν POSIX/C locale, και όποιος θέλει διαφορετικό locale μπορεί να ξεκινήσει το περιβάλλον του με κάτι σαν:
LANG=C
LC_COLLATE=el_GR.UTF-8
LC_CTYPE=el_GR.UTF-8
Δε χρησιμοποιώ Gnucash, αλλά δε νομίζω ότι η αντιστροφή του month/date σε date/month μπορεί να έχει τραγικά αποτελέσματα (σε οποιοδήποτε application).. Αλλωστε φαντάζομαι οτι παίζει κανονικά και όταν έχεις el_GR.UTF-8 στο σύστημά σου..
Anyway, και το POSIX locale έχει month/date/year στο d_fmt, οπότε μάλλον αν προσθέσουμε και LC_TIME=el_GR.UTF-8 στη λύση σου θα έχουμε το επιθυμητό αποτέλεσμα..
Πάντα υπάρχει πάνω από ένας τρόπος τελικά.. I used the source this time :)