Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

учитесь:))   Найти похожие ветки 

 
savva ©   (2004-04-26 13:28) [0]

http://softvariant.ru/prog-avtoshema-2.1.3-209753.html
Васька слушает да ест:)) Что бы вы тут не говорили:)))


 
имя   (2004-04-26 13:30) [1]

Удалено модератором


 
Dmitriy O. ©   (2004-04-26 13:31) [2]

Можите еще и сдесь посмотреть
http://www.softbox.ru/?a=21&i=4092


 
Игорь Шевченко ©   (2004-04-26 13:33) [3]

И все-таки, это не стеб. А так хотелось надеяться...


 
savva ©   (2004-04-26 13:33) [4]


> Dmitriy O. ©   (26.04.04 13:31) [2]
> Можите еще и сдесь посмотреть


профессионально подошел к продвижению программного продукта?:))


 
savva ©   (2004-04-26 13:34) [5]


> Игорь Шевченко ©   (26.04.04 13:33) [3]
> И все-таки, это не стеб. А так хотелось надеяться...

там же есть и продолжение
http://softvariant.ru/prog-konvektor-formatov-v-1.4-119452.html


 
Паниковский ©   (2004-04-26 13:36) [6]

блок схема это не круто счас рулит UML
напиши прогу которая парсит исходники
и на основе их создает UML диаграммы


 
Игорь Шевченко ©   (2004-04-26 13:36) [7]


> профессионально подошел к продвижению программного продукта?:))


Там же голосовать можно !!!!


 
savva ©   (2004-04-26 13:36) [8]

конвектор..


 
Dmitriy O. ©   (2004-04-26 13:39) [9]


> savva ©   (26.04.04 13:33)
Вощем продукт продвигаю. Но он не комерческий.
Сейчас к стати версия AvtoShema 2.1.4
http://www.dmitriyo.narod.ru/
Думаю сделать еще пару фишек. Это анимацию блок-схемы и по просьбам трудящихся редактирование/построение блок-схемы с соотвествующем редактированием/построением кода.

> Игорь Шевченко ©   (26.04.04 13:33)
:tongue:


 
Игорь Шевченко ©   (2004-04-26 13:40) [10]


> Это анимацию блок-схемы


Эт как ?


 
Паниковский ©   (2004-04-26 13:43) [11]

Dmitriy O.
UML UML UML
счас все равно не один практически начальник не требует блок схемы всем давай UML


 
savva ©   (2004-04-26 13:44) [12]


> Игорь Шевченко ©   (26.04.04 13:40) [10]
>
> Эт как ?


эффект "Блудливые стрелочки" (читать надо правильно):)))


 
Warrior ©   (2004-04-26 13:45) [13]

Хм, архив Avtoshema.zip занимает 666 кб.
Случайность ли? :)


 
Игорь Шевченко ©   (2004-04-26 13:46) [14]

Впрочем, ничего удивительного, суприм тоже на разных сайтах свои истории рассказывал :)


 
Юрий Зотов ©   (2004-04-26 13:47) [15]

И первый же отзыв:

"Программа при попытке открытия любого кода пишет что Index out of bounds в чем трабла, Ы?"

!!! Неслабая такая трабла, да?

Уж не говоря о тех ошибках, которые здесь уже перечислялись. Программа, по сути, просто не работает.

Если целью обнародования программы было облегчить людям жизнь, то она вряд ли достигнута. Если же целью ставилось сделать себе некоторый имидж - то она достигнута. Весь вопрос лишь в том, КАКОЙ имидж получился.

Вольному - воля.


 
savva ©   (2004-04-26 13:48) [16]


> Dmitriy O. ©   (26.04.04 13:39) [9]
>
> Вощем продукт продвигаю. Но он не комерческий.
> Сейчас к стати версия AvtoShema 2.1.4
> Думаю сделать еще пару фишек. Это анимацию блок-схемы и
> по просьбам трудящихся редактирование/построение блок-схемы
> с соотвествующем редактированием/построением кода.

