Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

линукс учебник

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: [Lug-bg] български езикови настройки


  • Subject: Re: [Lug-bg] български езикови настройки
  • From: Roumen Petrov <help@xxxxxxxxxxxxxxxxx>
  • Date: Mon, 15 Mar 2010 01:14:13 +0200

Vladimir Vitkov wrote:
Здравей Румене,

Аз лично не съм особенно добър в четенето на този файл, та за да се
завърти дискусията какви са точно разликите с текущата реализация?

Охх , де да знаех след две години, кои точните промени....


2010/3/14 Roumen Petrov<help@xxxxxxxxxxxxxxxxx>:
Здравейте ,

Какво мислите за следното предложение за нови български езикови настройки в
ГНУ Си библиотеката (прикачено е като файл bg_BG )?

Румен

И така първоначало всичко започна с темата "речниково сортиране: кирилица и български езикови настройки" (моля вижте архите). Май започнах темата след като направих в libxslt xsl:sort lang да работи на microsoft windows без ограничение (виж http://xmlsoft.org/XSLT/news.html за версия 1.1,25). Технически в реализацията на xsl:sort lang се ползват методи, които работят на Линукс и Мак ОС X(трябва да работят?). Същите методи може би работят и на Microsort Windows, но българския не е включен в списъка за setlocale и т.н. Затова направих "заобикаляне" и с него и българския работи ( би трябвало и с останалите не влючени в списъка за setlocale, но те не ме интересуват). Проблема, бе че не се получават съвместими резултати и затова бе отворена гореспоменатата тема.

Второ се оказа лиценцията и предишния автор, защото горното в момента ми изглежда блокирано - http://sourceware.org/bugzilla/show_bug.cgi?id=9865. Е след две години опити, ни вест, ни кост от предишния автор.


Други разлики:
А) видими:
1) дата/час
- основната, и лесно видима, трябва да е в представянето на часа - запетайките са променени на двоеточия. - обърнете внимание на подреждането на ден месец година при различните начини за представяне на дата. - добавих и възможност за ера, .т.е "пр н.е" и "сл н.е.". За да проверя, използвах приложената към писмото програма "test-strftime-E.c"(бел. когато се тества дата около новата ера деня от седмицата не е верен, просто не съм указал правилната величина - все пак е за тест на преди/след новата ера). С командата date съм ограничен в тестовете(виж прикачения файл test-bg-locale.sh). Работи ми за дати до 1901-12-14 и отказва за последния петък, 13-ти в 1901 и по-ранни.
- описание(документация) на "флаговете" използвани за задаване на форматите.
- преди/след обяд не се поддържа вече. По памет старата версия не задава знаци на преди/след обяд (американските са твърде кратки пък и ние не казваме преди обяд). Оставих го на 24-часово представяне, за да се избегне двусмислие - 07:01:02 е сутринта или след обяд ? Предложение за съкращения ?

2) числа с плаваща запетая и пари
Ние не разделяме на тройки числата, нали ? Премахнато е. Един милион лева си го изписваме 100000,00 лв.


Б) скрити (май никой не ги ползва):
Тези няма как да се тестват, защото липсват методи в бибиотеката. Ако знаете как, кажете.
- представане на телефонни номера : вече без кръгли скоби
  - межд. номер за София трябва да се изписва +359 2 XXXXXX;
  - м-у градски за  София трябва да се изписва 02 XXXXXX.
  ( по памет знам само кода на София - 2 );
- представяне на имена:
  - съкращението "г-нин" е променено на "г-н";
- име, което трява да се предхожда от "доктор"/"инженер" и т.н, че се предпочита съкратена форма;
- адреси:
тук ударих малко на камък - за %n localedef ми се оплаква, но всичко е описано в файла bg_BG.

Със сигурност, съм изпуснал нещо, но съм готов да подръждам българските езикови настройки и да отстанявам възникналите проблеми. Ако аз нещо съм възпрепятсван, съм задал и други адреси за връзка :
% Contact: Linux Users Group - Bulgaria
% Email: lug-bg@xxxxxxxxxxxxxxxxxx
% Contact: Bulgarian translators' team
% Email: <dict@xxxxxxxxxx>

Освен това предлагам правата да се дадат и на ФСФ(Free Software Foundation), за да не възникват проблеми с подръжката.


Румен
#include <time.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <locale.h>

void
do_test(const char *tm_fmt, const struct tm *tm) {
  char s[1024];
  size_t l;

  l = strftime(s, sizeof(s)-1, tm_fmt, tm); 
  printf("l=%d\ttm_fmt='%s'\ts='%s'\n", l, tm_fmt, s);
}


int main() {
  time_t t = 0;
  struct tm *tm;

  setlocale(LC_ALL, "");
  tm = localtime(&t);

  do_test("%c" , tm);
  do_test("%Ec", tm);
  do_test("%C" , tm);
  do_test("%EC", tm);
  do_test("%x" , tm);
  do_test("%Ex", tm);
  do_test("%X" , tm);
  do_test("%EX", tm);
  do_test("%y" , tm);
  do_test("%Ey", tm);
  do_test("%Y" , tm);
  do_test("%EY", tm);

  do_test("%C %EC", tm);
  tm->tm_year = -1900;
  do_test("%Ec", tm);
  do_test("%EY", tm);
  do_test("%C %EC", tm);
  tm->tm_year = -1901;
  do_test("%Ec", tm);
  do_test("%EY", tm);
  do_test("%C %EC", tm);
  return(0);
}
#! /bin/sh

for MON in 01 04; do
  for H in 01 13; do
    DATE="2010-${MON}-01 ${H}:02:03"
    echo === $DATE ===
    #%E modifier - %Ec, %EC, %Ex, %EX, %Ey, %EY
    printf 'long\t\t'		; date -d "$DATE"
    printf 'short\t\t'		; date -d "$DATE" +%c
    printf 'short+era\t'	; date -d "$DATE" +%Ec
    printf 'cent+era\t'		; date -d "$DATE" '+%C %EC'

    printf 'date\t\t'		; date -d "$DATE" +%x
    printf 'date+era\t'		; date -d "$DATE" +%Ex

    printf 'time\t\t'		; date -d "$DATE" +%X
    printf 'time+era\t'		; date -d "$DATE" +%EX

    printf 's-year\t\t'		; date -d "$DATE" +%y
    printf 's-year+era\t'	; date -d "$DATE" +%Ey

    printf 'year\t\t'		; date -d "$DATE" +%Y
    printf 'year+era\t'		; date -d "$DATE" +%EY

    printf '12-hour time\t'	; date -d "$DATE" +%r
    printf 'rfc-2822\t'		; date -d "$DATE" --rfc-2822
    printf 'rfc-3339+sec.\t'	; date -d "$DATE" --rfc-3339=seconds
  done
  printf 'long\t\t'		; date -d "1901-09-13"
  printf 'long\t\t'		; date -d "1901-12-13"
  printf 'long\t\t'		; date -d "1901-12-14"
done
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg


 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.

Hosted by "Internet Group" Ltd. - Stara Zagora