Commit Graph

196 Commits

Author SHA1 Message Date
Adrien Destugues
4ebeabb639 * Remove GetLocaleName from BCountry
* Add GetName to BLocale instead


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-05 10:19:22 +00:00
Adrien Destugues
58fa4d5717 * The locale roster keeps its own Language instead of using the locale one, so that changing the locale doesn't reset the
language.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-05 09:27:13 +00:00
Oliver Tappe
34a79bff8a * renamed BPrivate::mutable_locale_roster to BPrivate::gMutableLocaleRoster,
to follow coding guidelines

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 21:34:12 +00:00
Adrien Destugues
5c3a303486 * Move the locale-related stuff away from BCountry to BLocale.
* Remove the be_locale global object and go through the be_locale_roster instead
 * Rework the storage of data for the be_locale_roster, since BLocale already holds a BCountry and a BLanguage.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 18:45:06 +00:00
Oliver Tappe
5517ab9918 * store numeric timezone offset along with ID of timezone in 'Time settings',
as this can then be used in clockconfig

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 17:35:49 +00:00
Oliver Tappe
3bf890b9ec * do not leak ICU timezone
* minor cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 17:29:36 +00:00
Adrien Destugues
a09c2bb328 * ReadOnlyBootPrompt finally saves the locale settings again, so at first bot the system will be in the right language.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 09:08:52 +00:00
Adrien Destugues
5dbb457c09 * Allow ReadOnlyBootPrompt to change languages at runtime again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 08:48:34 +00:00
Oliver Tappe
38ac8def5a Largish cleanup sweep concerning the Locale Kit (sorry it got so big):
* refactored private/mutable stuff out of LocaleRoster into MutableLocaleRoster
* moved management of Locale/Time settings file and broadcasting of any changes 
  out of preflets and into MutableLocaleRoster
* added proper sorting to the listviews of the Locale preflet
* the Time preflet no longer overlaps long timezone names into the actual time
* several fixes with respect to leaking ICU objects, esp. in BCountry
* the locale roster no longer passes out references to its own BCountry object,
  but uses copies, instead - this makes locking superfluous, as the clients'
  BCountry objects can no longer be changed by the setting a new default 
  country in the locale roster
* removed pretty useless POSIX-style symbol fetching from BCountry - if we
  need that at all, it should live in the dedicated formatter classes
* adjusted readonlybootprompt, dstcheck and Deskbar to the changed Locale API
* refactored existing Time-formatter into TimeUnitFormat and DurationFormat
  (the latter of which is now used by AboutSystem)
* added stubs for Date, DateTime and Time formatters
* lots of coding style fixes throughout the Locale Kit and the Locale and Time 
  preflets
This will probably break most external apps making use of the Locale Kit - it
does break WebPositive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-01 20:28:19 +00:00
Oliver Tappe
99d2aa985b Improved the Time preflet (still not working properly, though)
* basically rewrote TimeZone to sport a nicer to use interface
* adjusted all users of TimeZone accordingly
* changed TZDisplay to show the Date next to the label, in
  order to avoid that long timezone names draw all over it
* the timezone listview is now properly sorted according
  to the current language (using BCollator)
* fixed a couple of bugs (overflows, etc.) that caused
  incorrect GMT offsets to be used during computations


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 20:10:26 +00:00
Adrien Destugues
8b39afead5 * Fix wrong function call in TimeZone.Code() leading to a localized string being returned instead of the expected code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 14:57:46 +00:00
Adrien Destugues
1c99030935 * Style fixes pointed out by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 14:45:54 +00:00
Adrien Destugues
e88fbde60b * Fix some issues in collators archiving and key computation
* The test now pass. But unarchiving still isn't working and restores the default collator instead of the archved one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 14:23:08 +00:00
Adrien Destugues
2c6ebfaaea * Fix collator text
* Fix archiving/unarchiving to provide at least a valid object. However, ICU archiving system doesn't look like it's working well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 13:16:11 +00:00
Adrien Destugues
110649a1a4 * Collator API now actually uses ICU.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 11:29:14 +00:00
Adrien Destugues
1855b44cdf * Set the ICU default time zone from the locale preflet. Unfortunately it looks like this doesn't solve all the problems
yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 09:45:52 +00:00
Oliver Tappe
c090a0fd84 * updated ICU build packages with newer builds that try a bit harder to avoid
warnings and incorporate some of the ICU-patches we had in our repo before
  we upgraded to 4.4.1
