January 16, 2006
Please do!

use this account:  someidiot at at at earthlink dot . dot net


"John C" <johnch_atms@hotmail.com> wrote in message news:dqghld$1llj$1@digitaldaemon.com...
> "Kris" <fu@bar.com> wrote in message news:dq8o9c$12rs$1@digitaldaemon.com...
>> "John C" <johnch_atms@hotmail.com> wrote...
>> [snip]
>>> This reminds me that one of the gaping holes in Phobos is support for locales. Open std.dateparse to see how bad it is - English day and month names are hard coded! There should be a localisation module that might incorporate numeric formatting (the latter would probably depend on the former, eg for currencies).
>>>
>>> Right, I guess I'm looking at rolling my own stuff.
>>
>>
>> The ICU project has truly excellent support for this kind of thing, although it is industrial strength ~ can be a bit heavyweight for personal use? They have all kinds of tools for externalizing and migrating/managing I18N concerns, and there's a D wrapper for ICU in the Mango library.
>>
>> I'm also interested in a lightweight implementation (Mango has a bunch of support functions to make it happen) ~ just haven't got around to hooking up the pieces yet. If ICU is not appropriate for your needs, and you think it's a reasonably idea, we might combine efforts?
>>
>
> Kris, may I send you the work I've done on this? So far I've got a general class to represent locales on the user's system, several classes for date/time, number and text formatting support, a set of calendars (Gregorian, Japanese, Hijri etc), and some string-related functions.
>
> The following example lists all the calendars supported by a locale.
>
>    Culture[] allCultures = Culture.getCultures(CultureTypes.ALL);
>    foreach (Culture culture; allCultures) {
>        writefln("Culture: " ~ culture.name ~ " - " ~ culture.displayName);
>        Calendar[] calendars = culture.optionalCalendars;
>        writefln("Calendars:");
>        foreach (Calendar cal; calendars) {
>            writefln("\t" ~ cal.toString());
>        }
>        writefln();
>    }
>
> This example prints the days of the week in French:
>
>    Culture culture = new Culture("fr-fr");
>    for (DayOfWeek dayOfWeek = DayOfWeek.SUNDAY; dayOfWeek <=
> DayOfWeek.SATURDAY; dayOfWeek++) {
>        writefln(culture.dateTimeFormat.getDayName(dayOfWeek));
>    }
>
> John.
> 


January 16, 2006
John C wrote:
> "Kris" <fu@bar.com> wrote in message news:dq8o9c$12rs$1@digitaldaemon.com...
> 
>>"John C" <johnch_atms@hotmail.com> wrote...
>>[snip]
>>
>>>This reminds me that one of the gaping holes in Phobos is support for locales. Open std.dateparse to see how bad it is - English day and month names are hard coded! There should be a localisation module that might incorporate numeric formatting (the latter would probably depend on the former, eg for currencies).
>>>
>>>Right, I guess I'm looking at rolling my own stuff.
>>
>>
>>The ICU project has truly excellent support for this kind of thing, although it is industrial strength ~ can be a bit heavyweight for personal use? They have all kinds of tools for externalizing and migrating/managing I18N concerns, and there's a D wrapper for ICU in the Mango library.
>>
>>I'm also interested in a lightweight implementation (Mango has a bunch of support functions to make it happen) ~ just haven't got around to hooking up the pieces yet. If ICU is not appropriate for your needs, and you think it's a reasonably idea, we might combine efforts?
>>
> 
> 
> Kris, may I send you the work I've done on this? So far I've got a general class to represent locales on the user's system, several classes for date/time, number and text formatting support, a set of calendars (Gregorian, Japanese, Hijri etc), and some string-related functions.
> 
> The following example lists all the calendars supported by a locale.
> 
>     Culture[] allCultures = Culture.getCultures(CultureTypes.ALL);
>     foreach (Culture culture; allCultures) {
>         writefln("Culture: " ~ culture.name ~ " - " ~ culture.displayName);
>         Calendar[] calendars = culture.optionalCalendars;
>         writefln("Calendars:");
>         foreach (Calendar cal; calendars) {
>             writefln("\t" ~ cal.toString());
>         }
>         writefln();
>     }
> 
> This example prints the days of the week in French:
> 
>     Culture culture = new Culture("fr-fr");
>     for (DayOfWeek dayOfWeek = DayOfWeek.SUNDAY; dayOfWeek <= DayOfWeek.SATURDAY; dayOfWeek++) {
>         writefln(culture.dateTimeFormat.getDayName(dayOfWeek));
>     }
> 

Nice. But: what about locales where Monday is the first day of week?
January 17, 2006
"Ivan Senji" <ivan.senji_REMOVE_@_THIS__gmail.com> wrote in message news:dqhavm$2fmg$1@digitaldaemon.com...
> John C wrote:
>> "Kris" <fu@bar.com> wrote in message news:dq8o9c$12rs$1@digitaldaemon.com...
>>
>>>"John C" <johnch_atms@hotmail.com> wrote...
>>>[snip]
>>>
>>>>This reminds me that one of the gaping holes in Phobos is support for locales. Open std.dateparse to see how bad it is - English day and month names are hard coded! There should be a localisation module that might incorporate numeric formatting (the latter would probably depend on the former, eg for currencies).
>>>>
>>>>Right, I guess I'm looking at rolling my own stuff.
>>>
>>>
>>>The ICU project has truly excellent support for this kind of thing, although it is industrial strength ~ can be a bit heavyweight for personal use? They have all kinds of tools for externalizing and migrating/managing I18N concerns, and there's a D wrapper for ICU in the Mango library.
>>>
>>>I'm also interested in a lightweight implementation (Mango has a bunch of support functions to make it happen) ~ just haven't got around to hooking up the pieces yet. If ICU is not appropriate for your needs, and you think it's a reasonably idea, we might combine efforts?
>>>
>>
>>
>> Kris, may I send you the work I've done on this? So far I've got a general class to represent locales on the user's system, several classes for date/time, number and text formatting support, a set of calendars (Gregorian, Japanese, Hijri etc), and some string-related functions.
>>
>> The following example lists all the calendars supported by a locale.
>>
>>     Culture[] allCultures = Culture.getCultures(CultureTypes.ALL);
>>     foreach (Culture culture; allCultures) {
>>         writefln("Culture: " ~ culture.name ~ " - " ~
>> culture.displayName);
>>         Calendar[] calendars = culture.optionalCalendars;
>>         writefln("Calendars:");
>>         foreach (Calendar cal; calendars) {
>>             writefln("\t" ~ cal.toString());
>>         }
>>         writefln();
>>     }
>>
>> This example prints the days of the week in French:
>>
>>     Culture culture = new Culture("fr-fr");
>>     for (DayOfWeek dayOfWeek = DayOfWeek.SUNDAY; dayOfWeek <=
>> DayOfWeek.SATURDAY; dayOfWeek++) {
>>         writefln(culture.dateTimeFormat.getDayName(dayOfWeek));
>>     }
>>
>
> Nice. But: what about locales where Monday is the first day of week?

You'd offset it with the 'firstDayOfWeek' property.


1 2
Next ›   Last »