I understand how hard it could be to generate such passwords however how that brainwallet website works ? does it generate based on the key or based on the letter & the number written ? because if I use other language (like russian) won't that make it harder to get cracked ?
It takes the SHA256 value of your phrase, e.g. SHA256("0") = 5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9 and uses it as the private key. A private key is a 256-bit number in a certain range[1]. You could use a different algorithm that ends in the same range of possible solutions for a given input or you could even directly generate the private key as a number (in your favorite format). Its just different ways to store the same information. A less common language - which I would argue russian is not - is believed by some to help, but there are pretty scary stories[2].
[1] https://en.bitcoin.it/wiki/Private_key#Range_of_valid_ECDSA_private_keys
[2] http://www.reddit.com/r/Bitcoin/comments/1ptuf3/brain_wallet_disaster/