From e3f702e83a26468ee44f3f342a7a40a252f4603c Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Fri, 29 Jul 2005 03:26:28 +0000 Subject: Translation - Language Translation using libtranslate is implemented - Autoengine sets current charset (option) --- examples/Makefile.am | 12 ++++++---- examples/example.c | 40 ------------------------------- examples/example1.c | 40 +++++++++++++++++++++++++++++++ examples/example2.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++ examples/rcc-gtk-config.c | 6 ++--- 5 files changed, 110 insertions(+), 48 deletions(-) delete mode 100644 examples/example.c create mode 100644 examples/example1.c create mode 100644 examples/example2.c (limited to 'examples') diff --git a/examples/Makefile.am b/examples/Makefile.am index 6886a77..99b7506 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1,6 +1,8 @@ -bin_PROGRAMS= example -example_SOURCES= example.c -example_LDADD= ../src/librcc.la +bin_PROGRAMS= example1 example2 +example1_SOURCES= example1.c +example1_LDADD= ../src/librcc.la +example2_SOURCES= example2.c +example2_LDADD= ../src/librcc.la if HAVE_GTK bin_PROGRAMS+= rcc-gtk-config @@ -18,7 +20,7 @@ endif EXTRA_DIST= input-russian.txt rcc.xml rcc-example.xml mpg123-rcc.patch -test-russian: example - cat input-russian.txt | ./example +test-russian: example2 + cat input-russian.txt | ./example2 ru AM_CPPFLAGS = -I../src -I../ui diff --git a/examples/example.c b/examples/example.c deleted file mode 100644 index 43fc853..0000000 --- a/examples/example.c +++ /dev/null @@ -1,40 +0,0 @@ -#include -#include -#include -#include - -#include - - -int main() { - const char *language; - char buf[255]; - char *recoded; - - rcc_class classes[] = { - { "input", RCC_CLASS_STANDARD, NULL, NULL, "Input Encoding", 0 }, - { "output", RCC_CLASS_STANDARD, "LC_CTYPE", NULL, "Output Encoding", 0 }, - { NULL } - }; - - setlocale(LC_ALL, ""); - - rccInit(); - rccInitDefaultContext(NULL, 0, 0, classes, 0); - - language = rccGetCurrentLanguageName(NULL); - if (language) printf("Current Language: %s\n\n", language); - else printf("Unable Detect Language\n\n"); - - while (fgets(buf,255,stdin)) { - if (strlen(buf)<2) break; - recoded = rccRecode(NULL, 0, 1, buf); - if (recoded) { - printf(recoded); - free(recoded); - } else printf(buf); - } - - rccFree(); - return 0; -} diff --git a/examples/example1.c b/examples/example1.c new file mode 100644 index 0000000..43fc853 --- /dev/null +++ b/examples/example1.c @@ -0,0 +1,40 @@ +#include +#include +#include +#include + +#include + + +int main() { + const char *language; + char buf[255]; + char *recoded; + + rcc_class classes[] = { + { "input", RCC_CLASS_STANDARD, NULL, NULL, "Input Encoding", 0 }, + { "output", RCC_CLASS_STANDARD, "LC_CTYPE", NULL, "Output Encoding", 0 }, + { NULL } + }; + + setlocale(LC_ALL, ""); + + rccInit(); + rccInitDefaultContext(NULL, 0, 0, classes, 0); + + language = rccGetCurrentLanguageName(NULL); + if (language) printf("Current Language: %s\n\n", language); + else printf("Unable Detect Language\n\n"); + + while (fgets(buf,255,stdin)) { + if (strlen(buf)<2) break; + recoded = rccRecode(NULL, 0, 1, buf); + if (recoded) { + printf(recoded); + free(recoded); + } else printf(buf); + } + + rccFree(); + return 0; +} diff --git a/examples/example2.c b/examples/example2.c new file mode 100644 index 0000000..cc4a3fa --- /dev/null +++ b/examples/example2.c @@ -0,0 +1,60 @@ +#include +#include +#include +#include + +#include + + +int main(int argc, char *argv[]) { + rcc_language_id language_id, current_language_id, english_language_id; + rcc_string rccstring; + const char *language; + char buf[255]; + char *recoded; + + rcc_class classes[] = { + { "input", RCC_CLASS_STANDARD, NULL, NULL, "Input Encoding", 0 }, + { "output", RCC_CLASS_STANDARD, "LC_CTYPE", NULL, "Output Encoding", 0 }, + { NULL } + }; + + setlocale(LC_ALL, ""); + + rccInit(); + rccInitDefaultContext(NULL, 0, 0, classes, 0); + rccInitDb4(NULL, "example", 0); + rccSetOption(NULL, RCC_OPTION_TRANSLATE, 1); + +// rccExternalInit(); +// rccExternalFree(); + + current_language_id = rccGetCurrentLanguage(NULL); + english_language_id = rccGetLanguageByName(NULL, "en"); + if (argc>1) rccSetLanguageByName(NULL, argv[1]); + language_id = rccGetCurrentLanguage(NULL); + + language = rccGetCurrentLanguageName(NULL); + if (language) printf("Current Language: %s\n\n", language); + else printf("Unable Detect Language\n\n"); + + while (fgets(buf,255,stdin)) { + if (strlen(buf)<2) break; + + rccSetLanguage(NULL, language_id); + rccstring = rccFrom(NULL, 0, buf); + if (rccstring) { + rccSetLanguage(NULL, english_language_id); + recoded = rccTo(NULL, 1, rccstring); + if (recoded) { + printf(recoded); + free(recoded); + } else printf("Recoding from UTF-8 is failed\n"); + free(rccstring); + } else printf("Recoding to UTF-8 is failed\n"); + } + + rccFree(); + + return 0; +} diff --git a/examples/rcc-gtk-config.c b/examples/rcc-gtk-config.c index 7758f09..d0775a6 100644 --- a/examples/rcc-gtk-config.c +++ b/examples/rcc-gtk-config.c @@ -38,15 +38,15 @@ int main (int argc, char *argv[]) if (argc<1) config = argv[0]; else config = argv[1]; - gtk_set_locale (); - gtk_init (&argc, &argv); - rccInit(); rccUiInit(); ctx = rccCreateContext(NULL, 0, 0, classes, 0); rccLoad(ctx, config); uictx = rccUiCreateContext(ctx); + gtk_set_locale (); + gtk_init (&argc, &argv); + window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_policy(GTK_WINDOW (window1), FALSE, FALSE, TRUE); gtk_window_set_title (GTK_WINDOW (window1), "LibRCC Config"); -- cgit v1.2.3