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.