diff options
Diffstat (limited to 'Build/source/libs/icu/icu-50.1/samples/translit/answers/main_2.cpp')
-rw-r--r-- | Build/source/libs/icu/icu-50.1/samples/translit/answers/main_2.cpp | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-50.1/samples/translit/answers/main_2.cpp b/Build/source/libs/icu/icu-50.1/samples/translit/answers/main_2.cpp new file mode 100644 index 00000000000..bf392d105a6 --- /dev/null +++ b/Build/source/libs/icu/icu-50.1/samples/translit/answers/main_2.cpp @@ -0,0 +1,85 @@ +/******************************************************************** + * COPYRIGHT: + * Copyright (c) 1999-2002, International Business Machines Corporation and + * others. All Rights Reserved. + ********************************************************************/ + +#include "unicode/translit.h" +#include "unicode/rbt.h" +#include "unicode/unistr.h" +#include "unicode/calendar.h" +#include "unicode/datefmt.h" +#include <stdio.h> +#include <stdlib.h> +#include "util.h" +#include "unaccent.h" + +int main(int argc, char **argv) { + + Calendar *cal; + DateFormat *fmt; + DateFormat *defFmt; + Transliterator *greek_latin; + UErrorCode status = U_ZERO_ERROR; + Locale greece("el", "GR"); + UnicodeString str, str2; + + // Create a calendar in the Greek locale + cal = Calendar::createInstance(greece, status); + check(status, "Calendar::createInstance"); + + // Create a formatter + fmt = DateFormat::createDateInstance(DateFormat::kFull, greece); + fmt->setCalendar(*cal); + + // Create a default formatter + defFmt = DateFormat::createDateInstance(DateFormat::kFull); + defFmt->setCalendar(*cal); + + // Create a Greek-Latin Transliterator + greek_latin = Transliterator::createInstance("Greek-Latin"); + if (greek_latin == 0) { + printf("ERROR: Transliterator::createInstance() failed\n"); + exit(1); + } + + // Loop over various months + for (int32_t month = Calendar::JANUARY; + month <= Calendar::DECEMBER; + ++month) { + + // Set the calendar to a date + cal->clear(); + cal->set(1999, month, 4); + + // Format the date in default locale + str.remove(); + defFmt->format(cal->getTime(status), str, status); + check(status, "DateFormat::format"); + printf("Date: "); + uprintf(escape(str)); + printf("\n"); + + // Format the date for Greece + str.remove(); + fmt->format(cal->getTime(status), str, status); + check(status, "DateFormat::format"); + printf("Greek formatted date: "); + uprintf(escape(str)); + printf("\n"); + + // Transliterate result + greek_latin->transliterate(str); + printf("Transliterated via Greek-Latin: "); + uprintf(escape(str)); + printf("\n\n"); + } + + // Clean up + delete fmt; + delete cal; + delete greek_latin; + + printf("Exiting successfully\n"); + return 0; +} |