diff options
| author | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2005-07-29 03:26:28 +0000 | 
|---|---|---|
| committer | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2005-07-29 03:26:28 +0000 | 
| commit | e3f702e83a26468ee44f3f342a7a40a252f4603c (patch) | |
| tree | 5ff76e9d11a9fdbdb493683d0f0840f46c67b6f8 /examples | |
| parent | cfaef1b6c9f33fbaa114628cf513d129bdff3c1c (diff) | |
Translation
    - Language Translation using libtranslate is implemented
    - Autoengine sets current charset (option)
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/Makefile.am | 12 | ||||
| -rw-r--r-- | examples/example1.c (renamed from examples/example.c) | 0 | ||||
| -rw-r--r-- | examples/example2.c | 60 | ||||
| -rw-r--r-- | examples/rcc-gtk-config.c | 6 | 
4 files changed, 70 insertions, 8 deletions
| 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/example1.c index 43fc853..43fc853 100644 --- a/examples/example.c +++ b/examples/example1.c 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 <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <locale.h> + +#include <librcc.h> + + +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"); | 
