summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@dside.dyndns.org>2005-08-11 01:06:56 +0000
committerSuren A. Chilingaryan <csa@dside.dyndns.org>2005-08-11 01:06:56 +0000
commit3736c5f3635863e54ab2cc47860628d26855c749 (patch)
tree3c1dadec1b75557463fcc740429cceb6e948f998 /README
parent63bf2a90a6d6fb0859e4c9dd9fcac85de9adc0f1 (diff)
downloadlibrcc-3736c5f3635863e54ab2cc47860628d26855c749.tar.gz
librcc-3736c5f3635863e54ab2cc47860628d26855c749.tar.bz2
librcc-3736c5f3635863e54ab2cc47860628d26855c749.tar.xz
librcc-3736c5f3635863e54ab2cc47860628d26855c749.zip
Transliteration and Documentation Update
- Fix: Autodetection of dissabled charsets. - Fix: Cleanely terminate external process if parrent thread terminated. - Transliteration for Russian, Ukrainian and using IConv. - Documentation Update.
Diffstat (limited to 'README')
-rw-r--r--README162
1 files changed, 158 insertions, 4 deletions
diff --git a/README b/README
index 6a47827..5a13638 100644
--- a/README
+++ b/README
@@ -1,7 +1,161 @@
+RusXMMS Project
+===============
-Language Autodetection
-----------------------
+Originally, the project was aimed to provide means to work with multiple encodings
+of the same language through adapting encoding of ID3 tags, M3U and PLS playlists
+(including file names) to local settings on-the-fly. Both the tag reading and
+writing back using any selected encoding was supported.
+Nowadays there are library available providing the same functionality for almost
+any program with just a few lines of code. The library is not limited to ID3 tags,
+it can be useful for any program working with small titles or file names in
+different languages and encodings. The patches for several music players, ID3 tag
+libraries and some other programs are available on the project page.
+The Abilities of LibRCC Library
+===============================
-Translation
------------
+ * Language Autodetection
+ * On the fly translation between languages, using online-services!
+ * Encoding Autodetection for most of European Languages1
+ * Support for encoding detection plugins (besides Enca and LibRCD)
+ * Recoding/translation of multi-language playlists!
+ * Cache to speed-up re-recoding.
+ * Possibility to configure new languages and encodings.
+ * Shared configuration file. For example mentioned TagLib and LibID3 patches
+ do not have their own user interface, but will utilize the same recoding
+ configuration as XMMS.
+ * As well the separate program for configuration adjustment is available.
+ * GTK/GTK2 UI Library: you can add properties page to your GTK application
+ with 3 lines of code.
+ * Menu localization opportunity
+
+The Available Patches
+=====================
+
+ * RusXMMS: Visualization and editing of the whole range of ID3 tags using any
+ of eight byte or unicode encodings. Support for playlists with non-english
+ filenames. The translation of foreign languages to english or locale one is
+ supported as well. The embeded properties page. The patch makes XMMS the best
+ player to work with ID3 titles.
+ * TagLib: Visualization and editing of ID3 v.1 and v.2 titles. Any TagLib
+ based application will correctly work with ID3 tags out of the box. The
+ properties page can be added to application with several lines of code.
+ Additionaly, after applying the patch, the 'tagwriter' program from the
+ TagLib examples can be used to convert titles of all your MP3 files to
+ unicode ID3 v.2 tags just using command: "tagwriter *.mp3".
+ * LibID3: Visualization of ID3 v.1 and v.2 titles. Any LibID3 based
+ application will correctly display (but not edit) ID3 tags out of the box.
+ * Mpg123: Visualization of ID3 v.1 titles.
+ * GFtp: Recoding file names between FTP servers using different encodings.
+ * Unzip: Recoding file names from Windows created archives.
+
+
+Gratitudes
+==========
+ * Me ;)
+ * Michael Shigorin - Ideas and great help in wiping bugs
+ * Dmitry A. Koptev - Slackware packages
+ * IPE, ForschungsZentrum, Karlsruhe
+ * CRD, Yerevan Physics Institute
+ * Georgian and Spanish winemakers :)
+
+Important Notes
+===============
+
+1. It have much more sense to report problems here, then just claiming nothing is
+ working on miscellaneous forums and mailing lists.
+2. If you want patches presented here to be included in the correspondent project
+ trees, please, ask authors. The same thing should be concerned about inclusion
+ of LibRCC and LibRCD in the official Gentoo portage tree.
+3. Most of the patches will modify configure.in and Makefile.am files, so the full
+ autoconfiguration should be performed.
+ You should run "aclocal; automake; autoconf" prior to using configure script.
+4. Output encoding normally must correspond to current "LC_CTYPE" locale. If
+ you would set it to another value without really knowing what are you doing,
+ it can raise problems.
+
+Preferences
+===========
+
+ * Current Language. The English, Russian, Ukrainian, Belarussian, Bulgarian,
+ Czech, Estonian, Croatian, Hungarian, Lithuanian, Latvian, Polish, Slovak,
+ Slovenian and Chinese are embeded in the library. To get other languages you
+ should configure them in the "/etc/rcc.xml" or in user-defined configuration
+ "~/.rcc/rcc.xml". By default the language will be determined using LC_CTYPE
+ environmental variable.
+ * Current encoding for supported encoding classes. For RusXMMS the following
+ classes are defined:
+ o ID3 Encoding
+ o ID3 v.2 Encoding (uses ID3 by default)
+ o PlayList Encoding (uses ID3 by default)
+ o Encoding for Filenames in the Playlists (defaults to FS encoding)
+ o FileSystem Encoding (uses locale encoding by default)
+ o Output Encoding (uses locale encoding by default)
+ The default encoding will be resolved using:
+ o The unicode encoding selected for english language.
+ o The encoding of the parrent class if any.
+ o The unicode encoding defined by locale variable or any locale encoding
+ in the case of locale language is used.
+ o First available usable encoding.
+ * Encoding autodetection engine. First available is used by default.
+ * Mode for recoding cache:
+ o Off: Do not use recoding cache
+ o On: Use recoding cache to find out encoding and language
+ o ReLearn: Fill recoding cache with detected values
+ o Learn: Try to use recoding cache to find out encoding. If there are
+ no cached encoding for current title try to detect it and store in the
+ cache.
+ * Autodetect File Name: If option is switched on the encoding of the file
+ will be resolved using search over file system.
+ * Autoengine Set Current Encoding: Encoding autodetection engine will
+ automatically set detected encoding to be used by default.
+ * Autodetect Language: Try to autodetect used language. Quite slow.
+ * Translate Text: Translate text from detected language to the locale
+ language. Very slow and requires internet connection. The different modes is
+ available. In the full mode the string will be translated to the current
+ locale language. If translation to locale language is failed, the string will
+ be translated to english. With "Skip Related" and "Skip parrent" options the
+ translation between related languages will be omited (The language is
+ considered to be parrent language in the case then it is expected to have
+ words from that language in the strings of child language. The english
+ language is considered to be parrent language for any other.).
+ With "Translate to English" option it is possible to translate all strings
+ to english.
+ * Since the translation is slow, it is possible to limit maximum time used to
+ recode/translate string. In this case if translation in the specified amount
+ of time is not finished, untranslated string will be returned. However, the
+ string will be queued for translation and in the next access the translated
+ and cached value will be returned.
+ * Additionally, for RusXMMS only it is possible to specify font used by shade
+ form of xmms playlist.
+
+Using Multi-Language Playlist
+=============================
+There are two ways of using multi-language playlists. The first is to use
+Language autodetection:
+
+ * The UTF-8 locale should be set.
+ * The LibRCC should be compiled with aspell support.
+ * The aspell dictionaries for all languages used should be installed.
+
+However this is quite slow, and errnous in the cases then mostly non-dictionary
+words are used. The second option, is to use recodings cache:
+
+ * The UTF-8 locale should be set.
+ * Select "Learn" mode for recoding caching policy in the preferences prior
+ to loading new files.
+ * Afterwards the titles for the loaded files will be recoded correctly
+ whenever the recoding caching is enabled.
+
+Using Language Translation
+==========================
+It is possible to translate titles to your languages using libtranslate.
+The LibRCC should be compiled with LibTranslate support (It will be quite good
+idea to use patched libtranslated with posibility to limit maximum amount of
+time spent for translation) and you should have internet connection. Since
+libtranslate utilizes online translation services it takes a lot of time to get
+translation. To solve this problem the translation queueing and caching is used.
+If translation is failed in considered amount of time error will be returned to
+caller and string will be queued for translation. The translated string will be
+stored in the DB4 cache and will be returned to caller on the following requests
+for translation.