* fixed remaining warnings when building locale kit
* activated EnableWerror for locale kit
* added 'Unicode' license, which is the second license in use by ICU


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 22:05:39 +00:00
Adrien Destugues
4ae5a45220 * Rewrote the timezone selection part of the time preflet to make use of ICU instead of our custom TZData.
* Not completely working yet, hte POSIX API isn't very happy about ICU timezone names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 13:56:50 +00:00
Oliver Tappe
b891b0acae * broke out locale-related jam rules into their own file, LocaleRules
* made locale build tools shut up about anything except warnings or errors


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 19:56:24 +00:00
Adrien Destugues
282582c005 * Bcountry : private methods start with underscore. The timezone list isnow actually a list of BTimeZone objects, that holdsall the needed info, not only the code. Also tweak the listing code to
remove duplicatesfromthe list generated by ICU.
 * BTimeZone : remove Code, rename Name to GetName. The class is likely to change again for further optimization.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 16:25:43 +00:00
Adrien Destugues
2774e142e1 * Add a BTimeZone class for handling time zones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 13:19:33 +00:00
Adrien Destugues
6c178e1e73 * Add locking system to BCountry to avoid problems with the formatters being deleted while you use them, or created multiple times.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 11:38:37 +00:00
Adrien Destugues
eaf7045526 * Ensure if ICU formatters allocation fails, we return an empty string
* Use a CheckedArrayByteSink for formatting to a char*, instead of allocating a BString then copying it back to the buffer using strncpy


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 09:37:49 +00:00
Adrien Destugues
f48ad0d968 * Style fixes (some pointed out by Axel, some others by the vim stylechecker).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 16:52:49 +00:00
Adrien Destugues
d4f3002de9 * BCountry : add error checking in case the system runs out of memory, cleanup function prototypes (we don't need virtual, this was a leftover of
OpenTracker days)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 16:36:36 +00:00
Adrien Destugues
3bdfd7f340 * BCountry : use lazy initialisation for the date and time formatters, since they are not always used. Makes instancaiating a country faster, and
so, loading the locale preflet is also faster and use less memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 13:54:53 +00:00
Adrien Destugues
a03aca6e06 WIP Timezone support
* BCountry can list the timezones applicable for the country
 * BCountry can give its name (for example France), or LocaleName (french (France)). The second one will later be moved to BLocale class along with 
most of the locale settings ; but this needs a bit of refactoring.
 * The Locale preflet now uses LocaleName instead of Name, since it deals with locales. The time preflet will want only country names, without te 
language information, for example.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 12:47:00 +00:00
Adrien Destugues
9a78a691f8 * Locale Roster : add a function to update the settings from a BMessage
* Locale preference : send such a message broadcast to all applications when the settings are changed
 * Deskbar : receive the message and forward it to the locale roster. This way the time display on the deskbar changes as 
soon as you close the locale preflet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 17:04:28 +00:00
Adrien Destugues
82a115e8bc * BCountry : add copy constructor and assignment operator
* The locale roster uses them instead of messing with pointers, to avoid ownership problems
 * The Locale preflet works on a copy of the default country instead of altering it directly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 14:09:48 +00:00
Adrien Destugues
5d498edbb5 * Removed registering of non-existing application as preferred for catalogs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 10:36:32 +00:00
Adrien Destugues
ec9d39b1eb * Locale Roster : exclude the "gcc4" and "gcc2" folders when searching for add-ons. Avoids an useless debug message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 10:34:06 +00:00
Adrien Destugues
2aeaae9988 * Locale Roster : store an instance of BCountry instead of replicating all of its intrnals and creating instances on demand
* Locale preflet : save the time formats to the settings file if they are different from the defaut.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 10:12:59 +00:00
Adrien Destugues
2d67f5fcd6 Locale preflet : make the 12/24hr switching system more robust and lossless
* When selecting chinese, the AM/PM stays at the beginning of the string
 * When clicking multiple times on the 12 hours button, the AM/PM indicator is added only once.
 * Only regression : the default format for cherokee (US) uses a 12hour clock without AM/PM indicator, so it is not possible 
to switch it to a 24Hr clock scheme.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 17:44:14 +00:00
Adrien Destugues
fe8d7c0225 * Remove the CatalogStub class and put the Gatcatalog function directly in BLocaleRoster,
* Adjust the B_TRANSLATE macros to take this into account
 * Adjust collectkatkeys to take it into account too