http://alglib.manual.ru/aboutbls.php переплюнешь? и там я пока что не замечал Index out of bounds ...


 
uny   (2004-04-26 13:49) [17]

мне идея показалась свежей - до этого не встречал и даже не задумывался что может быть.


 
Гарри Поттер ©   (2004-04-26 13:58) [18]

>учитесь:))
savva ©   (26.04.04 13:28)

А чему учиться то? Всякую глюкату на довнлоад серваки выкладывать?


 
Dmitriy O. ©   (2004-04-26 14:00) [19]


> Юрий Зотов ©   (26.04.04 13:47)
Да была такая бага. Но давно исправленна. У меня такой небыло и быть не могло (по некоторым причинам) Поэтому и не заметил.
Версия 2.1.4 прекрасно работает. Да не на все 100 % т.к. я при написании ориентировался по своему коду. И поэтому некоторы совсем уж извратные виды написания кода она не обрабатывает.
Кстати уже сейчас предпочитаю при разборе старых исходников Сначала распечатать Блок-схему ИМХО в код вьезжаешь намного быстрее.


 
Alx2 ©   (2004-04-26 14:02) [20]

Ради интереса еще раз попробовал "Avtoshema" запустить. Сразу заметил, что не работает с блоками try


 
savva ©   (2004-04-26 14:04) [21]


> Гарри Поттер ©   (26.04.04 13:58) [18]
> >учитесь:))
> savva ©   (26.04.04 13:28)
>
> А чему учиться то? Всякую глюкату на довнлоад серваки выкладывать?

не обращать ни на кого внимания.. делать молча свое дело.. (по разному все это можно назвать..)


 
Vlad ©   (2004-04-26 14:05) [22]


> Весь вопрос лишь в том, КАКОЙ имидж получился.

О том какой имидж получился, сказал недавно Игорь Шевченко, правда этот пост тут же был удален модератором :-)
Ну нравится человеку такой имидж, бог с ним.
Одно неясно, зачем по сто раз открывать ветки с обсуждением одной и той же темы ? :-)

> Dmitriy O. ©   (26.04.04 14:00) [19]


> я при написании ориентировался по своему коду. И поэтому
> некоторы совсем уж извратные виды написания кода она не
> обрабатывает

Тоесть твой код не совсем уж извратный ? Я как-то хотел глянуть, но люди на форуме застращали, мол не смотри - плохо станет.
Так что, можно смотреть ?


 
Dmitriy O. ©   (2004-04-26 14:05) [23]


> savva ©   (26.04.04 13:48)
Конечно переплюну. Только не буду с другими языками связываться.


 
savva ©   (2004-04-26 14:08) [24]


> Dmitriy O. ©   (26.04.04 14:05) [23]
> Конечно переплюну. Только не буду с другими языками связываться.

удачи


 
Юрий Зотов ©   (2004-04-26 14:15) [25]

> Dmitriy O. ©   (26.04.04 14:00) [19]

В первые же дни после выкладывания программы в ней было обнаружено множество серьезнейших ошибок. Таким образом, программа, даже еще не начав свою жизнь, уже практически умерла, потому что снискала себе славу крайне глючного продукта, слепленного кое-как и на скорую руку, исключительно скверно и непрофессионально.

Зачем же было ее выкладывать на всеобщее посмешище? Разве не лучше было, например, раздать ее друзьям и вместе с ними как следует протестировать?

Предположим, завтра Вы напишете другую программу, очень хорошую и безглючную. Что скажет народ? Он скажет: "А, да это снова тот самый ламер Dmitriy O. Не фиг даже и смотреть, ничего хорошего он все равно написать не может!".

И привет! Хорошая программа разделит участь автосхемы. Вот чего Вы добились.

Оно Вам надо было?


 
Alx2 ©   (2004-04-26 14:22) [26]

Фрагмент печати:
// str - количество страниц для печати

 For i := 1 To str Do
   Begin
     Case i Of
       1:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 0, 350, 1040));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 0, 700,
             1040));
           qrimage2.Canvas.TextOut(320, 1020, "1");
           quickrep1.Print;
         End;
       2:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 1040, 350,
             2080));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 1040, 700,
             2080));
           qrimage2.Canvas.TextOut(320, 1020, "2");
           quickrep1.Print;
         End;
       3:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 2080, 350,
             3120));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 2080, 700,
             3120));
           qrimage2.Canvas.TextOut(320, 1020, "3");
           quickrep1.Print;
         End;
       4:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 3120, 350,
             4160));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 3120, 700,
             4160));
           qrimage2.Canvas.TextOut(320, 1020, "4");
           quickrep1.Print;
         End;
       5:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 4160, 350,
             5200));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 4160, 700,
             5200));
           qrimage2.Canvas.TextOut(320, 1020, "5");
           quickrep1.Print;
         End;
       6:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 5200, 350,
             6240));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 5200, 700,
             6240));
           qrimage2.Canvas.TextOut(320, 1020, "6");
           quickrep1.Print;
         End;
       7:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 6240, 350,
             7280));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 6240, 700,
             7280));
           qrimage2.Canvas.TextOut(320, 1020, "7");
           quickrep1.Print;
         End;
       8:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 7280, 700,
             8320));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 7280, 350,
             8320));
           qrimage2.Canvas.TextOut(320, 1020, "8");
           quickrep1.Print;
         End;
       9:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 8320, 350,
             9360));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 8320, 700,
             9360));
           qrimage2.Canvas.TextOut(320, 1020, "9");
           quickrep1.Print;
         End;
       10:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 9360, 350,
             10400));
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 9360, 700,
             10400));
           qrimage2.Canvas.TextOut(320, 1020, "10");
           quickrep1.Print;
         End;
       11:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 10400, 350,
             11440));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 10400, 700,
             11440));
           qrimage2.Canvas.TextOut(320, 1020, "11");
           quickrep1.Print;
         End;
       12:
         Begin
           qrimage1.Picture.Graphic := Nil;
           qrimage2.Picture.Graphic := Nil;
           qrimage1.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(0, 11440, 350,
             12480));
           qrimage2.Canvas.CopyRect(rect(0, 0, 350, 1040), idiag1.Canvas, rect(350, 11440, 700,
             12480));
           qrimage2.Canvas.TextOut(320, 1020, "12");
           quickrep1.Print;
         End;
       Else
         Begin
           showmessage("Нет печати более 12 страниц");
           break;
         End;
     End;                              //case
   End;                                //for


Через лет десять новая версия сможет печатать до 10 000 страниц ИМХО. :)


 
Gero ©   (2004-04-26 14:25) [27]


> Нет печати более 12 страниц

Ну прям лозунг.


 
Рамиль ©   (2004-04-26 14:27) [28]


> Alx2 ©   (26.04.04 14:22) [26]

Это откуда такой код? Если бы у меня кто такое написал, я бы руки оторвал.


 
Gero ©   (2004-04-26 14:28) [29]


> Это откуда такой код?

Из AvtoShema, конечно.


 
Nous Mellon ©   (2004-04-26 14:31) [30]


>  [26] Alx2 ©   (26.04.04 14:22)

Просто невероятно!!!


 
Игорь Шевченко ©   (2004-04-26 14:36) [31]

Я бы за такое руки отрывал:procedure setvobiect (var n,x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6:integer;obiect,okusl:string);
begin

[...10 подобных фрагментов посгрызены мышами, чтобы пост поместился...]

myform.tvobject.Insert;
myform.tvobjectn.Value:=11;
myform.tvobjectobiect.Value:="until";
myform.tvobjectokusl.Value:=";";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=40;
myform.tvobjectx2.Value:=75;
myform.tvobjecty2.Value:=20;
myform.tvobjectx3.Value:=100;
myform.tvobjecty3.Value:=40;
myform.tvobjectx4.Value:=100;
myform.tvobjecty4.Value:=60;
myform.tvobjectx5.Value:=50;
myform.tvobjecty5.Value:=60;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;

myform.tvobject.Insert;
myform.tvobjectn.Value:=12;
myform.tvobjectobiect.Value:="procces";
myform.tvobjectokusl.Value:="";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=20;
myform.tvobjectx2.Value:=100;
myform.tvobjecty2.Value:=60;
myform.tvobjectx3.Value:=20;
myform.tvobjecty3.Value:=0;
myform.tvobjectx4.Value:=0;
myform.tvobjecty4.Value:=0;
myform.tvobjectx5.Value:=0;
myform.tvobjecty5.Value:=0;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;

myform.tvobject.Insert;
myform.tvobjectn.Value:=13;
myform.tvobjectobiect.Value:="end shema";
myform.tvobjectokusl.Value:="";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=20;
myform.tvobjectx2.Value:=200;
myform.tvobjecty2.Value:=60;
myform.tvobjectx3.Value:=40;
myform.tvobjecty3.Value:=40;
myform.tvobjectx4.Value:=0;
myform.tvobjecty4.Value:=0;
myform.tvobjectx5.Value:=0;
myform.tvobjecty5.Value:=0;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;

myform.tvobject.Insert;
myform.tvobjectn.Value:=14;
myform.tvobjectobiect.Value:="header";
myform.tvobjectokusl.Value:="";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=20;
myform.tvobjectx2.Value:=100;
myform.tvobjecty2.Value:=60;
myform.tvobjectx3.Value:=20;
myform.tvobjecty3.Value:=40;
myform.tvobjectx4.Value:=0;
myform.tvobjecty4.Value:=0;
myform.tvobjectx5.Value:=0;
myform.tvobjecty5.Value:=0;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;

myform.tvobject.Insert;
myform.tvobjectn.Value:=15;
myform.tvobjectobiect.Value:="mylabel";
myform.tvobjectokusl.Value:=";";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=40;
myform.tvobjectx2.Value:=75;
myform.tvobjecty2.Value:=20;
myform.tvobjectx3.Value:=100;
myform.tvobjecty3.Value:=20;
myform.tvobjectx4.Value:=100;
myform.tvobjecty4.Value:=60;
myform.tvobjectx5.Value:=75;
myform.tvobjecty5.Value:=60;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;

myform.tvobject.Insert;
myform.tvobjectn.Value:=16;
myform.tvobjectobiect.Value:="break";
myform.tvobjectokusl.Value:="";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=20;
myform.tvobjectx2.Value:=75;
myform.tvobjecty2.Value:=20;
myform.tvobjectx3.Value:=100;
myform.tvobjecty3.Value:=40;
myform.tvobjectx4.Value:=75;
myform.tvobjecty4.Value:=60;
myform.tvobjectx5.Value:=50;
myform.tvobjecty5.Value:=60;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;

myform.tvobject.Insert;
myform.tvobjectn.Value:=17;
myform.tvobjectobiect.Value:="exit";
myform.tvobjectokusl.Value:="";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=20;
myform.tvobjectx2.Value:=75;
myform.tvobjecty2.Value:=20;
myform.tvobjectx3.Value:=100;
myform.tvobjecty3.Value:=40;
myform.tvobjectx4.Value:=75;
myform.tvobjecty4.Value:=60;
myform.tvobjectx5.Value:=50;
myform.tvobjecty5.Value:=60;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;

