Skip to content

Handy Russian to Ossetian online dictionary. Wildcard mask search in Russian words and in Ossetian translations

Notifications You must be signed in to change notification settings

Zloy/ironaevzag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ironaevzag

The application name Ironaevzag is combined with words Iron and Aevzag - Ossetian and Language in Ossetian. That application is an online Russian to Ossetian dictionary built to conduct experiments with UI controls in the field of usability.

How to use, main features

On the main page there are:

  1. The filter inpurt
  2. The filtered words list
  3. The selected word translation

Скриншот страницы словаря When user types in the filter input (1.), AJAX request gets the filtered words list and displays them beneath the filter in the vertical list (2.).

Pressing ArrowUP/Down keys a user can select any word from the filtered words list. When selected word changed in the right area the selected word translation appears (3.). Some delay after the selected word is changed implemented before AJAX request triggered.

The focus stays on the filter even when Arrow keys used. That allows the user to change the filter value anytime he wants do that with no need of selection the filter input control.

Search with wildcards

There are two wildcards available: _ underscore and % percent characters. The underscore character substitutes any single character, e.g. search for а_ returns two character words, which start with а. The percent character substitutes a group of any characters, e.g. search for рос% returns the filtered words list:

  • роса
  • роскошный
  • роскошь
  • рослый
  • роспуск
  • россия
  • россыпь
  • рост
  • ростовщик
  • росток

Search in translations

The search could be performed in Russian words or in Ossetian translations. To swith the search mode the user should either press F7 or to click on the language indicator in the right upper corner of the filter. When it has the value рус the search performs in Russian words, otherwise it has the value ос, and the search performs in Osettian translations.

E.g. If the language indicator has the value ос and the user types in the filter the value æзæг the filtered words list contains the words, which translations contain æзæг group of characters. The wildcards are ignored in that mode.

When the key [~`] pressed, the character 'æ' is been typed in and the search mode switches to seacrh in translations, because the character 'æ' there is in Ossetian, but not in Russian.

Internals

Ruby On Rails 3 The app is deployed with capistrano to VDS, 4 Nginx workers serve static assets and pass requests for dynamic content to 4 Thin worker processes.

JavaScript

  • jquery
  • jquery.ui
  • jquery.jgrowl
  • hand made jquery plugin autocomplist

Testing

I develop this application with BDD approach using cucumber framework. That means that I first write a new scenario for a featire to be implemented, I mark it with @wip tag and run it with cucumber, then I develop the feature to pass the scenartio.

Cucumber with capibara and WebDriver are suitable to test even JavaScript powered features of the application.

Before deploying a release version to production server I run all scenarios and fix errors if any. When all tests pass I deploy the application and feel myself peace and calm.

You can see all the scenarios I use to test that application in features directory

I recorded a short screencast which shows what does testing with cucumber looks like. See it here. You hardly see what happens in a browser if not watch this screencast in HD.

P.S.

Inspired by S. Tabolov's dictionary powered by A. Zatvornitsky's utility

About

Handy Russian to Ossetian online dictionary. Wildcard mask search in Russian words and in Ossetian translations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages