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

Вниз

Даунлоад на php. Подсчет кол-во скачиваний.   Найти похожие ветки 

 
SergP.   (2005-12-10 13:21) [0]

Нужно написать скрипт для даунлоада (чтобы подсчитывать кол-во раз скачиваний).

пишу пока так:


<html>
<head>
 <title>[Downloads]</title>
 <meta http-equiv="Content-Type" CONTENT="text/html; charset=windows-1251">
<?
$id=$HTTP_GET_VARS["id"];
include("config.php");

@mysql_query("update download set counter=counter+1 where id=$id");

$result=mysql_query("select filename,coment from download where id=$id");

$line=mysql_fetch_array($result);

print "<META http-equiv="refresh" content="2;URL=";
print "$line[0]";
print ""></head><body>";
print "Скачивание начнется через 2 секунды<br>";
print "Если Ваш браузер не поддерживает перенаправление,<br>";
print "то для скачивания перейдите по ссылке<br>";
print "<a href="";
print "$line[0]";
print """;
print ">$line[1]<a><br>";

print "</body>";
?>
</html>


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

Как попроще устранить эту проблему?


 
boriskb ©   (2005-12-10 13:24) [1]

http://www.webscript.ru/


 
VirEx ©   (2005-12-10 14:37) [2]

у меня примерно такая же проблема но мне Kerk посоветовал если на серваке стоит Апач, и есть модуль mod_rewrite, то нужно в корневой папке сайта записать файл .htaccess, он умеет перенаправлять все запросы через какойнить скрипт и вообще настраивает поведение сервера насчет запросов с клинетских машин, только я в синтаксисе вообще разобраться не могу... ну примерно что-то вот такое:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/index.php
RewriteCond %{QUERY_STRING} "^action=downloadfile"
RewriteRule .* /compat.cgi [L,NS]


 
Kerk ©   (2005-12-10 14:39) [3]

VirEx ©   (10.12.05 14:37) [2]

Не о том, тут речь. Не о том :)


 
boriskb ©   (2005-12-10 15:02) [4]

VirEx ©   (10.12.05 14:37) [2]
папке сайта записать файл .htaccess


А апач сам сконфигурируется?
Судя по названию файла, подразумевается тонкая настройка апача.


 
Kerk ©   (2005-12-10 15:08) [5]

boriskb ©   (10.12.05 15:02) [4]
А апач сам сконфигурируется?


Сам. В приведенном примере Апач перенаправляет все запросы файла index.php, где есть параметр action=download на скрипт compat.cgi с сохранением параметров. Файла index.php у меня вообще нет. На старом движке был, теперь нет. Но все старые ссылки, благодаря .htaccess, работают.


 
boriskb ©   (2005-12-10 16:02) [6]

Kerk ©   (10.12.05 15:08) [5]

Тыды ОЙ :)


 
Kerk ©   (2005-12-18 15:38) [7]

Пишем в .htaccess
RewriteEngine on
RewriteCond %{REQUEST_URI} zip$
RewriteRule .* /counter.php?%{REQUEST_URI} [L,NS]


Далее скрипт counter.php должен увеличить счетчик и выдать файл. Имя запрашиваемого файла будет находиться в переменой окружения QUERY_STRING.

ИМХО, такое решение оптимально, т.к. и счетчик есть и ссылка на файл - прямая.


 
Piter ©   (2005-12-18 15:53) [8]

SergP.   (10.12.05 13:21)
Возникает проблема в том что если юзер начнет нажимать "обновить" или еще что-нить делать, то счетчик будет каждый раз увеличиваться


ну естественно, а как еще? У счетчиков такие же проблемы - есть лично хостов, а есть число уникальных посетителей.

С достаточной степенью точности можешь сделать так -  при скачивании добавляй IP в бан-лист минут на 20-30. Если IP уже в бан листе - то счетчик не должен увеличиваться.

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

Можно сделать компбинацию этих методов.

А по другому никак :(

SergP.   (10.12.05 13:21)
print "<META http-equiv="refresh" content="2;URL=";
print "$line[0]";
print ""></head><body>";


идеологически неправильно. Если на хостинге PHP скрипту разрешено формировать заголовок, то:

header("Location: http://www.example.com/test.zip");

Читаем: http://php.rinet.ru/manual/ru/function.header.php

В этом случае не просто перенаправление средствами HTML, а именно заголовок HTTP ответа будет установлен в код перенаправления, что куда правильнее, это поддерживают все браузеры, менеджеры закачек и т.д.

Kerk ©   (18.12.05 15:38) [7]
алее скрипт counter.php должен увеличить счетчик и выдать файл. Имя запрашиваемого файла будет находиться в переменой окружения QUERY_STRING


это ты автору темы советуешь? А при чем здесь проблема обновления и увеличения счетчика?

Кстати, не рекомендую пользоваться mod_rewrite - средство, конечно, универсальное, но оно неоправданно грузит сервер, да и не на всех хостингах этот модуль подключен...


 
Piter ©   (2005-12-18 15:54) [9]

boriskb ©   (10.12.05 15:02) [4]
папке сайта записать файл .htaccess

А апач сам сконфигурируется?
Судя по названию файла, подразумевается тонкая настройка апача


хех :)))

.htaccess к тонкой настройке апача не имеет никакого отношения :)

Данный файл используется почти всеми, кто работает с апачем нормально :)


 
Kerk ©   (2005-12-18 16:01) [10]

Piter ©   (18.12.05 15:53) [8]
А при чем здесь проблема обновления и увеличения счетчика?


При том, что его счетчик идеологически неправильный. Я показал как надо. Предлагаемый мной метод более универсальный. Ссылку типа site.ru/download.php?id=234 ты ни в какой софт-архив не запостишь. А site.ru/file.zip - легко. К тому же выглядит оно более user-friendly.

> Кстати, не рекомендую пользоваться mod_rewrite

Не рекомендуй. От этого большинство сайтов им пользоваться не перестанут.


 
Kerk ©   (2005-12-18 16:06) [11]

А если вынести все файлы на отдельный домен, например.. типа dl.site.ru/file.zip .. и .htaccess сделать только в этом домене, то вообще красота получается.


 
Piter ©   (2005-12-18 16:07) [12]

Kerk ©   (18.12.05 16:01) [10]
Я показал как надо


как ты показал - так не надо :)

Kerk ©   (18.12.05 16:01) [10]
типа site.ru/download.php?id=234 ты ни в какой софт-архив не запостишь. А site.ru/file.zip - легко


хм, не понял логики. Ну а почему бы не сделать ссылки вида: site.ru/file.zip ? Зачем тут mod_rewrite?

Kerk ©   (18.12.05 16:01) [10]
Не рекомендуй. От этого большинство сайтов им пользоваться не перестанут


опять ты в Бога играешь. Откуда ты знаешь про большинство? Статистику делал?
И какой же хороший, популярный сайт использует mod_rewrite?

Профессиональные PHP программеры не используют mod_rewrite, потому что в этом зачастую просто нет необходимости, а при этом он не везде поддерживается, да еще и сервер загружает. Что при десятках тысяч запросов очень даже проявит себя.


 
Kerk ©   (2005-12-18 16:11) [13]

Piter ©   (18.12.05 16:07) [12]
Ну а почему бы не сделать ссылки вида: site.ru/file.zip ? Зачем тут mod_rewrite?


Потому, что без mod_rewrite мы количество скачиваний не посчитаем. А если охота в логи лезть, то тут вообще никаких счетчиков не надо.

> И какой же хороший, популярный сайт использует
> mod_rewrite?

Ну из того, что под руку попалось - http://sport-express.ru/
Почитай что-нибудь про псевдостатику, может, поймешь о чем я.

> Профессиональные PHP программеры не используют
> mod_rewrite

Полный бред. Использование mod_rewrite зачастую не связано с программированием вообще.


 
boriskb ©   (2005-12-18 16:16) [14]

Piter ©   (18.12.05 15:54) [9]
.htaccess к тонкой настройке апача не имеет никакого отношения :)


Не будь нудней чем я :)
Этот файл имено для настройки и предназначен.
А уж "тонко" или "толсто" это у кого как получится :))


 
Piter ©   (2005-12-18 16:18) [15]

Kerk ©   (18.12.05 16:11) [13]
Потому, что без mod_rewrite мы количество скачиваний не посчитаем


что за бред? PHP скрипт начисляет счетчик, перенаправляет к реальному месторасположению файла - какая разница, есть mod_rewrite или нет?

Kerk ©   (18.12.05 16:11) [13]
Ну из того, что под руку попалось - http://sport-express.ru/


а с чего ты взял, что они используют mod_rewrite?


 
Kerk ©   (2005-12-18 16:24) [16]

Piter ©   (18.12.05 16:18) [15]
PHP скрипт начисляет счетчик, перенаправляет к реальному месторасположению файла


Ссылку вида site.ru/dl.php?id=1322 в ни в какой софтархив не примут. Все требуют прямые ссылки.

> а с чего ты взял, что они используют mod_rewrite?

С того, что там используется очевидная псевдостатика? (ты про нее уже почитал?)
Посмотри как выглядят ссылки на статьи - http://news.sport-express.ru/online/ntext/11/nl113100.html
Неужели ты думаешь, что у них такая дикая привычка называть папки и файлы числами?
Url содержит параметры для запроса к БД. Файла /online/ntext/11/nl113100.html на сервере не существует, то что мы видим в браузере - результат деятельности скрипта.
Использование псевдостатики очень распространено в инернете.

Вот тебе еще пример - http://lenta.ru/


 
Piter ©   (2005-12-18 16:33) [17]

Kerk ©   (18.12.05 16:24) [16]

Хех, можно даже сказать ЛОЛ, я понял :)

Да ты получается таких элементарных вещей не знаешь, а уверен в себе, как архангел Гавриил (хотя ты бы не был Kerk"ом, если б было не так :)
Еще про псевдостатичку говоришь :)

Ты, судя по всему, решил, что ссылки вроде: domen.com/file.zip без mod_rewrite никак не реализовать. Странное заблуждение.

Рассказываю тогда. В .htaccess просто пишешь:

ErrorDocument 403 /redirect.php
ErrorDocument 404 /redirect.php


Соответственно, в скрипте redirect.php обрабатываешь URL и сам редиректишь куда надо. Это и богаче по возможностям, чем mod_rewrite, и эффективнее, если все правильно писать (по крайней мере, если PHP как модуль подцеплен).


 
Piter ©   (2005-12-18 16:35) [18]

Kerk ©   (18.12.05 16:24) [16]
осмотри как выглядят ссылки на статьи - http://news.sport-express.ru/online/ntext/11/nl113100.html


Kerk ©   (18.12.05 16:24) [16]
Вот тебе еще пример - http://lenta.ru/


соответственно, почему ты решил, что там используется mod_rewrite - я не понял.


 
Kerk ©   (2005-12-18 16:38) [19]

Piter ©   (18.12.05 16:33) [17]
ErrorDocument 403 /redirect.php
ErrorDocument 404 /redirect.php


Это еще что за бред? А если запрашиваемый файл на диске есть что произойдет? Ты не пытайся прикрутить сюда то, что для этого явно не предназначено.

А про псевдостатику почитай.


 
Kerk ©   (2005-12-18 16:39) [20]

Piter ©   (18.12.05 16:35) [18]
соответственно, почему ты решил, что там используется mod_rewrite - я не понял.


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


 
Piter ©   (2005-12-18 16:40) [21]

Kerk ©   (18.12.05 16:38) [19]
Это еще что за бред? А если запрашиваемый файл на диске есть что произойдет?


ты лучше сам почитай. А еще лучше исходники профессиональных скриптов посмотри.

Это комманда для Апача, если файл не найден - перенаправление на скрипт redirect.php


 
Kerk ©   (2005-12-18 16:40) [22]

Piter ©   (18.12.05 16:40) [21]
Это комманда для Апача, если файл не найден - перенаправление на скрипт redirect.php


Ну так а что произойдет, если файл найден?


 
Piter ©   (2005-12-18 16:42) [23]

Kerk ©   (18.12.05 16:38) [19]
А если запрашиваемый файл на диске есть что произойдет?


тогда ошибки 404 не будет, блин и произойдет обращение к этому файлу, который существует.

Ты хоть знаешь, что за код ошибки 404 в HTTP?


 
Kerk ©   (2005-12-18 16:43) [24]

Piter ©   (18.12.05 16:42) [23]
тогда ошибки 404 не будет, блин и произойдет обращение к этому файлу, который существует.


А нам этого не надо. Нам надо все запросы редиректить.

> Ты хоть знаешь, что за код ошибки 404 в HTTP?

Пальцы разогни, гнутые тебе не идут.


 
Piter ©   (2005-12-18 16:43) [25]

Kerk ©   (18.12.05 16:39) [20]
А я на это даже и не надеялся. Тебя только личные свидетельства админов этих сайтов убедят в чем-то и то врядли


ок, а я тебе говорю - на сайте lenta.ru не используется mod_rewrite.
Если будет возражать, то скажу, что тебя ничего не убедит.


 
Kerk ©   (2005-12-18 16:46) [26]

Piter ©   (18.12.05 16:43) [25]

Вот я об этом и говорю. Демагогией занимаешься.
Ты про то, как делается псевдостатика уже почитал?
Ты действительно думаешь, что перенаправить юзера на redirect.php, разобрать там параметры и перенаправить на нужный скрипт меньше грузить сервер, чем разбор параметров в .htaccess и перенаправление сразу на нужный скрипт? LOL


 
Piter ©   (2005-12-18 16:47) [27]

Kerk ©   (18.12.05 16:43) [24]
А нам этого не надо. Нам надо все запросы редиректить


ну ты уже заговорился, Kerk.

Итак, у тебя РЕАЛЬНО существует файл на сервере:

kerkzone.com/file.zip

Пользователь обращается к этому файлу. Этот файл скачается? НЕЕЕТ. Ведь Kerk"у нужно все запросы редиректить, итак запускается скрипт. Он подсчитывает количество скачек... и? Куда он будет редиректить?

Опять на: kerkzone.com/file.zip  ???

Открою секрет - опять сработает правило mod_rewrite и ... Твой сервак вместе с клиентом уйдет в бесконечную рекурсию.

Или как у тебя организовано?

Физически есть файл:

kerkzone.com/file.zip

Но есть еще его копия:

dl.kerkzone.com/file.zip

Куда ты и редиректишь. А нафига тогда спрашивается тебе дубликаты на сервере?

Как-то нелогично, ты не находишь?


 
Kerk ©   (2005-12-18 16:50) [28]

Piter ©   (18.12.05 16:47) [27]
Открою секрет - опять сработает правило mod_rewrite и ... Твой сервак вместе с клиентом уйдет в бесконечную рекурсию.


Не сработает. Я не буду делать никаких 301 или 302. Я выдам файл самим скриптом.


 
Piter ©   (2005-12-18 16:53) [29]

Kerk ©   (18.12.05 16:46) [26]
что перенаправить юзера на redirect.php, разобрать там параметры и перенаправить на нужный скрипт меньше грузить сервер, чем разбор параметров в .htaccess и перенаправление сразу на нужный скрипт? LOL


Что ЛОЛ? Ты сейчас неправ, и пытаешься сделать хорошую мину при плохой игре. Только что вообще чушь написал, о чем я тебе в [27] рассказал.

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

Теперь ты утверждаешь о скорости работы, хотя я уверен, что у тебя никаких сведений по этому поводу нету, только твои предположения.

Я, кстати, сказать тоже экспериментов не ставил, но я хотя бы читал статьи владельцев крупных серверов, которые писали насколько меньше грузит сервер данный способ в отличии от mod_rewrite.
Почему так происходит? Не знаю, но это факт. По крайней мере, когда PHP как модуль установлен.


 
Kerk ©   (2005-12-18 16:54) [30]

Piter ©   (18.12.05 16:47) [27]
Как-то нелогично, ты не находишь?


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


 
Kerk ©   (2005-12-18 16:56) [31]

Piter ©   (18.12.05 16:53) [29]

Ты, если на кого-то ссылаешься, давай ссылку. Иначе - пустой треп.

> Теперь ты утверждаешь о скорости работы, хотя я
> уверен, что у тебя никаких сведений по этому поводу
> нету, только твои предположения.

А подумать не пробовал? В варианте с 404 мы имеем на один шаг больше - вызов промежуточного скрипта.


 
Piter ©   (2005-12-18 16:58) [32]

Kerk ©   (18.12.05 16:50) [28]
Я не буду делать никаких 301 или 302. Я выдам файл самим скриптом


и ты это называешь хорошей идеей?

Это еще больше затормозит работу сервера, если ты вручную будешь передавать файл. Представляешь, какое время работы будет у скрипта, если начнет качать Dial-Up"щик файл размером мегабайт в 10 хотя бы?

А если скачек тысячи? Тысячи одновременно запущенных сриптов отдачи? Не смеши, это не оптимально.

Опять же это изобретение велосипеда, тебе нужно будет в скрипте реализовать докачку файла и т.д.
Отдавать файлы апач сам идеально умеет, это его основополагающая функция.


 
Kerk ©   (2005-12-18 17:02) [33]

Piter ©   (18.12.05 16:58) [32]
и ты это называешь хорошей идеей?


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

Для файлопомойки, конечно, не оптимально.


 
Piter ©   (2005-12-18 17:02) [34]

Kerk ©   (18.12.05 16:56) [31]
Ты, если на кого-то ссылаешься, давай ссылку


например, http://kpnemo.ru

И всякие отзывы о сайте можешь оставить при себе. Движок написан крайне грамотно,

Kerk ©   (18.12.05 16:54) [30]
Не надо пытаться использовать для редиректа то, что в общем случае для редиректа не предназначено - 404


что значит не предназачено? У тебя более глубокие доводы против этого способа есть?

Файла нет - возникает ошибка 404, происходит перенаправление на файл-скрипт. Он там опять же может установить 404, может что угодно сделать. Что не так?

Kerk ©   (18.12.05 16:56) [31]
А подумать не пробовал? В варианте с 404 мы имеем на один шаг больше - вызов промежуточного скрипта


думать ты можешь сколько угодно. Я тебе назвал экспериментальный файл. Еще раз, ПОЧЕМУ так происходит - я не знаю. Но так происходит.

Ты можешь упереться рогом и говорит, что так НЕ ДОЛЖНО быть. Но ведь так есть.


 
Piter ©   (2005-12-18 17:07) [35]

Kerk ©   (18.12.05 17:02) [33]
Это хорошая идея для случаев, когда нужно контролировать скачивание файлов


ты говорил про оптимальность. Твой способ НЕ оптимальный.

mod_rewrite более медленный способ по сравнению с тем, что я привел.

Собственно, если тебе так нравится выдавать файлы с помощью скрипта - дело твое, но использование mod_rewrite совершенно лишнее.


 
Kerk ©   (2005-12-18 17:17) [36]

Piter ©   (18.12.05 17:02) [34]
что значит не предназачено? У тебя более глубокие доводы против этого способа есть?

Есть:

Или ты предлагаешь при написании движка сайта
задокументировать имена файлов, которые нельзя
использовать?


> Но ведь так есть.

Конечно. Ты как всегда прав.

P.S. А про то как работает псевдостатика. Вообще полезно иногда читать что-нибудь кроме блогов. С тобой как всегда скучно.

http://forum.searchengines.ru/showthread.php?t=31433
http://forum.searchengines.ru/showthread.php?t=29941

Piter ©   (18.12.05 17:07) [35]

Да, да, да, ты прав! Добей меня танцем!


 
Piter ©   (2005-12-18 18:03) [37]

Kerk ©   (18.12.05 17:17) [36]
Или ты предлагаешь при написании движка сайта
задокументировать имена файлов, которые нельзя
использовать?


а какие имена нельзя использовать в моем способе?

Kerk ©   (18.12.05 17:17) [36]
Конечно. Ты как всегда прав.


Судя по тону фразы, ты как раз считаешь, что я не прав. Ну и в чем я не прав? У тебя хоть какие-то аргументы есть?

Я тебе назвал свои аргументы. Точнее, они даже не мои. Но ты просил линк - я дал тебе линк.
Ты же не привел НИЧЕГО.

Более того, ты об этом способе вчера даже еще не знал! Что не помешало тебе буквально в течении 10 минут сделать вывод, что способ, конечно, куда хуже, чем mod_rewrite.

Ты сейчас заведешь полемику куда угодно, но никогда не скажешь - "да, блин, не знал - надо попробовать".
Более того, когда ты подумаешь впоследствии - вполне возможно ты начнешь использовать данный способ.

Kerk ©   (18.12.05 17:17) [36]
Вообще полезно иногда читать что-нибудь кроме блогов


да, да. И дает ссылку на форум. Форум, конечно, куда более правдивое средство информации, чем блог. Даже не чем блог, а чем информация от владельца ОЧЕНЬ популярного блога. Человека, который САМ этот блог пишет, а не просто поставил готовые скрипты.

Kerk ©   (18.12.05 17:17) [36]
http://forum.searchengines.ru/showthread.php?t=31433
http://forum.searchengines.ru/showthread.php?t=29941


И что? Я там даже не нашел упоминаний о способе, который привел.
Более того, на вопрос:

"Или может кто знает другой способ как страницы в псевдостатику перевести"

никто не привел "моего" способа.

И даже судя по репликам, типа:

"http://gazeta.ru/2005/12/07/oa_180712.shtml

Они, наверное, не знают, что Николай Попков перестраховывается? Я в смысле, что нагрузка у газеты как у сотни попковых"


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

Ну и нафиг ты дал ссылку на эти топики? Сосвсем аргументов нет? :)


 
Piter ©   (2005-12-18 18:07) [38]

Kerk ©   (18.12.05 17:17) [36]
С тобой как всегда скучно


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

mode_rewrite vs ErrorDocument

не привел ни одного аргумента. Да и как ты мог их привести, если о втором узнал пару часов назад. Только в стиле "Сам подумай, ведь ДОЛЖНО быть ..."


 
Piter ©   (2005-12-18 18:07) [39]

Piter ©   (18.12.05 18:07) [38]
Фактически я доказал, что ты неправ


так что с чего бы тебе было со мной весело :)


 
Piter ©   (2005-12-18 18:09) [40]

Я даже знаю, как ты будешь комментировать мою фразу:

"Фактически я доказал, что ты неправ"

Ты применишь стандартный демагогический прием:

"Да, ты бог, ты конечно прав, мы все тебе поклоняемся, о великий Piter".

То есть, начнешь юродствовать за неименение аргументов :)

P.S. Хотя после этого поста уже не начнешь :)



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

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

Наверх





Память: 0.59 MB
Время: 0.015 c
5-1120834246
Aleksandr.
2005-07-08 18:50
2006.01.15
Как Bmp включить в package?


14-1135079407
Умом Россию не понять
2005-12-20 14:50
2006.01.15
Русский язык


14-1134928795
Gero
2005-12-18 20:59
2006.01.15
Про тире


3-1132298547
syte_ser78
2005-11-18 10:22
2006.01.15
доступ к результату запроса


2-1135696721
dera
2005-12-27 18:18
2006.01.15
Как добавить поле в таблицу с помощью SQL?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский