diff options
author | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2005-08-02 04:43:01 +0000 |
---|---|---|
committer | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2005-08-02 04:43:01 +0000 |
commit | 8b75f9bb6a09d54d634ff661655659951378aa2c (patch) | |
tree | 611f800f33ca919d37c724957fcc8c2b2bccb342 /examples | |
parent | e3f702e83a26468ee44f3f342a7a40a252f4603c (diff) | |
download | librcc-8b75f9bb6a09d54d634ff661655659951378aa2c.tar.gz librcc-8b75f9bb6a09d54d634ff661655659951378aa2c.tar.bz2 librcc-8b75f9bb6a09d54d634ff661655659951378aa2c.tar.xz librcc-8b75f9bb6a09d54d634ff661655659951378aa2c.zip |
Language autodetection
- rccConfigRecode function's are added
- Language autodetection using aspell is added
- Translation in 3 modes: "To English Language", "Skip English Translation", "Full"
- Example2 to demonstrate translation possibilities
Diffstat (limited to 'examples')
-rw-r--r-- | examples/Makefile.am | 3 | ||||
-rw-r--r-- | examples/example2.c | 13 | ||||
-rw-r--r-- | examples/input-russian.txt | 2 | ||||
-rw-r--r-- | examples/rcc-gtk-config.c | 6 |
4 files changed, 14 insertions, 10 deletions
diff --git a/examples/Makefile.am b/examples/Makefile.am index 99b7506..710b7dc 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -20,6 +20,9 @@ endif EXTRA_DIST= input-russian.txt rcc.xml rcc-example.xml mpg123-rcc.patch +test: example2 + cat input-russian.txt | ./example2 + test-russian: example2 cat input-russian.txt | ./example2 ru diff --git a/examples/example2.c b/examples/example2.c index cc4a3fa..5ef3efb 100644 --- a/examples/example2.c +++ b/examples/example2.c @@ -24,27 +24,26 @@ int main(int argc, char *argv[]) { rccInit(); rccInitDefaultContext(NULL, 0, 0, classes, 0); rccInitDb4(NULL, "example", 0); - rccSetOption(NULL, RCC_OPTION_TRANSLATE, 1); - -// rccExternalInit(); -// rccExternalFree(); + rccSetOption(NULL, RCC_OPTION_TRANSLATE, RCC_OPTION_TRANSLATE_FULL); current_language_id = rccGetCurrentLanguage(NULL); english_language_id = rccGetLanguageByName(NULL, "en"); if (argc>1) rccSetLanguageByName(NULL, argv[1]); + else rccSetOption(NULL, RCC_OPTION_AUTODETECT_LANGUAGE, 1); language_id = rccGetCurrentLanguage(NULL); language = rccGetCurrentLanguageName(NULL); if (language) printf("Current Language: %s\n\n", language); - else printf("Unable Detect Language\n\n"); + else { + printf("Unable Detect Language, using english\n\n"); + rccSetLanguageByName(NULL, "en"); + } 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); diff --git a/examples/input-russian.txt b/examples/input-russian.txt index 8ea6e44..b89c105 100644 --- a/examples/input-russian.txt +++ b/examples/input-russian.txt @@ -2,3 +2,5 @@ ïðèâåò ¯à¨¢¥â привет +Good Morning +Guten Abend diff --git a/examples/rcc-gtk-config.c b/examples/rcc-gtk-config.c index d0775a6..7758f09 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"); |