myform.tvobject.Insert;
myform.tvobjectn.Value:=18;
myform.tvobjectobiect.Value:="try";
myform.tvobjectokusl.Value:=";";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=40;
myform.tvobjectx2.Value:=100;
myform.tvobjecty2.Value:=20;
myform.tvobjectx3.Value:=150;
myform.tvobjecty3.Value:=40;
myform.tvobjectx4.Value:=100;
myform.tvobjecty4.Value:=60;
myform.tvobjectx5.Value:=0;
myform.tvobjecty5.Value:=0;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;

myform.tvobject.Insert;
myform.tvobjectn.Value:=19;
myform.tvobjectobiect.Value:="except";
myform.tvobjectokusl.Value:="";
myform.tvobjectx1.Value:=50;
myform.tvobjecty1.Value:=20;
myform.tvobjectx2.Value:=100;
myform.tvobjecty2.Value:=60;
myform.tvobjectx3.Value:=0;
myform.tvobjecty3.Value:=0;
myform.tvobjectx4.Value:=0;
myform.tvobjecty4.Value:=0;
myform.tvobjectx5.Value:=0;
myform.tvobjecty5.Value:=0;
myform.tvobjectx6.Value:=0;
myform.tvobjecty6.Value:=0;
myform.tvobject.post;
myform.tvobject.SortOnFields("n");
end;


 
Dmitriy O. ©   (2004-04-26 14:37) [32]


> Юрий Зотов ©   (26.04.04 14:15)
Нет у меня друзей пишущих на Delphi и знакомых даже нет и на работе тоже нет и ни где нет вернее есть но редко встретишь таких у нас. Притом из-за того что админы отрубили иннет архивы чужих исходников у меня оказалось крайне мало для качественной отладки.

> Alx2 ©   (26.04.04 14:22)

Печать я привожу в порядок только сейчас До этого времени небыло
И нужды в одновременном печати более 12 страниц нет т.к. такого размера BMP не обязательно единовременно размещать в памяти.
Очень длинные Блок-Схемы у меня строются по частям и печатаются тоже соответсятвенно по частям.


 
Polevi ©   (2004-04-26 14:38) [33]

пример того как не надо писать программы


 
Anatoly Podgoretsky ©   (2004-04-26 14:38) [34]

Игорь Шевченко ©   (26.04.04 14:36) [31]
Добренький, ну разве если только по самые уши


 
Anatoly Podgoretsky ©   (2004-04-26 14:39) [35]

Dmitriy O. ©   (26.04.04 14:37) [32]
Ой кто то нам лапшу на уши вешает


 
Alx2 ©   (2004-04-26 14:39) [36]

>Nous Mellon ©   (26.04.04 14:31) [30]
Вещь на самом деле изысканная :) Я таки наслаждаюсь этими "хитросплетениями".


 
han_malign ©   (2004-04-26 14:42) [37]

>сможет печатать до 10 000 страниц
- да-а, при глубоком знании мат-статистики, не знать, что такое линейная функция одного параметра... - без коментариев. Интересно, когда он "сигмы" считает, он хоть знает, что это такое(лично я смутно)...


 
paul_k ©   (2004-04-26 14:44) [38]

хе....
и этому человеку 800$ в месяц мало.......


 
}|{yk ©   (2004-04-26 14:46) [39]

Xt то на софтбоксе уж очень низкая оценка - 3,2. К чему бы это?


 
CinCinNut ©   (2004-04-26 14:47) [40]

всем кодам код :))))



Страницы: 1 2 3 4 5 6 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.58 MB
Время: 0.038 c
14-1082707152
Alexei Sviridov
2004-04-23 11:59
2004.05.16
Наставте на путь истинный


14-1082681741
alexandri
2004-04-23 04:55
2004.05.16
Такие вот дела ....


3-1082534065
macsd
2004-04-21 11:54
2004.05.16
на форме MDIchild access violetion


3-1082449810
turich
2004-04-20 12:30
2004.05.16
Подскажите с BDE


6-1080647659
SAG
2004-03-30 15:54
2004.05.16
UDPSocket не получает сообщение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский