Giriş

Orijinalini görmek için tıklayınız : Time komutundaki(saat ve tarihi türkçeleştirmek)


Entrance
31 Temmuz 2015, 22:33
Merhaba arkadaşlar,

UnrealIRCd sunucularda /time komutunu uyguladığınız zaman karşınıza aşağıdaki gibi bir çıktı gelmektedir.

Önce Tarih, sonra saat şeklinde,
Friday July 31 2015 -- 22:22 +03:00Bu yazımda, /time komutunda gelen veriyi tamamen türkçe'ye çevireceğiz. Pek gerekli bir şey mi bence değil, ama Unreal programınızı türkçe'ye çevirmek istediğinizde gerekli olabilir. Ben de olduğu gibi. ;P

• Klasör: -> Unreal3.2/src/
• Dosya: -> (s_misc.c)

BULUN,
static char *months[] = {
"January", "February", "March", "April",
"May", "June", "July", "August",
"September", "October", "November", "December"
};

static char *weekdays[] = {
"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"
};

DEGISTIRIN,
static char *months[] = {
"Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"
};

static char *weekdays[] = {
"Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"
};
-

BULUN,
char *date(time_t clock)
{
static char buf[80], plus;
struct tm *lt, *gm;
struct tm gmbuf;
int minswest;

if (!clock)
time(&clock);
gm = gmtime(&clock);
bcopy((char *)gm, (char *)&gmbuf, sizeof(gmbuf));
gm = &gmbuf;
lt = localtime(&clock);
#ifndef _WIN32
if (lt->tm_yday == gm->tm_yday)
minswest = (gm->tm_hour - lt->tm_hour) * 60 +
(gm->tm_min - lt->tm_min);
else if (lt->tm_yday > gm->tm_yday)
minswest = (gm->tm_hour - (lt->tm_hour + 24)) * 60;
else
minswest = ((gm->tm_hour + 24) - lt->tm_hour) * 60;
#else
minswest = (_timezone / 60);
#endif
plus = (minswest > 0) ? '-' : '+';
if (minswest < 0)
minswest = -minswest;
(void)ircsprintf(buf, "%s %s %d %d -- %02d:%02d %c%02d:%02d",
weekdays[lt->tm_wday], months[lt->tm_mon], lt->tm_mday,
1900 + lt->tm_year,
lt->tm_hour, lt->tm_min, plus, minswest / 60, minswest % 60);

return buf;
}

DEGISTIRIN,
char *date(time_t clock)
{
static char buf[80], plus;
struct tm *lt, *gm;
struct tm gmbuf;
int minswest;

if (!clock)
time(&clock);
gm = gmtime(&clock);
bcopy((char *)gm, (char *)&gmbuf, sizeof(gmbuf));
gm = &gmbuf;
lt = localtime(&clock);
#ifndef _WIN32
if (lt->tm_yday == gm->tm_yday)
minswest = (gm->tm_hour - lt->tm_hour) * 60 +
(gm->tm_min - lt->tm_min);
else if (lt->tm_yday > gm->tm_yday)
minswest = (gm->tm_hour - (lt->tm_hour + 24)) * 60;
else
minswest = ((gm->tm_hour + 24) - lt->tm_hour) * 60;
#else
minswest = (_timezone / 60);
#endif
plus = (minswest > 0) ? '-' : '+';
if (minswest < 0)
minswest = -minswest;
(void)ircsprintf(buf, "%d %s %d %s ¤ %02d:%02d", lt->tm_mday, months[lt->tm_mon], 1900 + lt->tm_year, weekdays[lt->tm_wday],
lt->tm_hour, lt->tm_min, plus, minswest / 60, minswest % 60);

return buf;
}


UnrealIRCd'in ana dizininde make ve ./unreal restart komutlarını uygulayın. Artık sunucunuz üzerinde /time komutu uygulandığında, kişilere program tarafından gösterilecek çıktı aşağıdaki gibi olacaktır.

31 Temmuz 2015 Cuma ¤ 22:32İyi forumlar.. ^^

Entrance
30 Mayıs 2016, 23:15
Kodlar güncellendi.