MultiDict - a multi-language dictionary - Android Apps and Games

Link Google play: https://play.google.com/store/apps/details?id=com.dungelin.MultiDict
MultiDict is a multi-language dictionary application, it's support stardict format which available in many language.
Many dictionaries are available from the build-in dict downloader or on the Internet. You can even make your own dictionary by covert.
We have 36 dictionaries of: English, Chinese, Japanese, Korean, French, German, Italian, Russia... MultiDict installer is lightweight and data download from server. Especially , data access part of MultiDict wrote in native code (C) for the best performance.
Features:
• Store data files on SDCard
• Instant offline search
• Translate Clipboard Text
• Multi-language dictionaries
• Multi-dictionary search
• Support StarDict format
• Build-in dict downloader
• New word learning
*** Guide ***
- You need download dictionaries in "Download dictionary" and sample word first for "Memorize"
- You enter "Setting" for manage dictionaries and others
- Manual install dictionary:
+ MultiDict Support StarDict format. Download file and extract to .idx, .dict files
+ Rename folder to dict name. EX : en_kr folder contains file en_kr.idx and en_kr.dict
+ Note : file name only: a,b,..,y,z;0,1...8,9,_ and non space between.
+ Copy folder to sdcard/MultiDict/dicts
For more info please visit: http://code.google.com/p/multidict.

Related

TUTORIAL: Windows Mobile Smartphone Internationalization Issues

In this tutorial, I explain how you can add new word completion (XT9) dictionaries to your Windows Mobile Smartphone and how you can redefine their built-in keyboard layout to match the official keyboards used in different languages (QWERTZ in German, AZERTY in French etc.). Based on my tutorial, you will be able to define any keyboard layout – not just the official ones.
One of the drivers that made me write this was the complete lack of any kind of a tutorial or even usable forum posts on these questions (make a Google search for any of the Registry subkey names!). The available ones (see for example THIS) are pretty much useless. That is, this article, as with most of my other articles, is the first REAL article / tutorial / description of all these issues never ever published by anyone before.
Note that this article only refers to touchscreen-less MS Smartphone (Windows Mobile Standard) devices, NOT Pocket PC’s. Should you want to know how you can redefine the default word completion directory used by Pocket PC’s, check out for example THIS article of mine. In addition, should you want to know how to redefine the built-in thumbboard layout, just read the “Change slide-out keyboard layout” section of the related XDA-Dev Wiki page.
1. Adding new XT9 dictionaries
My biggest problem with my TC Vox (s710) was the lack of a Finnish dictionary, as I do most of my chatting in either English or Finnish. The English dictionary works just great and really greatly increases the text entering speed; this is why I’ve tried very hard to find a Finnish dictionary. This forced me to discover how the XT9 dictionaries work and how additional dictionaries can be registered.
First, some good news. Unlike with the Pocket PC platform, you can easily switch between the XT9 dictionaries by just long-pressing the * dial button (or, on the keyboard, the Sym + Space keys) and just selecting the new dictionary. With the Pocket PC, you couldn’t do this very easily – you would need to quickly change the two Registry values HKCU\ControlPanel\ Sip\DictFile and HKCU\ControlPanel\ Sip\ProbFile. (Of course, using a scripting language / environment like the excellent nScriptm either executable from Start / Programs, you can quickly create a program that switches between the two (or more) dictionaries quickly. You can even assign this file to a hardware button. See my past nScriptm-related articles on how this can be done.)
First, an elaboration on how this all works. Note that you will NOT need this in most cases, unless you want to add your DLL’s not existing in the two CAB’s provided in the next section; in this case, you can safely skip this section and move to the next, 1.2.
1.1 In the Registry
First, some advanced stuff. Let me clarify how the Registry keeps track of the different dictionaries.
1.1.1 eT9\AvailableLanguages
First, let’s have a look at HKEY_LOCAL_MACHINE\ Software\Tegic\eT9\ AvailableLanguages. This lists the supported languages. That is, if a given language is enabled in here, then, it will be selectable in the dictionary selector menu (regardless of whether its dictionary DLL really exists or not).
The language codes here come right from the official ISO country codes (listed for example HERE, in the LCIDHex column), with the exception of 04 being changed to 01.
That is, while the official language code of English is 0409, you must use 0109 to refer to English in here. The same stands for all other languages: for example, French is 040C; therefore, it must be referred to as 010C in here.
Note that the order of the numbers of the different languages is also important. For example, if you want to make sure French is the first, just move 010C to the first place of the list in this Registry value; then, the latter will be something like this:
010C,0109,0107,0110,010A,0113,0105,0108,0118,0115,0116,011B,011F,010E,011D,0114,010B,0106
(This registry import script is also available HERE, should you want to play with it.)
Doing this will result in French being offered as the first in the list:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You will need this information particularly useful when you want to move a language otherwise not in the first section (for example, not accessible with a phonepad shortcut key). For example, this THIS screenshot, you can see Finnish is at the end of the list - you both need a lot of scrolling (even if you press Up at first) to be able to access it and you can’t use a keypad shortcut to activate it either. To fix the problem, you only need to find the language code for Finnish (040B ), change the first 04 to 01 and just move the resulting 010B to the beginning of the list as can, for example, be seen in the following screenshot:
(registry import file available HERE; in it, the list is as follows: "010B,010C,0109,0107,0110,010A,0113,0105,0108,0118,0115,0116,011B,011F,010E,011D,0114,0106")
See how easy is to bring the languages you REALLY need to the beginning of the language list?
Note that, as with all the other Registry hacks in this article, contrary what some people state (for example HERE), the changes will be visible as soon as you modify the Registry. You do NOT need to restart your handheld.
Now, let’s move on to providing the real dictionaries for the system.
1.1.2 eT9\IME\KdbDlls
As one can easily guess, dictionaries take up a lot of memory (in general, between 100 and 400 kbytes); therefore, more scare languages don’t come with all Smartphones to conserve ROM memory. (For example, a Smartphone sold in the U.K. doesn’t necessarily need the Swedish or the Finnish dictionary built-in; therefore, they’re left out.)
This means, in addition to listing the language in eT9\AvailableLanguages (see section 1.1), you must also provide the given DLL for the system.
To do this, the given DLL, firs, must be got from somewhere (for example, extracted form a ROM of a localized (non-general) Smartphone having it) and, after being copied to the \Windows directory of your handheld, must be listed under the HKEY_LOCAL_MACHINE\ Software\Tegic\eT9\ IME\KdbDlls subkey.
The values in here are pretty straightforward: their names end up at the lower byte of the country code and their values contain the name of the DLL. For example, with English (language code in hex: 0409; therefore, lower byte: 09) will be represented like this:
"00010609"="eT9.Dis.9Keys.English.kbd.dll"
The upper three bytes will always be 000106 with eT9.Dis.9Keys DLL’s and 000107 with the much rarer (for example, Greek) eT9.HQD.Libra DLL’s.
1.2 Ready-made dictionaries
Should you want to avoid direct Registry editing, all you need to do is importing the CAB file containing the language dictionary you need. For example, if you need one or more of the English, French, German, Italian, Spanish, Dutch, Czech, Greek, Romanian , Polish, Portuguese, Slovak, Turkish, Hungarian set, you can just download and install the CAB file provided HERE (for the HTC Vox / s710) or HERE (HTC Excalibur / s620).
Should you, on the other hand, need Scandinavian languages (yes, including Finnish, Mr. Rutkowski ), you’ll need THIS file, originally compiled by XDA-Developers forum member mriz. (I provide a link to the version hosted by me because mriz hosts his version on Rapidshare, which is known to take down its downloads after a while.)
A screenshot of the language list is HERE; an in-action screenshot with the Finnish dictionary.
1.2.1 A caveat: very important!
When you install ANY language pack, HKEY_LOCAL_MACHINE\ Software\Tegic\eT9\ AvailableLanguages (see section 1.1) will be overridden and the old dictionaries NOT present in the just-installed one will just disappear! Therefore, you MUST for example save the original contents of this entry and, after installing ANY language pack, just concatenate these numbers to the new ones.
For example, if you install the Scandinavian pack on a handheld that previously had the MoDaCo multilingual pack, eT9\AvailableLanguages will contain only the following after the import (that is, four languages; not even English):
011D,0114,010B,0106
instead of the combination of both packs, listing all the languages in both of them; that is,
0109,010C,0107,0110,010A,0113,0105,0108,0118,0115,0116,011B,011F,010E,011D,0114,010B,0106
(I’ve used italic to denote the languages installed by the previously and, by bold, the Scandinavian pack.)
Therefore, you’ll need to re-add the, now, invisible languages to eT9\AvailableLanguages. Should you be aware of this (by manually editing the Registry), just use for example THIS registry import script.
1.2.2 Compatibility
These files worked just great on my HTC Vox. They, however, didn’t work at all on my WM5 AKU3 HTC Oxygen (s310).
2. Redefining the layout of the built-in hardware keyboard (thumbboard)
Unlike on the Pocket PC, where you could quickly swap the keyboard layout by just editing (as is described in the “Change slide-out keyboard layout” section of the related XDA-Dev Wiki page)
With this platform, the situation is a bit more complicated: you must supply the full keyboard mapping file and, in addition, you must also register it in the Registry.
2.1 Keyboard layout files
The recommended (but not compulsory) naming convention for a keyboard mapping file is the following:
eT9.Vox.XXXX.kmap.txt
where XXXX is the official language code (see the already-linked MSDN page for them) and you can change “Vox” to “Excalibur” on the HTC Excalibur (or anythign similar on other, keyboard-enabled devices). Note that, the Smartphone platform (as opposed to Pocket PC) lacking related file name conventions (you must explicitly refer to the keyboard mapping file in the Registry), it can be named anything. I only use this name to be compliant with the naming conventions used by the Vox version of the MoDaCo dictionary installer.
The contents of these files may seem a bit complicated at first but you will soon be able to navigate around. For example, let’s have a look at the following (Greek) configuration file:
As one can see, there are five fields (referred to as {VK VK' CH1 CH2 KeyIndex} by the code samples) in each record defining a button. The first of them just lists what is physically printed on the key and doesn’t need to be touched – it’s only for human consumption, to give you a helping hand when editing the keyboard map file. The second is more important: it’s what you will want to modify when defining a different letter to be input when you press a button. The third and fourth fields define the symbols produced by Fn + key and the symbols entered in 123 mode (the latter two is the same). Finally, you don’t need to touch the last field either.
Note that you can entirely leave the last field (KeyIndex) off (as is in the German layout I provide below). Then, only the first field in the record will be used to determine which key you’re talking about. An example of this (with the German layout):
{Q Q @ @}
{W W ! !}
{E E 0 0}
{R R 1 1}
{T T 2 2}
{Y Z 3 3}
{U U + +}
{I I / /}
{O O ( (}
{P P ) )}
{A A ? ?}
{S S * *}
{D D 4 4}
{F F 5 5}
{G G 6 6}
{H H - -}
{J J _ _}
{K K : :}
{L L ; ;}
{Z Y 0x09 Z}
{X X # #}
{C C 7 7}
{V V 8 8}
{B B 9 9}
{N N 0xFA N} // 0xFA = Launch symbol window
{M M 0xFB M} // 0xFB = Launch SMS
{0xBE . , ,} // 0xBE = VK_PERIOD
{0x26 0x26 0x21 0x26} // 0xF1 = up arrow, 0x21 = page up
{0x28 0x28 0x22 0x28} // 0xF2 = down arrow, 0x22 = page down
{0x25 0x25 0xFD 0x25} // 0xF3 = left arrow, 0xFD = launch pIE
{0x27 0x27 0xDE 0x27} // 0xF4 = right arrow, 0xDE = '
Let’s take a closer look at the Z and the Y records above: that is, the two records you need to modify to get the German layout out of the English one (on limited keyboards not having a number row and non-alphabetic keys):
{Z Y 0x09 Z}
…
{Y Z 3 3}
As you can see, if you need to instruct the handheld to enter a ‘Y’ character when you press the “Z” button, you need to modify the “Z” record.
(Note that this map file is HERE and the accompanying Registry import file – see the next, 2.2 section – HERE)
2.2 Registering keyboard layout files in the Registry
Only providing keyboard layout files (see section 2.1) is insufficient. You must also register these files in the Registry so that the system knows you use a, from English, different keyboard layout.
To do this, you must register they layout file under both HKEY_LOCAL_MACHINE\Software\ Tegic\eT9\IME\ KeyboardLayouDlls and HKEY_LOCAL_MACHINE\Software\ Tegic\eT9\IME\ LanguageKeyboardIDMapping.
With the former, you must create a new value named 000007XX, where XX is the lower byte of the language code (for example, 07 for (the 0407 hexa) German), with the value containing the map file (for example, for a German map, "eT9.Vox.0407.kmap.txt").
With the latter, you must map the language and the keyboard layout together. To do this, you must create a value named after the language ID (with the changes outlined in Section 1.1.1; that is, changing 4 to 1 in the upper byte). Its value must be the lower (16-bit) word of the KeyboardLayouDlls registration – as a String (incidentally, as with, for example, the Pocket PC keyboard language string under HKCU\ControlPanel\ Keybd\Locale).
That is, with the German example, the two new values you must create are the following:
[HKEY_LOCAL_MACHINE\Software\Tegic\eT9\IME\KeyboardLayouDlls]
"00000707"="eT9.Vox.0407.kmap.txt"
[HKEY_LOCAL_MACHINE\Software\Tegic\eT9\IME\LanguageKeyboardIDMapping]
"0107"="0707"
Again, the value of the second value refers back to the first.
Note that, unfortunately, defining a keyboard mapping file to fix the well-known, annoying HTC Vox bug affecting many games / emulators (for example, ScummVM) won’t work. Yes, I’ve tested this (HERE is the file completely switching off numbers in Fn mode) and it didn’t work – pressing the E, R, T, Y, D, F, G, C, V and B keys on the keyboard still resulted in the numbers 0, 1,… 9 being input.
2.3 What about AEKMap?
The well-known AEKMap has gone a LONG way since its first versions (then, only usable with external USB keyboard). This, unfortunately, also means it has gone commercial – at least as far as accessing its advanced features are concerned. The current version is pretty powerful and also supports Smartphones. Unfortunately, very few ready-made Smartphone-related config / layout files are available now, which means you will end up having to write one yourself if you want to use a non-English mapping.
As I find the non-AEKMap way is more system-friendly, I’d, myself, prefer defining your keyboard layout using it, the traditional way. However, you will still want to give AEKMap a try to see whether you can use its advanced capabilities.
3. Tips for ThinkOutstide StowAway keyboard support
Unfortunately, currently, the StowAway keyboards by Mobility Electronics, Inc. (ex- ThinkOutstide) are, officially, not supported by the manufacturer on several Smartphone models. However, this is in no way a problem: if you have a HTC Vox, just download the driver meant for Excalibur (accessible HERE), it’ll work just great. The same may stand for other, officially, not supported models - just give a try to drivers meant for other smartphones (preferably running the same operating system version).
This also means you can safely redefine the keyboard layout by both ThinkOutstide’s official tool (which must be requested by mail as can be read HERE) and, most probably, AEKMap.
UPDATE (09/27/2007): there are other language packs HERE.
(end of update)
The just-posted link ( http://melgurth.ovh.org/index.php?page=downloads ) also has a downloadable T9 word editor.
The language packs nearly-destroyed my bootloader. I don't recommend installing them without any "safe-mode" utility.
could you please write a tutorial how to compiled a t9 dictionary so if the language not aviable people can do it themshelp
I want to make my language in t9 dictionary but i dont know how and what to do , can you tell me which program to use and how to make it , any advice is welcome
Anyone have the T9JapaneseLdb.dll file?
I need to input japanese in my smartphone.
T9 Vietnamese
Anyone have the T9VietnameseLdb.dll file?
I need to input Vietnamese in my PPC.Help me please!
hanoiwap said:
Anyone have the T9VietnameseLdb.dll file?
I need to input Vietnamese in my PPC.Help me please!
Click to expand...
Click to collapse
I'm too. Please help me. Thanks
need to imput Korean
Hi~!
Anyone have the T9KoreanLdb.dll file?
I need to input Korean in my smartphone please!

[app] TheftAlarm

TheftAlarm
Version: 1.8(Last free: 1.7)
Last update: 06.03.2011
Interface languages: English, Russian
Description:
The program is designed to help you to find phone if it is stolen or lost.
This works like this:
In the program settings you add allowed SIM card and phone numbers to send SMS messages.
After the boot program reads the IMSI number of the current SIM card.
If the IMSI is in a list of allowed, it displays a notification that the SIM is checked and the program ends.
If the current IMSI is not in the list of allowed, then program send an SMS messages to configured in the settings telephone numbers.
If for some reason the message is not sent (there is no network signal, enabled airplane mode, etc.), the program attempts to send it again after 10 seconds and it will be repeated before the SMS is not sent.
Thus in case of missing device can learn the phone number, which is using your phone.
Among other programs TheftAlarm distinguished by the fact that it is simple, does not have any (possibly unnecessary) functions.
ChangeLog:
v1.1
- Added code for killing self. After notification program killing self process after 10 seconds (notice disappears).
- The program also kills self process when you enter the wrong password and when you click "back".
- Fixed a reaction to the program for IMSI = null. Now the program works correctly, if the airplane mode enabled, there is no SIM card or other network errors.
- Translated the string "SIM check OK" on Russian
v1.2
- Added Greek translation (thanks to dancer_69)
- Small layout optimizations
v1.3
- Created apk with those languages: Russian, Croatian, Danish, Dutch, French, German, Greek, Hungarian, Italian, Portuguese, Romanian, Spanish. Thanks to authors.
v1.4
- Now, if app can't read IMSI on system boot
(if airplane mode on, waiting for PIN/PUK input or another reason), then app will do it every 10 seconds.
- Added additional info in alert sms: IMSI and IMEI.
- Sorry, but in this version and higher app will include english and russian translations only. It is hard for me to create many packages for one release, but including all languages in one apk - increase apk size. I think you understand me. This is simple app. Everyone can use my app in english.
v1.5
- SMS text changed: "Phone is turned on. Unknown SIM inserted". In Russian version: "Вставлена чужая SIM"
v1.6
- Now, notification "SIM check OK" disappears after 10 sec on Android 2.2
- Small code optimizations
v1.7
- Fixed issues when running on Android 1.5. Program works on all versions of Android now.
- Sms sending code optimized.
v1.8
- Possibility to send coordinates, which determined using network cell stations (not GPS, For Russia and CIS countries only yet);
- Intellectual alarm SMS sending system;
- Black background on "enter password" screen;
- Storing password in md5 encryption;
- Small Interface changes.
This Pro version of program not works(soon) on Android 1.5, sorry.
Click to expand...
Click to collapse
From the version 1.8 program named TheftAlarm Pro and available for 1$.
Buy and download TheftAlarm Pro from Android Market
Download:
Thanks, I will try it,
Here is the greek translation:
dancer_69 said:
Thanks, I will try it,
Here is the greek translation:
Click to expand...
Click to collapse
Thanks, I will add this translation in new version
Do you tested my app?
Romaninan translation:
View attachment Romanian.txt
Hungarian translation:
I like simple apps
German translation attached.
pt for portugal translation
Heres the portuguese translation.
legit apppp!!!!
Excellent.......................!
Dutch translation.
Nice app.
Would it be possible to add the IMSI number of the "stealers" SIM card to the SMS message? Cause receiving "Alert messsage" text is kinda useless.
Thanks.
Very nice app. Thanks so much.
Here Spanish translation.
Thanks and here is the croatian translation!
I'm making a french translation, but can you say me : When "alarm stand by" is checked, is the app active, or not?
Anyway, there is the french translation (I translated "Alarm stand by" by "Alarme en pause", which is as much ambiguous than the original) No offense
Here's the italian translation
Since this relies on SIM cards not matching I'm assuming tihs is GSM only and not CDMA as CDMA doesn't use SIM cards.
sanjsrik said:
Since this relies on SIM cards not matching I'm assuming tihs is GSM only and not CDMA as CDMA doesn't use SIM cards.
Click to expand...
Click to collapse
It reads out the the ID of your SIM-Card and checks that against the instlled one so far.
My HTC Desire is configured to use HSPA (so WCDMA) only and it still shows and uses the correct IMSI.
Edit
@author: Do you mind adding a (a)gps support (or is it already added?), so it also sends the location of the phone? And maybe a response to a caller who sends an sms with location etc (received msg has to be hidden of course) with a special key-word?
Cool app. Gonna try it. In the meantime here is the Danish translation.
great app mate. works like a charm.

[APP] Speaklip - Text to Speech and Translation App

“Speak Anything” is a useful tool for "translate & speak". The most interesting feature is that it can help you to translate or read a text without out of web or Ebook. With this small and fast on your Android phone you can improve your skills anytime, anywhere.
Main features:
- Speak copied text in chosen language.
- Supports 5 languages: English, French, German, Spanish and Italian.
- Translates into more than 90 languages
- Manages copied text: you can change and save already copied text
Why use “Speak Anything” ?
- No need to quit your currently running application, just select the desired text and click on copy. The application will automatically pop up and then you can use it to speak or translate text.
- Perfect intonation.
- Beautiful, very simple and easy to use
Download: Search in Market with keywords "Speaklip".

[APP][2.1+] GobyDict Universal Dictionary

Hi all,
GobyDict is my hobby project, it is an universal dictionary which supports WordNet and StarDict format (ifo,idx,dz files). It is not limited to any language and dictionary. You can find out your Stardict dictionary and unzip it to dictdata folder, GobyDict can handle it nicely.
https://play.google.com/store/apps/details?id=com.goby.dict.free
Why GobyDict:
- Offline dictionary
- Universal dictionary
- Support WordNet format
- Support StarDict format
- Support multi-dictionaries without any limit
- Support self drop in StarDict to dictdata folder
- Embedded download center
- Enable/Disable dictionaries with Management Center
- Favor and History view
Hope you like my app and please feel free to let me know your comment and suggestion.
I have created a translation project under Crowdin, if you want to help on translate GobyDict to your language, please visit : http://crowdin.net/project/gobydict or email to[email protected]. Thanks for your support.
Can you skip the downloading dict necessity for the first time loading the dict? So can manually put the dict files without having to access internet (sometimes don't have internet and it's big).
This looks interesting, I'll have to check it out tomorrow... Thanks much!
of course, will modify it later. Thanks for your suggestion.
Sent from my Nexus 4 using xda premium
Thanks.
Also please have a look, i found some dictionary is not recognized at all after indexing (no result of that dict appear).
Maybe it language dependent, i don't know too. (Chinese is ok).
Here is the link to those dicts you can test.
1. Khmer
It's English - Khmer
https://khmeriphone.googlecode.com/files/EnglishKhmerDico.zip
2. Japanese
Jap - En - Jap (source from multidict, or rapidict in PlayStore)
http://www.mediafire.com/download/a29tyiv3zarnv5h/JEJ.zip
GobyLeung said:
Hi all,
GobyDict is my hobby project, it is an universal dictionary which supports WordNet and StarDict format (ifo,idx,dz files). It is not limited to any language and dictionary. You can find out your Stardict dictionary and unzip it to dictdata folder, GobyDict can handle it nicely.
Click to expand...
Click to collapse
Hi Goby! And thanks for your app!
I'm facing a small issue with your app.
With others dictionaries, when I click word for definition it says "Word not found in active dictionary".
I'm using KitKat in Nexus 4. I already searched google, but found nothing. How could I solve it?
Thanks!

Add language code to downloaded OpenSubtitle file name

This is a feature request.
Reason: Multiple language subtitles. Without manually adding the language codes through the file manager every time after downloading a new subtitle.
Current State: The app downloads the subtitle and renames it to `MovieName.srt` replacing existing one.
Changes: After downloading, rename the file to `MovieName.lang.srt` (lang: en for English, fr for French, es for Spanish, etc...)
10000000_2597797933611667_1968851199335596032_n.mp4
This is not a bad idea, but most of the time you have 1 language file and its ok to have the same name as file. Any additional language after that you are right, should be _en _fr etc.
The problem is if you have one subtitle with the same name (without the language code) then MX Player will stop detecting any other subtitle files (with the language code).
Plus when you have only one subtitle with the language code then it would still show up (as the language name) anyway.
I believe it's easy to implement this.

Categories

Resources