Thanks to Ingo for explaining me all the technical details about hiding things in shared objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 11:38:34 +00:00
Adrien Destugues
0e23b87fe4 * Style fixes as pointed out by Ingo. Sorry !
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 16:25:40 +00:00
Adrien Destugues
3047815036 * Fix \x parsing in collectcatkeys again (thanks to Kaliber)
* Hide the CatalogStub::GetCatalog method so that if liblocalestub.a is missing from a localized image, it will not try to steal the catalog of another one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 15:47:06 +00:00
Adrien Destugues
e2cc7215e8 * Fix bug spotted by Rimas Kudelis : if an escaped sequence (such as \xA9) was immediately followed by other digits,
collectcatkeys parsed all the digits instead of just the two associated to the \x, leading to wrong characters in thecatkeys 
file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 11:21:11 +00:00
Adrien Destugues
7af097b973 * Add FormatDate variant returning fields positions and associated DateFields returning their identifiers
* Use them in the time preflet to display and edit the date in a local-aware way


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-17 12:24:57 +00:00
Oliver Tappe
7ad694e346 Some more ICU-related improvements:
* updated icu-devel package to 4.4.1
* create appropriate devel lib links when icu-devel is being installed
  (which only works during build, not when using installoptionalpackage)
* dropped ICU headers from repository and instead fetch them from the
  icu-devel package when needed during the build
* adjusted Jamfiles that make use of ICU-headers accordingly (hopefully
  I didn't miss any)
* fixed license in OptionalPackage description of icu packages


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-15 21:23:45 +00:00
Adrien Destugues
a7e183f8e5 BDateField is already used in ColumnListView, so use another name for this enum.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-14 19:43:46 +00:00
Adrien Destugues
57500c639c * Allow use of unicode character in time view
* Some support for languages having an order different than H:M:S:AM (like chinese). Does not seem to work too well, but I can't spot what I missed
 * API to get the infos about the type of each field in a time format


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-14 16:43:04 +00:00
Adrien Destugues
c96d1da735 * Add an API to get a formatted time along with delimiters for the differrent fields, for further parsing/formatting
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-14 13:20:20 +00:00
Adrien Destugues
5098ba1b94 Update ICU to 4.4
* Remove 4.2 sourcecode
 * ICU is now an optional package (mandatory)
 * Adjust the namespaces and libraries names where needed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-13 19:04:40 +00:00
Adrien Destugues
080f483b21 Make locale kit Hybrid build aware, so that the catalog add-ons will be available for gcc4 applications.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-13 10:51:57 +00:00
Adrien Destugues
51145d87bd Support for setting 12/24Hr mode in locale preflet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-08 09:14:09 +00:00
Adrien Destugues
2f0eb7b11e * Introduce a new method in BCountry to get the first day of week (monday or sunday)
* Localize date in deskbar properly, and use the new API to show the calendar. The "show european date" checkbox is now gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-02 17:15:55 +00:00
Adrien Destugues
757e70593c * Patch by Jorma Karvonnen updated by me : localize NetworkStatus
* Fix a small bug in LocaleRoster : a / was left out in the mimesignature. Didn't cause any harm, but it's cleaner this way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-02 13:03:33 +00:00
Adrien Destugues
be8fa2fb30 * Update all applications in tree to use the new localizing system
* Remove the old one from the locale librairy, with some cleanup
Known regressions :
 * readonlybootprompt will no longer update the locale settings : the 
method used messed with internal undocumented things
 * external localized apps (webpositive for example) will not run 
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-02 11:36:13 +00:00
Rene Gollent
17f902d7c2 Don't leak the time formatter. Fixes ticket #6250.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-01 23:28:09 +00:00
Adrien Destugues
76a4353b79 Add a new way of using the locale kit with static accessors instead of global variables. This has the following consequences :
* Applications don't have to declare BCatalog fCatalog themselves, it's now done automatically
 * Libs and add-ons can be localized just the same way (except static libraries)
For now this new system is yet disabled as I'm looking for some peer review before going on. To enable it you have to define B_TRANSLATE_USE_NEW_MACROS in each file doing catalog access. This will not stay, I'll update the 
other apps to use it.
The linking in jamfiles must be not only with liblocale.so, but also liblocalestub.a. Not sure how to handle this for user-side applications. Libraries are also required to provide a MIME signature to use any catalog.
The locale preflet is updated to the new system (as a test). Othe rapps will follow if everyone is ok with this approach.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-01 11:54:09 +00:00
Adrien Destugues
b5e52140e8 * Fixed a typo in filename of Austria flag
* Converted all the flags to rdef and put them in use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-24 15:12:50 +00:00
Adrien Destugues
3fc995d101 * Deskbar now uses localized time from locale kit. Thus the "24 hour
clock" setting is not needed anymore.
 * The locale kit now provide a less complete 'full' time format : hour 
minutes seconds, I don't think anyone cares much about the "UTC + 1" or 
other similar stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-24 13:32:59 +00:00
Stephan Aßmus
a478859f51 Added liblocale and the ICU libs to the libbe_test target (app_server test
environment). Allows "TARGET_PLATFORM=libbe_test jam install-test-apps" to
build cleanly again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-06 12:11:43 +00:00
Axel Dörfler
96eaa02e8f * Changed BLocaleRoster::GetLanguage() to a signature that makes more sense,
and looks more like the rest of the API.
* Also, it will now return an appropriate error code if the language couldn't
  be allocated (anything else than B_OK is an improvement :-)).
* Several changes in BLanguage:
  - GetName() now gets a BString reference, also
  - it now returns the name in its own language, ie. for German this would
    always be "deutsch", no matter the current language settings, and finally,
  - it now empties the string it gets before adding the name.
  - added GetTranslatedName() that behaves like the previous version.
  - added const where it made sense (ie. almost everywhere).
  - Code() now returns the code of the language only.
  - ID() now returns the full ID of this language, ie. including country,
    variant, and keywords if any.
  - added Country(), and Variant().
  - renamed IsCountry() to IsCountrySpecific().
  - added IsVariant().
* Cleaned up Language.h, minor cleanup in LocaleRoster.cpp.
* Removed the whole move item logic from LanguageListView; while this was not
  only spaghetti code, it doesn't make much sense in the first place.
* Instead of removing stuff from the left, and even worse, moving all countries
  for a language even if only one had been dragged, we now only mark the items
  that are already in the preferred list, and only those.
* Fixed various mixups of FullList*() vs. *() methods that could lead to things
  like bug #5896.
* Pressing the delete key in the preferred list view will now remove the
  language.
* Moved LocaleWindow specific message constants to LocaleWindow.cpp; Locale.h
  is supposed to contain application wide constants.
* The drop logic is now in LocaleWindow.
* We now make sure that each base language can only be in the list once.
* Lots of cleanup, even though I mostly replaced spaghettie code with different
  looking spaghettie code - still, I think things have slightly improved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 17:38:40 +00:00
Oliver Tappe
fd49f4844b * removed debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-26 13:27:27 +00:00
Adrien Destugues
0638c3ab4c * Add some more icons for better testing
* Use the country name instead of the language name to identify each icon
 * Cleanup, fixed copyrights, and some more checks to avoid crashing in case of a missing icon


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 21:34:00 +00:00
Adrien Destugues
ffbcecd489 Add support for flags in BCountry. The flags are stored as HVIF icon resources in liblocale.so.
Test french flag took from http://www.bastisoft.de/misc/flags/ (licence is very permissive), converted to HVIF with Icon O Matic.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 18:52:20 +00:00
Adrien Destugues
87158047dd Add a call in BCountry to get an icon for that country.
Untested and not working yet since we don't provide any icon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 15:57:30 +00:00
Adrien Destugues
e6769b02ce Fix Language::GetName using the system-wide language settings instead of the current application one. Make ReadOnlyBootPrompt localize the list instantly when you select a language in it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 14:57:39 +00:00
Adrien Destugues
eec1db5a07 Fix language display i ReadOnlyBootPrompt :
* On a simple language like "fr", it will display "French"
 * On more complex things like "pt_BR", it will display "Portuguese (Brazil)"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 12:21:17 +00:00
