ralpeng - Dictionary Application - 0.3a

Started by xMine, August 27, 2010, 04:04:20 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

xMine

Kaltxì ma oeyä eylan,
I'm coding a dictionary application since a while now, and I thought it'd be a good moment to release
it to other learners ;)
So, you might ask "Why a new dict app?". The answer is simple:
There are others, but there is every time something that is just getting on my nerves...
Some aren't flexible enough, others are only online available, etc.
So, I've decided to make my own:

ralpeng 0.3a – Public beta

ralpeng is a fast and customizable dictionary application. It works under Windows and Linux.

Features
Quote
- Multilingual: Translations are available for English and German, others are simple to create
- Multiple databases for multiple languages
- Ralpeng warns you on start, if one or more of your databases are older than X days
- Easy import/update of databases
- Performance: ralpeng has no problem at all with more than 1.9k entries in the table
- You can choose your search direction (Na'vi → Language, Na'vi ← Language, Na'vi ←→ Language)
- non-strict: Automatically replaces ì, ä, tx, px and kx in searches
- Auto completion in search
- Of course you can sort the table by the columns
- You can directly search in the Na'vi column by just typing
- Shows the IPA and infix positions (Please read the about dialog)
- Customizable through a simple ini file (see settings.ini)
- Useful Links in the ,,Help" menu
- You can minimize ralpeng to the systemtray
- There is also a program switch "-hide" to start the program hidden, e.g. when you want to load ralpeng when you start your computer
- Makes use of the GTK skinning features at Windows
- Translation of Numbers in both directions
- Pronunciation help thanks to Talis' audiofiles (IRAYO!)
- User database manager
- Help with conjugating
- Intelligent searching (Removes infixes in search to help you translating text)

Planned features
- Direct translation of phrases
- Voc trainer?
- Updatefeature for ralpeng
- Autoupdate for databases

The user database manager
A simple manager, where you can create and manage your own database. The user database will be shown
in search results in any language, and will be marked as "Custom". It's pretty straightforward, so I think I don't
have to explain any detail of it ;)

Number translations
Just "search" your number – ralpeng can handle both human numbers and na'vi numbers. Ordinal numbers are
also no problem (in both directions of course). When you want to translate a human → Na'vi number, just type
a "." after the Number (e.g. "123.")

A note to the IPA and the infix positions
As ralpeng parses CSV TSV files (it uses eanaeltus files, if you don't provide any other url), it has no information about the
IPA and the infix positions. Thus it calculates them when you need them. Wrong results aren't very often,
I've seen none so far (except a fixed bug with the infix positions). So, before you complain about this, please have
a look at it ;)

Getting started
1. Download ralpeng (link below)
2. Extract it somewhere using a rar unpacker
3. Windows users: Just start "ralpeng.exe". Linux users: Navigate in a shell to ralpeng's directory and execute "ralpeng_run"
4. When you get an error message, just click OK (This is because it can't find a DB, which you don't have at this point)
5. Now click on Languages → Import.
6. Type in your desired language, e.g.: "en" for English, "de" for German, etc. The text input on the bottom is optional.
7. Click on OK and wait some seconds; ralpeng downloads (or opens, if you've provided an local path) the database and loads its data into the internal database.
8. Restart ralpeng or click on Languages → <language> → Choose.
9. You're all set, have fun!

Note about the settings
As stated above, ralpeng is easily customizable. To do this, just check out "settings.ini" (Windows users may use a notepad like notepad++ or notepad2). I've made some comments how to do things. When you ever come to a pointer,
where you don't like the default behavior, then have a look in there. If you can't get it right, contact me.

Translations
You can help me if you want: When you speak a language other than German or English, then you can translate ralpeng.
Just have a look in the "lang" folder, you can use these translation files as a template. If you want to help me with other
things, then let me know.

Wisdoms
Every time you start ralpeng, it chooses a random line from "kanu.txt" and displays it in the title.
Add or remove them as you like ;)

Conjugating words
To let ralpeng conjugate a word, just type the word plus the "command suffix", which
is similar to eanaeltus functionality some people know from IRC.
Example: kame-FUTSUBJ => kìyevame.
Ralpeng only adds possible pre-, in- and suffixes to the word, so something like this won't work:
"taron-PL" wont become "aysaron", but stay "taron". You can check yourself easily, if ralpeng
added the *fix or not: take a look at the text in brackets in the "Language" column.
Examples:
kame-FUTSUBJ => "kìyevame see (FUTSUBJ)"
taron-PL => "taron hunt ()"

