Se afișează postările cu eticheta Ubuntu. Afișați toate postările
Se afișează postările cu eticheta Ubuntu. Afișați toate postările

luni, 14 octombrie 2013

Timpul local și data în limba română în Moodle (sau - pînă ajungi la Dumnezeu, te mănîncă sfinții)

1. Problema


Data creării subiectelor de discuție din forumuri este afișată în limba engleză, iar ora în format 12 ore (sufixate cu AM sau PM după caz); de exemplu:

by Admin User - Tuesday, September 10, 2013, 7:46 PM

în loc de

de către Admin User - marți, 10 septembrie 2013, 19:46

Chiar dacă... toate opțiunile legate de formatul afișării datei și orei, limba implicită pentru site, setările de localizare, chiar și traducerile zilelor săptămînii și a denumirilor lunilor... toate-s în ordine.

2. Contextul


Ubuntu 12.04 LTS; Moodle 2.5.1

3. Pre soluție


Moodle este scris în PHP. Respectiv formatarea datei și timpului se face prin funcțiile din PHP, în particular prin funcția strftime (http://php.net/manual/ro/function.strftime.php). Acest fapt poate fi confirmat analizînd codul sursă sau, mai simplu, prin faptul ca în fișierul langconfig.php din categoria core (Site administration > Language > Language customisation) șabloanele de formatare a datei și orei au sintaxa identică cu cea a argumentului format a funcției strftime.

Funcția strftime la rîndul ei formatează în raport cu setările regionale curente a sistemului de operare. Dacă se dorește formatarea cu alte setări regionale  fără a schimba cele curente a sistemului se poate folosi funcția setlocale.

Anume așa e realizat în Moodle. Înainte de a fi utilizată vreo funcție de formatare a datei sau orei se cheamă funcției moodle_setlocale (din moodlelib.php) care la rîndul ei cheamă setlocale.

Funcția setlocale activează setările regionale indicate; cu condiția că acestea sînt disponibile în sistem. Puteți chema de 1001 ori funcția setlocale cu parametrul, de exemplu, ro_RO.UTF-8, dar dacă aceste setări regionale nu-s instalate în sistem nu veți avea denumiri de luni în română. De unde? Sistemul nu le are.

Cel mai des cînd se instalează sistemul cel care instalează specifică fusul orar, specifică moneda, iar setările regionale rămîn cele englezești, adică en_EN. Configurația ro_RO.UTF-8 nefiind instalată (pe server). Pe un calculator Desktop posibil că da (de exemplu cînd am instalat Linux Mint cu KDE imediat după instalare am fost rugat să introduce astfel de info).


Așadar, dacă nu aveți setările regionale ro_RO.UTF-8 instalate nu aveți cum să primiți denumiri de luni în română.

4. Soluția



Verificați setările Moodle legate de localizare:

  • Administration > Language > Language Settings
    • Default language = Română (ro)
    • Sitewide locale = ro_RO.UTF-8
  • Administration > Appearance > Calendar
    • Time display format = 24=hour
  • Administration > Language > Language Customisation > Română (ro)
    • core calendar.php: zilele săptămînii sînt traduse
    • core langconfig.php: locale=ro_RO.UTF-8

Verificați lista fișierelor de localizare (setări regionale) disponibile în sistem:

locale -a

Dacă în lista afișată lipsește rîndul ro_RO.utf8. Atunci acest fișier trebuie generat. Îl puteți genera cu ajutorul comenzii:


sudo locale-gen ro_RO.UTF-8

După ce ați generat fișierul de localizare obligatoriu reporniți sistemul, de exemplu prin:  

sudo reboot

Dacă nu reporniți sistemul funcția PHP strftime se va comporta straniu: ba va formata în română, ba în engleză.

miercuri, 19 mai 2010

Ubuntu - de fiecare dată ceva nou

Times New Roman în Ubuntu

sudo apt-get install msttcorefonts

Variabila de sistem PATH în bash

În fișierul .bashrc adăugați rîndurile

PATH=$PATH:/var/lib/gems/1.9.0/bin
export PATH

Coșul de gunoi în GNOME

~/.local/share/Trash/files/ - fișierele șterse

~/.local/share/Trash/info/ - informația despre fișierele șterse

Dosarele files și info pot fi șterse întrucît la următoare trimitere a unui fișier în coș el sînt create din nou.

Optimizarea bazelor de date în format sqlite pentru FireFox 3.5*

Știm că Mozilla Firefox frînează în unele situații: la prima lansare, atunci cînd începem a tipări în bara de adrese etc. În multe cazuri acest lucru poate fi eliminat dacă optimizăm bazele de date format sqlite în care Mozilla Firefox stochează informația de sistem. Utilizăm următoarea comandă:

for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done

Increase Firefox 3.* Performance by Optimizing the SQLite Databases [Windows, Linux and Mac OSX]

Montarea imaginilor CD

sudo mount -t iso9660 -o loop disk1.iso /mnt/disk

sau mai simplu (fără a fi nevoie de a memoriza tipul iso9660)

sudo mount -o loop disk1.iso /mnt/disk

Activarea combinației de taste Ctrl + Alt + BackSpace

Începînd cu versiunea 9.04 acestă posibilitate de a reporni X serverul a fost dezactivată. Sînt mai multe modalități de a o activa înapoi. De exemplu:
  1. Accesați System->Preferences->Keyboard
  2. Activați pagina Layouts și dați clic pe butonul Layout Options
  3. Selectați opțiunea Key sequence to kill the X server și bifați Control + Alt + Backspace
Determinarea mărimii unui dosar

du -hs <NUME_DOSAR>

Determinarea mărimii fiecărui subdosar

find . -type d -maxdepth 1 -mindepth 1 | xargs du -sh

Determinarea pachetului părinte

În cazul cînd este nevoie de aflat cărui pachet aparține un fișier anume se poate de utilizata comanda:

dpkg -S <NUME_FISIER>

Vrăji pentru ca lucrurile să revină la normal după o instalare eșuată a driver-ului pentru NVIDIA

sudo apt-get purge nvidia*
sudo rm /etc/X11/xorg.conf
sudo apt-get install --reinstall xserver-xorg-core \
     libgl1-mesa-glx:amd64 libgl1-mesa-dri:amd64
sudo dpkg-reconfigure xserver-xorg
sudo reboot

Eliminarea nucleelor vechi

În primul rînd pentru a vedea ce nucleul este folosit acum

uname -r

Pentru a vedea lista de nuclee instalate puteți încerca

ls /boot

sau

dpkg --list | grep linux-image 

Pentru aelimina un nucleu

sudo apt-get purge linux-image-x.x.x.x-generic

În final

sudo update-grub2

Cisco AnnyConnect

Înprimul și în primul rînd trebuie de instalat pachetul corespunzător

sudo apt-get install network-manager-openconnect-gnome

Apoi clic pe pictograma lui Network Manager (colțul dreaptă-sus al ecranului), după care clic pe itemul Edit Connections.... În ferestra apărută clic pe butonul Add și alegeți Cisco AnyConnect Compatible VPN (openconnect). Dați clic pe butonul Create și completați datele necesare conexiunii cum ar fi: Gateway.

Adăugarea de indicatoare pe panouri

Pe timpuri, înainte de Unity un clic de dreapta pe panou rezolva problema. După Unity e nevoie de fie Alt+clic de dreapta, fie Win+Alt+clic de dreapta pe panou.

Probleme cu cheile pentru sursele de pachete

Dacă după actualizarea pachetelor apare eroare:

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY _CHEIA_CU_PRICINA_

Se rezolvă simplu:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys _CHEIA_CU_PRICINA_