Adrien Destugues
0223612e7e Fix bug that crashed ReadOnlyBootPrompt. Basically it would not check the right function in the catalog addons before calling it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 12:07:56 +00:00
Adrien Destugues
8025477189 * Implement a function to get all the available languages for a given application
* use it in readonlybootprompt instead of previous workaround code.
This makes the readonlybootprompt faster and lighter as it doesn't open and parse all the catalogs anymore, but only checks for their existence.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 23:48:01 +00:00
Adrien Destugues
18383104ce Fix generating en.catalog for the system, it was missing some strings, leading to StringForSize not working properly in english. Sorry !
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 21:09:38 +00:00
Adrien Destugues
e7e7e5b363 Style fix spotted by Jérôme Duval.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 21:49:11 +00:00
Adrien Destugues
6e41269722 Non-localised applications will not manage to get the system catalog. Provide a fallback in this case.
This allows to use ColorControl in non-localized apps. In that case, it will not be localized either.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 19:56:01 +00:00
Adrien Destugues
4343960f55 olta+pulkomandy:
* Introduce an add-on system to allow libbe to call things living inside liblocale (as liblocale depends on libbe, it can't be linked the usual way)
 * This allows localizing the BColorControl class that had some text inside it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 18:07:09 +00:00
Adrien Destugues
e9024a3be5 * Build tools : allow to run DoCatalogs with a custom regexp for special cases
* Introduce a system-wide localization catalog used for strings hidden deep in some libraries. Add special API to get it.
 * string_for_size is the first to make use of this system wide catalog. This allows to have a fully localized DriveSetup.
 * As a side effect, tracker also uses it. It now requires liblocale.so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 23:00:25 +00:00
Adrien Destugues
f237e4182b * Fix a small bug in BLanguage::GetName
* Use BLanguage in AboutSystem to get the names of the languages in the credit list, no need to add useless work for the translators
 * Add some contributors to the credits for japanese translation


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-15 11:19:21 +00:00
Adrien Destugues
a7764b301c Change the catalog loading so it will crawl up the catalogs even if the rt root one is not found. This will allow to load "fr" even if "fr_FR" is not found. This way the preflet in its current state works again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-09 10:47:03 +00:00
Adrien Destugues
33eead339b * Improve the test for TimeFormat (style and error checking)
* Fix the TimeFormat API, there was a double free. Make it work as expected : you send it a number of seconds and it will format it properly in days, hours, minutes, seconds with proper plural.
 * Cleanup other parts of the Format API from useless things. They may get reintroduced later if we feel the need to do so.
 * AboutSystem now use TimeFormat to display the uptime in properly localized way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-17 15:35:28 +00:00
Adrien Destugues
b2c385c072 -Added new TimeFormat API for formatting and localizing a time (uptime, copy duration, ...)
-Added a very simple test that shows the API is corrupting memory and ends up crashing
-Fixed build of other locale tests


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-17 00:02:50 +00:00
Artur Wyszynski
cee04e8074 Fixed various errors/warnings reported by cppcheck:
* memory leaks
* resource leaks
* added const's to getters
* removed a few reundant conditions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-08 22:50:38 +00:00
Adrien Destugues
e6a7a30e3b This should have been part of previous commit :
Add Language->IsCountry to tell if a language holds a country specifier (like fr_FR) or not (fr alone). This allows separating them in the preflet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-31 21:17:39 +00:00
Adrien Destugues
a292eb4af2 Removed useless static qualifier on some variables that made them behave weird.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 12:04:02 +00:00
Stephan Aßmus
005a5d0bfe Stumbled across some problems while using the Locale Kit and added TODOs
accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 11:38:16 +00:00
Adrien Destugues
5570fd11c0 - Locale kit : made the language class live. It now uses ICU as a backend as expected
- Some changes in the locale roster to allow instanciating a language
- Locale preflet : use this new API instead of directly calling ICU
Side effect : all languages in Locale window are now displayed in the current locale. It makes more sense as otherwise the list would be unsortable. However it can get annoying if you mistakenly set a strange language as default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 22:44:34 +00:00
Axel Dörfler
c668114b36 * Fixed broken FormatMonetary() versions which also fixes a warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 19:48:15 +00:00
Axel Dörfler
f9a80fec95 * LocaleRoster.h was not self-containing.
* Moved the locale stuff to the data directory as well (some parts were in /etc).
* The DefaultCatalog will now also scan the user directory for catalogs.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 13:44:22 +00:00
Adrien Destugues
ad34440edc -Removed unseless reference to adler32 in hashmapcatalog
-Localized Keymap preflet and translated it to french


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-27 15:48:01 +00:00
Adrien Destugues
6bf3fe1f2e Fixed handling of \xNN in strings. This way it is possible to translate a string even if there is a B_UTF8_ELLIPSIS or some other weird char in it. Improves the bluetooth preflet translation :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-28 21:39:49 +00:00
Adrien Destugues
e6b7213cc2 -Fingerprint checking now use a simple sum of the hash values, instead of the adler32 algorithm. This allows to match a catalog even if, due to the hashmap instanciation, it is not iterated in the same order. Updated all the existing catkeys files to match this new system.
-As the fingerprint is now fully working, all catkeys fingerprints are now checked, and if they don't match, the build will fail.
-This helped find an error in the Locale Preflet french catalog. It now works again.
-Usual set of cleanups and small style fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-28 20:08:53 +00:00
Adrien Destugues
0a255c0c6a Cleanup of the locale kit tools :
-Jamrule for collectcatkeys no longer print all the strings, only a message when it can't parse one (happens for TR(variable) basically)
-Added fingerprint check in the plaintext catalog ReadFromFile. However, the adler checksum is different each time the catalog is loaded because it relies on the string being iterated always in the same order, but this is not always the case with an HashMap ! Some rethinking is needed, so disabled the check for now so it does not breaks the build
-Some try to debug the bluetooth preflet localization. Still buggy, but I wanted to commit all this mess before I break everything up again.
-Also sorted the fr.catkeys files to be in the same order as the autogenerated en.catkeys (this is useless but makes them easier to check) and updated their fingerprint even if they are still not checked.
-Miscelaneous style fixes, small bugfixes, more error checking and error messages saying where they come from.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-27 21:19:52 +00:00
Adrien Destugues
9ac21cc7b2 Fixed the language listing so the preflet allows you to select your preferred languages in a working way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-21 20:29:24 +00:00
Adrien Destugues
b254319360 -Started to localize the appearance preflet to find more locale kit bugs. It worked.
-MarkForTranslation was not scanned by collectcatkeys, improved the regexp to take it into account
-Some gristing was missing in jamrules, added a bit, still seem to miss some.
-Replaced $(var:B).ext with $(var:S=.ext) as it is the proper way in order not to loose grist and mess things up
-Removed icu include and replaced direct class nesting with pointer to avoid binary compatibility breakage on ICU updates.
-Fixed TimeFormatSettingsView to properly include needed icu things. Should not be there, actually. Needs cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-20 22:16:30 +00:00
Adrien Destugues
76065080e6 -Delete some old unused files
-Some style fixes (mostly whitespace)
-Switch to the short language list and make it build again. seems to have trouble with BStringByteSink and utf8, or is it just my build env having encoding problems ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-20 17:57:06 +00:00
Adrien Destugues
fb581e32d1 Fixed licence headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-19 12:19:46 +00:00
Oliver Tappe
75f1522155 * reintegrated gsoc-locale-kit branch into trunk - there's more
work to do, but it's about time to give this code more exposure.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-18 22:23:34 +00:00
Oliver Tappe
d837161f13 * moved locale language files from B_BEOS_ETC_DIRECTORY to
B_SYSTEM_DATA_DIRECTORY, as that seems more appropriate


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-06 13:14:06 +00:00
Oliver Tappe
13be439cfb * should be linked against target-c++-lib (as I'm told by Rene)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 19:15:42 +00:00
Oliver Tappe
89b5d39790 err, fix for my fix:
* its __GNUC__, not __GCC__, tsk!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 15:00:44 +00:00
Oliver Tappe
6449afb193 fix gcc2 build:
* __gnu_cxx namespace is unknown to gcc2

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 14:58:41 +00:00
Rene Gollent
0d487f65e9 Move using directives into the cpp files so they don't leak into apps making use of the locale kit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 14:52:54 +00:00
Oliver Tappe
a0352959ac * followed advice by Rene to explicitly import the used std-classes instead
of simply importing the whole namespace - thanks for proofreading!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 14:28:32 +00:00
Oliver Tappe
3a268d9080 * applied several fixes to make locale kit buildable with gcc4, too
* actually, all those fixes were already contained in PulkoMandys patch,
  but I just missed that :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 13:44:35 +00:00
Oliver Tappe
723383c0f4 Applied patch by PulkoMandy, adjusted and extended by myself:
* integrating most of the locale kit into the build (and image)
* removed LocaleBuild.h and _IMPEXP_LOCALE since that does not make
  sense for elf (which usually exports all symbols anyway)
* added a couple of locale kit related pseudo targets for convenience
Hey, some of that stuff already seems to work :-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 21:56:16 +00:00
Oliver Tappe
c3ac87e8fc * Copied imported OpenTracker Locale Kit files from the vendor branch
into their new homes (at least for now, might need some adjustment).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 19:23:59 +00:00