A list of the suffixes:

Intelligent searching
Ralpeng now searches for infixes in words and removes them. Yes, infixes only.
Example:
"tamaron" => "taron" – Pretty simple, huh?

Any problems, questions, recommendations, etc?
You can always contact me if you find a bug, can't get something to work or want to say your opinion about ralpeng. (Either way, please do a constructive post. Don't say "ralpeng is s**t", but say: "ralpeng is s**t, because of <your text here>". Thank you :) )
Use one of the following methods:
- Just post it here
- Via PM
- ICQ: 294-766-471
- eMail: eanpamrelsiyu gmail com

Download
The English and the german version just differs in default settings, nothing else
I've created a folder for ralpeng at mediafire, which should be easy to remember:
http://www.mediafire.com/ralpeng

Thanks
- To taronyu, Plumps, and anyone who creates/translates/hosts/whatever the dictionary
- To my testers, who are investing a lot of time testing random stuff
- To the guy who created the awesome tree logo (Who made it?)
- Anyone else I've forgotten ( :-\ )

And now go hunting some easter eggs (hint);)

Kìyevame

Tuiq

Please remember that CSV files are neither supported nor updated and most likely to be deleted soon.
Eana Eltu: PDF/TSV/jMemorize

xMine

@Tuiq:
Okay, ... no SQL files (you once said that at #na'vi) and no CSV files either.
So, will you provide any other files/database dumps from eanaeltu for 3rd party applications?

Kìyevame

Tuiq

Eana Eltu: PDF/TSV/jMemorize

xMine

There are, but you said back then that you'll stop creating them soon...

Tuiq

I also said, like the last post in the EE thread states, that they are back thanks to muzer's effort.
Eana Eltu: PDF/TSV/jMemorize

Muzer

CSVs are going? Want me to write a plugin for them (after I've done the RSS one)?
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

xMine

#7
That would be really awesome ma Muzer!
Oh .. and RSS? How awesome is that!?

That would save me time creating an sql parser (Who thinks, that
i'm using SQL for this task? It would be just overkill and i wouldn't
have the complete control about searching and stuff), so
I could spend it on creating and improving the grammar functions
(Currently working on a word analyses thing i'll use for "intelligent searching")

Oh, and is there a reaon why the different files have different encodings?
What is the non-UTF8 one? windows-1225 or something?

Kìyevame

Muzer

AFAIK TSVs are here to stay, so you could just swap to those. I assume they are no harder to parse than CSVs (just use \t instead of , possibly)
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

xMine

Exactly. Now I just have to find out which encoding is used, write an function for that
and that's it :)

Tuiq

It's UTF8. If it's not UTF8, it's a bug.

And, have fun writing a CSV plugin. Because I won't deny the translators to use [";,] - and I'd like to see how you want to escape things.
Eana Eltu: PDF/TSV/jMemorize

xMine

The CSV parser function from libralpeng is designed to fit exactly on the format you're using: Navi;Translation;PoS
The function just looks for the first and the last one. A ; in the na'vi part would be bad, but it's unlikely that this will
happen with correct files. A ; in the translation is fine, ralpeng searches for the last one, not the next one.
The translations are separated with commas. Commas in brackets or text in " or ' are ignored.

The function itself isn't a revolution or something, but it does exactly it's job.

Oh, and the TSV files: The jMemorize one is UTF8, the other one isn't.

Tuiq

The thing of prodiving CSV files was not to support some programs, the reason behind these are that all programs can profit from them. At least for TSV, CSV and the SQL file.
Eana Eltu: PDF/TSV/jMemorize

xMine

uhm... thats obvious, isn't it?
When my function outputs garbage because its just not good enough to get
right results, i have to fix it, not you.
But as long it outputs correct data everything is fine...

Tuiq

No, what I meant is that the CSV output was obvious broken for any program that does not do that "I get the last ;" magic. And besides, adding new fields would be impossible that way. So since I can't provide working CSV I just provide none.

And now I'll GTFO.
Eana Eltu: PDF/TSV/jMemorize