[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Format de data incorrecte de «ls -l»



El 24/12/20 a les 7:29, Joan Montané ha escrit:
Missatge de Joan Montané <jmontane@gmail.com> del dia dj., 24 de des.
2020 a les 6:47:

Tal com ho veig, la millor opció, de compromís, és canviar la cadena a coreutils perquè usi %b en comptes de %Ob. Això només afectaria a «ls». L'únic inconvenient és que a la columna de mesos tindríem la preposició, però les columnes quadraran.

Si algú vol fer aquesta solució de compromís, no és gens complicat.

En un directori de treball.

Baixeu el fitxer .po (he usat la versió 8.30 per al paquet coreutils de buster)
curl https://translationproject.org/PO-files/ca/coreutils-8.30.79.ca.po
-o coreutils.po

Canvieu els cadenes amb %Ob a %b del fitxer anterior, amb qualsevol
editor de text decent o des de terminal. Aquests canvis només afecte a
«ls -l»:
sed -e "s/^msgstr \"%e %Ob /msgstr \"%e %b /" < coreutils.po >
coreutils-fixed.po

Compileu el .po a .mo
msgfmt coreutils-fixed.po -o coreutils.mo

Amb permisos de root, copieu el .mo al directori que pertoca (si
voleu, feu-vos còpia del .mo que esteu a punt de sobreescriure)
sudo cp ./coreutils.mo /usr/share/locale/ca/LC_MESSAGES/

I ja està, les columnes quadren en fer «ls -l», :)

Salut!
Joan Montané

No ho he provat compilant el locale, però hi hauria una altra possible solució usant la següent cadena de formatació: "%e %5Ob %Y".

Això forçarà que l'amplada del camp del mes sigui de 5 caràcters, la longitud del mes més llarg, però té els inconvenients que alinea els mesos a la dreta, el que queda una mica estrany; i que la longitud del camp està fixada a la cadena de formatació, i si es tornen a canviar les abreviatures dels mesos s'hauria de reajustar de nou.

Una mostra ràpida de com quedaria, vist amb Python:

>>> locale.setlocale(locale.LC_ALL, 'ca_ES.utf8')
'ca_ES.utf8'
>>> for i in range(12):
...     datetime.date(2020, i+1, 15).strftime("%e %5Ob %Y")
...
'15  gen. 2020'
'15 febr. 2020'
'15  març 2020'
'15  abr. 2020'
'15  maig 2020'
'15  juny 2020'
'15  jul. 2020'
'15   ag. 2020'
'15  set. 2020'
'15  oct. 2020'
'15  nov. 2020'
'15  des. 2020'


Reply to: