summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo Chatzimichos <tampakrap@gentoo.org>2010-11-01 18:21:37 +0200
committerTheo Chatzimichos <tampakrap@gentoo.org>2010-11-01 18:21:37 +0200
commit34ad661a31779dec9f067bb821a023f4a4794eb0 (patch)
tree6cd11cbd4d2eafc72a330d1b7646bd086755ac5f /plugins/limit-login-attempts
parentRemove security scan plugin (diff)
downloadblogs-gentoo-34ad661a31779dec9f067bb821a023f4a4794eb0.tar.gz
blogs-gentoo-34ad661a31779dec9f067bb821a023f4a4794eb0.tar.bz2
blogs-gentoo-34ad661a31779dec9f067bb821a023f4a4794eb0.zip
Add limit-login-attemps plugin
Diffstat (limited to 'plugins/limit-login-attempts')
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-bg_BG.mobin0 -> 6451 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-bg_BG.po278
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-ca.mobin0 -> 5589 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-ca.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-cs_CZ.mobin0 -> 5831 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-cs_CZ.po281
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-de_DE.mobin0 -> 5901 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-de_DE.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-es_ES.mobin0 -> 5512 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-es_ES.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-fa_IR.mobin0 -> 4666 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-fa_IR.po245
-rw-r--r--plugins/limit-login-attempts/limit-login-attempts-fi.mobin0 -> 5441 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-fi.po270
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-fr_FR.mobin0 -> 5773 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-fr_FR.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-hu_HU.mobin0 -> 5694 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-hu_HU.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-nb_NO.mobin0 -> 5272 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-nb_NO.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-nl_NL.mobin0 -> 5618 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-nl_NL.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-pt_BR.mobin0 -> 5602 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-pt_BR.po278
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-ro_RO.mobin0 -> 5339 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-ro_RO.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-ru_RU.mobin0 -> 6638 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-ru_RU.po277
-rw-r--r--plugins/limit-login-attempts/limit-login-attempts-sv_SE.mobin0 -> 5524 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-sv_SE.po275
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-tr_TR.mobin0 -> 5884 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-tr_TR.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-zh_TW.mobin0 -> 5327 bytes
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts-zh_TW.po277
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts.php1001
-rwxr-xr-xplugins/limit-login-attempts/limit-login-attempts.pot282
-rwxr-xr-xplugins/limit-login-attempts/readme.txt120
-rwxr-xr-xplugins/limit-login-attempts/screenshot-1.gifbin0 -> 10961 bytes
-rwxr-xr-xplugins/limit-login-attempts/screenshot-2.gifbin0 -> 10604 bytes
-rwxr-xr-xplugins/limit-login-attempts/screenshot-3.gifbin0 -> 34265 bytes
-rwxr-xr-xplugins/limit-login-attempts/screenshot-4.gifbin0 -> 31208 bytes
41 files changed, 6077 insertions, 0 deletions
diff --git a/plugins/limit-login-attempts/limit-login-attempts-bg_BG.mo b/plugins/limit-login-attempts/limit-login-attempts-bg_BG.mo
new file mode 100755
index 00000000..bd6f6a46
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-bg_BG.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-bg_BG.po b/plugins/limit-login-attempts/limit-login-attempts-bg_BG.po
new file mode 100755
index 00000000..dfa898de
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-bg_BG.po
@@ -0,0 +1,278 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-06-11 18:42+0200\n"
+"Last-Translator: Hristo Chakarov <mail@ickata.net>\n"
+"Language-Team: iNetStudio <mail@ickata.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Bulgarian\n"
+"X-Poedit-Country: BULGARIA\n"
+"X-Poedit-KeywordsList: __;_e;_ngettext:1,2\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d час"
+msgstr[1] "%d часа"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d минута"
+msgstr[1] "%d минути"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Твърде много грешни опити за вход"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d грешни опити за вход (%d заключвания) от IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Последно потребителя е опитал: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP е блокирано за %s."
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>ГРЕШКА</strong>: Твърде много грешни опита за вход."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Моля, опитайте отново по-късно."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Моля, опитайте пак след %d час."
+msgstr[1] "Моля, опитайте пак след %d часа."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Моля, опитайте пак след %d минута."
+msgstr[1] "Моля, опитайте пак след %d минути."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "Имате право на <strong>само %d</strong> опит!"
+msgstr[1] "Имате право на още <strong>%d</strong> опита."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>ГРЕШКА</strong>: Грешно потребителско име или парола."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Опитва да влезе като"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d заключване"
+msgstr[1] "%d заключвания"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "IP логът беше зачистен"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Нулирай броя заключвания"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Заключванията са изчистени"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Настройките са запазени"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>ЗАБЕЛЕЖКА:</strong> Работи само с WordPress версия 2.7+"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Изглежда сайтът е достъпен директно (от IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Изглежда сайтът е достъпен през прокси сървър (IP на прокси сървъра: %s, IP на сайта: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Настройките са невалидни</strong>. Повече информация <a href=\"%s\" title=\"FAQ\">тук</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Limit Login Attempts Настройки"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Статистики"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Общо заключвания"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Нулирай брояча"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d заключване от последното нулиране"
+msgstr[1] "%d заключвания от последното нулиране"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Няма заключвания досега"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Активни заключвания"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Поднови заключванията"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "%d IP е блокирано"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Настройки"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Заключване"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "позволени опити"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "минути заключване"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "заключвания увеличават времето на заключване на "
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "часа"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "часа грешните опити се нулират"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Връзка към сайта"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Директна връзка"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "През Прокси сървър"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Наблюдавай cookie login"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Да"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Не"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Уведомявай при заключване"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Log IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Прати Email до администратора след"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "заключвания"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Обнови настройки"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Лог на заключванията"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Изчисти лог"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Ограничава броя на опитите за вход, включително тези от cookies, за всяко различно IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-ca.mo b/plugins/limit-login-attempts/limit-login-attempts-ca.mo
new file mode 100755
index 00000000..5898b698
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-ca.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-ca.po b/plugins/limit-login-attempts/limit-login-attempts-ca.po
new file mode 100755
index 00000000..976501cc
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-ca.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-03-16 21:05+0100\n"
+"Last-Translator: Robert Buj <rbuj@wanadoo.es>\n"
+"Language-Team: Catalan <rbuj@wanadoo.es>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Catalan\n"
+"X-Poedit-Country: SPAIN\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d hora"
+msgstr[1] "%d hores"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minut"
+msgstr[1] "%d minuts"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Massa intents d'accés fallits"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d intents d'accedir fallits (%d bloqueig(s)) de de l'IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Últim intent d'usuari: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "La IP ha estat bloquejada per %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>ERROR</strong>: Massa intents d'accedir fallits."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Si us plau torneu-ho a intentar més tard."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Si us plau torneu-ho a provar d'aquí a %d hora."
+msgstr[1] "Si us plau torneu-ho a provar d'aquí a %d hores."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Si us plau torneu-ho a provar d'aquí a %d minut."
+msgstr[1] "Si us plau torneu-ho a provar d'aquí a %d minuts."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> intent restant."
+msgstr[1] "<strong>%d</strong> intents restants."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>ERROR</strong>: Nom d'usuari o contrasenya incorrectes."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP|Adreça d'internet"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Heu tractat d'accedir com"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d bloqueig"
+msgstr[1] "%d bloqueigs"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Netejat el registre IP"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Restablir contador de bloqueig"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Netejats els bloqueigs actuals"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Opcions canviades"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>NOTA:</strong> Només funciona amb Wordpress 2.7 i posteriors"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Pel que sembla, al lloc s'arriba directament (a partir de la vostra IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Pel que sembla, al lloc s'arriba a través d'un servidor intermediari (proxy IP: %s, la vostra IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>La configuració actual sembla ser incorrecta</strong>. Si us plau, assegureu-vos que és correcta. Podeu trobar més informació <a href=\"%s\" title=\"FAQ\">aquí</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Preferències del límit d'intents d'identificació"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Estadístiques"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Bloqueigs totals"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Restablir contador"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d bloqueig des de l'ultim restabliment."
+msgstr[1] "%d bloqueigs des de l'ultim restabliment."
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Encara sense bloqueigs"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Bloqueigs actius"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Restablir bloqueigs"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "La IP %d actualment està bloquejada al tractar d'iniciar la sessió"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Opcions"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Bloqueig"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "reintents permesos"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minuts a bloquejar"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "bloqueigs incrementen el temps a"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "hores"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "hores fins que es restableixen els reintents"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Lloc de connexió"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Connexió directa"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Des de darrere d'un proxy reversy"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Manejar galletes d'identificació"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Si"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "No"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Notificar al bloquejar"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Registre IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Enviar després un correu a l'administrador"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "Bloqueigs"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Canviar opcions"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Registre de bloqueigs"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Netejar registre"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Límit d'intents d'identificació"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Limitar la taxa d'intents d'accés, per mitjà de galetes, per a cada IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-cs_CZ.mo b/plugins/limit-login-attempts/limit-login-attempts-cs_CZ.mo
new file mode 100755
index 00000000..f148d920
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-cs_CZ.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-cs_CZ.po b/plugins/limit-login-attempts/limit-login-attempts-cs_CZ.po
new file mode 100755
index 00000000..bd453efc
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-cs_CZ.po
@@ -0,0 +1,281 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Jakub Jedelsky <jakub.jedelsky@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n>=2 && n<=4 ? 1 : 2;\n"
+"X-Poedit-Language: Czech\n"
+"X-Poedit-Country: Czech Republic\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d hodina"
+msgstr[1] "%d hodin"
+msgstr[2] "%d hodin"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minuta"
+msgstr[1] "%d minuty"
+msgstr[2] "%d minut"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Příliš mnoho chybných pokusů o přihlášení"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d špatných pokusů o přihlášení (zablokováno %d krát) z IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Poslední chybující uživatel: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP adresa byla zablokována na %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>CHYBA:</strong> Příliš mnoho chybných pokusů o přihlášení"
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Prosím, opakujte akci později."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Prosím, opakujte akci za %d hodinu."
+msgstr[1] "Prosím, opakujte akci za %d hodiny."
+msgstr[2] "Prosím, opakujte akci za %d hodin."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Prosím, opakujte akci za %d minutu."
+msgstr[1] "Prosím, opakujte akci za %d minuty."
+msgstr[2] "Prosím, opakujte akci za %d minut."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> zbývající pokusů."
+msgstr[1] "<strong>%d</strong> zbývající pokusy."
+msgstr[2] "<strong>%d</strong> zbývajících pokusů."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>CHYBA:</strong> Špatné uživatelské jméno nebo heslo."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP|Internetové adresy"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Pokus o přihlášení jako"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d uzamčení"
+msgstr[1] "%d uzamčení"
+msgstr[2] "%d uzamčení"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "IP log smazán"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "aktuální blokování bylo resetováno"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Aktuální blokování bylo promazáno"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Nastavení změněno"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>POZNÁMKA:</strong> Funguje pouze ve verzi Wordpress 2.7 a vyšší"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Zdá se, že web je přímo dosažitelný (z Vaší IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Zdá se, že web je dosažitelný přes proxy server (IP proxy: %s, Vaše IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Aktuální nastavení je zřejmě chybné.</strong> Prosím, ujistěte se o jeho správnosti. Další informace jsou k nalezení <a href=\"%s\" title=\"FAQ\">zde</a> (anglicky)."
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Nastavení Limit Login Attempts"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Statistiky"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Celkem blokováno"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Reset počítadla"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d blokování od posledního resetu"
+msgstr[1] "%d blokování od posledního resetu"
+msgstr[2] "%d blokování od posledního resetu"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Dosud nebylo nic blokováno"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Aktivní blokování"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Smazat blokování"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "IP %d je aktuálně blokována z důvodu chybného přihlášení"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Nastavení"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Blokování"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "povolených pokusů"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minut blokován"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "- počet blokovaných pokusů, po kterém se zvýší čas blokování na"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "hodin"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "- počet hodin, po kterém jsou chybné pokusy o přihlášení resetovány"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Připojení webu"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Přímé připojení"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Za proxy serverem"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Pracovat s přihlašovacím cookie"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Ano"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Ne"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Upozornění na blokování"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Logovat IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Poslat e-mail administrátorovi po"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "pokusech"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Změnit nastavení"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Log blokování"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Smazat log"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+# Popis rozšíření v seznamu pluginů - z nějakého důvodu nefunguje
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Omezení pokusů o přihlášení, mimo jiné prostřednictvím cookies, pro každou IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-de_DE.mo b/plugins/limit-login-attempts/limit-login-attempts-de_DE.mo
new file mode 100755
index 00000000..55046d9c
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-de_DE.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-de_DE.po b/plugins/limit-login-attempts/limit-login-attempts-de_DE.po
new file mode 100755
index 00000000..9ed3def9
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-de_DE.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-01-28 18:27+0100\n"
+"Last-Translator: Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>\n"
+"Language-Team: German <michael@skerwiderski.de>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-Country: GERMANY\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d Stunde"
+msgstr[1] "%d Stunden"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d Minute"
+msgstr[1] "%d Minuten"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Zu viele ungültige Anmeldeversuche"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d ungültige Anmeldeversuche (%d Sperrung(en)) von IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Letzter Anmeldeversuch erfolgte mit dem Benutzernamen: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP wurde gesperrt für %s."
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>FEHLER</strong>: Zuviele ung&uuml;ltige Anmeldeversuche."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Bitte versuchen Sie es sp&auml;ter noch einmal."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Bitte versuchen Sie es in %d Stunde noch einmal."
+msgstr[1] "Bitte versuchen Sie es in %d Stunden noch einmal."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Bitte versuchen Sie es in %d Minute noch einmal."
+msgstr[1] "Bitte versuchen Sie es in %d Minuten noch einmal."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "Es ist noch <strong>%d</strong> Anmeldeversuch m&ouml;glich."
+msgstr[1] "Es sind noch <strong>%d</strong> Anmeldeversuche m&ouml;glich."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>FEHLER</strong>: Ung&uuml;ltiger Benutzername oder Passwort."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Anmeldeversuch als"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d Sperrung"
+msgstr[1] "%d Sperrungen"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Protokoll wurde gel&ouml;scht"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Anzahl Sperrungen zur&uuml;cksetzen"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Sperrungen wurden deaktiviert"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Einstellungen wurden ge&auml;ndert"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>Hinweis:</strong> Erst ab Wordpress 2.7 verwendbar"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Der Zugriff auf diese Webseite erfolgt auf direktem Weg (von Ihrer IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Der Zugriff auf diese Webseite erfolgt über einen Proxy Server (IP des Proxy Servers: %s, Ihre IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Die aktuellen Einstellungen sind u.U. nicht korrekt, bzw. nicht konsistent</strong>. Weitere Infos zu den Einstellungen finden Sie <a href=\"%s\" title=\"FAQ\">hier</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Limit Login Attempts Einstellungen"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Statistik"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Bisher vorgenommene Sperrungen"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Z&auml;hler zur&uuml;cksetzen"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d Sperrung seit letztem Zur&uuml;cksetzen"
+msgstr[1] "%d Sperrungen seit letztem Zur&uuml;cksetzen"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Derzeit sind keine Sperrungen aktiv"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Aktive Sperrungen"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Sperrungen aufheben"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "%d IP ist derzeit f&uuml;r Anmeldeversuche gesperrt"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Einstellungen"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Sperrung"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "erlaubte Anmeldeversuche"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "Minuten Sperrung nach &Uuml;berschreiten der zul&auml;ssigen Anmeldeversuche"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "Sperrungen erh&ouml;hen die insgesamte Sperrzeit um"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "Stunden"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "Stunden bis fehlgeschlagene Anmeldeversuche zur&uuml;ckgesetzt werden"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Verbindungsweg zu dieser Webseite"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Direkte Verbindung"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "&Uuml;ber einen Reverse Proxy Server"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Anmeldungen via Cockies ber&uuml;cksichtigen"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Ja"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Nein"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Benachrichtigung im Falle einer Sperrung"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "IP protokollieren"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Email an den Administrator nach"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "Sperrungen"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Einstellungen speichern"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Protokoll der durchgef&uuml;hrten Sperrungen"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Protokoll zur&uuml;cksetzen"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Limit rate of login attempts, including by way of cookies, for each IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-es_ES.mo b/plugins/limit-login-attempts/limit-login-attempts-es_ES.mo
new file mode 100755
index 00000000..8692f0df
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-es_ES.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-es_ES.po b/plugins/limit-login-attempts/limit-login-attempts-es_ES.po
new file mode 100755
index 00000000..c5170435
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-es_ES.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-07-25 08:07-0300\n"
+"Last-Translator: Marcelo Pedra <marcelo@ampm-soluciones.com.ar>\n"
+"Language-Team: Español <marcelo@ampm-soluciones.com.ar>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Spanish\n"
+"X-Poedit-Country: ARGENTINA\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d hora"
+msgstr[1] "%d horas"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minuto"
+msgstr[1] "%d minutos"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Demasiados intentos de acceso fallidos"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d intentos de acceso fallidos (%d bloqueo(s)) desde la IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Ultimo usuario probado: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "La IP se ha bloqueado para %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>ERROR</strong>: Demasiados intentos de acceso fallidos."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Por favor inténtelo más tarde."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Por favor inténtelo dentro de %d hora."
+msgstr[1] "Por favor inténtelo dentro de %d horas."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Por favor inténtelo dentro de %d minuto."
+msgstr[1] "Por favor inténtelo dentro de %d minutos."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "Le queda <strong>%d</strong> intento más."
+msgstr[1] "Le quedan <strong>%d</strong> intentos más."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>ERROR</strong>: Nombre de usuario o contraseña incorrectos."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP|Dirección de Internet"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Intentó ingresar como"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d bloqueo"
+msgstr[1] "%d bloqueos"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Direcciones liberadas"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Reiniciar contador de bloqueos"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Bloqueos actuales liberados"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Opciones actualizadas"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>NOTA:</strong> Este plugin sólo funciona en Wordpress 2.7 o superior"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Al parecer, el sitio está siendo accedido directamente (desde tu IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Al parecer, el sitio está siendo accedido desde un servidor proxy (IP del proxy: %s, tu IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>La configuración actual parece ser incorrecta</strong>. Asegúrate de verificarla. Para mayor información, <a href=\"%s\" title=\"FAQ\">click aquí</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Preferencias del Limitador de Acceso"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Estadísticas"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Bloqueos totales"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Reiniciar contador"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d bloqueo desde el último reinicio."
+msgstr[1] "%d bloqueos desde el último reinicio."
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Ningún bloqueo hasta ahora"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Bloqueos activos"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Restablecer bloqueos"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "La IP %d actualmente tiene restringido el acceso"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Opciones"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Bloqueo"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "reintentos permitidos"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minutos por bloqueo"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "bloqueos incrementan el tiempo a"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "horas"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "horas hasta restablecer los reintentos"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Conexión"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Connexión directa"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Detrás de un proxy"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Gestionar cookies de login"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Sí"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "No"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Notificar al bloquear"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Registrar IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Enviar email al administrador cada"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "bloqueos"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Cambiar opciones"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Registro de bloqueos"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Limpiar registro"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Límitador de intentos de login"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Limita la tasa de intentos de acceso, usando cookies por IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-fa_IR.mo b/plugins/limit-login-attempts/limit-login-attempts-fa_IR.mo
new file mode 100755
index 00000000..2fa613dd
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-fa_IR.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-fa_IR.po b/plugins/limit-login-attempts/limit-login-attempts-fa_IR.po
new file mode 100755
index 00000000..4777d6fc
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-fa_IR.po
@@ -0,0 +1,245 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-02 10:44+0330\n"
+"PO-Revision-Date: \n"
+"Last-Translator: mostafa.s1990@gmail.com <mostafa.s1990@gmail.com>\n"
+"Language-Team: <mostafa.s1990@gmail.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Persian\n"
+"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
+"X-Poedit-KeywordsList: __;_e\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-SearchPath-0: .\n"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:383
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] حملات زیاد برای ورود ناموفق"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:385
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d حملات ورود ناموفق (%d تحریم(s)) از آی پی: %s"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:389
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "آخرین حملات کاربر: %s"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:392
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "آی پی شما برای %s قفل شده است"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:447
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>خطا</strong>: تلاش نا موفق برای ورود به سایت."
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:451
+msgid "Please try again later."
+msgstr "لطفا بعدا امتحان کنید."
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:553
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>خطا</strong>: نام کاربری یا رمز عبور اشتباه است."
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:716
+msgid "Tried to log in as"
+msgstr "برای ورود سعی کنید"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:745
+msgid "Cleared IP log"
+msgstr "گزارش آی پی ها پاک شده"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:753
+msgid "Reset lockout count"
+msgstr "ریست کردن تعداد بن شدگان"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:761
+msgid "Cleared current lockouts"
+msgstr "پاک کردن تعداد بن شدگان"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:790
+msgid "Options changed"
+msgstr "تنظیمات ذخیره شد"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:801
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>نکته:</strong> فقط در وردپرس 2.7 یا بالاتر"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "به نظر میرسد این سایت از یک پروکسی سرور رسیده است (از آی پی شما: %s)"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:819
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "به نظر میرسد این سایت از یک پروکسی سرور رسیده است (از آی پی شما: %s)"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:827
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>تنظیمات فعلی معتبر نیست</strong>لطفا درستی را چک کنید. اطلاعات تکمیلی میتواند در بر داشته باشد در <a href=\"%s\" title=\"FAQ\">اینجا</a>"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:835
+msgid "Limit Login Attempts Settings"
+msgstr "تنظیمات محافظت از حملات ورودی"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:836
+msgid "Statistics"
+msgstr "وضعیت"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:840
+msgid "Total lockouts"
+msgstr "کل تحریم ها"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:843
+msgid "Reset Counter"
+msgstr "ریست کردن شمارنده"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:845
+msgid "No lockouts yet"
+msgstr "هم اکنون کاربر تحریمی وجود ندارد"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:850
+msgid "Active lockouts"
+msgstr "فعال کردن تحریم ها"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:852
+msgid "Restore Lockouts"
+msgstr "بازگردانی تحریمی ها"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:853
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "در حال حاظر آی پی شما %d برای ورود به سایت مسدود شده است"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:859
+msgid "Options"
+msgstr "تنظیمات"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:863
+msgid "Lockout"
+msgstr "تحریم"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:865
+msgid "allowed retries"
+msgstr "اجازه retries"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:866
+msgid "minutes lockout"
+msgstr "دقیقه تحریم"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:867
+msgid "lockouts increase lockout time to"
+msgstr "افزایش زمان تحریم برای بن شدگان"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:867
+msgid "hours"
+msgstr "ساعت"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:868
+msgid "hours until retries are reset"
+msgstr "ریست کردن ساعت بازنشانی ها"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:872
+msgid "Site connection"
+msgstr "اتصال سایت"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:878
+msgid "Direct connection"
+msgstr "هدایت اتصال"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:883
+msgid "From behind a reversy proxy"
+msgstr "از قبل با پروکسی استفاده شده است"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:889
+msgid "Handle cookie login"
+msgstr "به کار گرفتن کوکی ها برای ورود"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:891
+msgid "Yes"
+msgstr "بله"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:891
+msgid "No"
+msgstr "خیر"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:896
+msgid "Notify on lockout"
+msgstr "آگاهی از تحریم"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:898
+msgid "Log IP"
+msgstr "گزارش آی پی"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:899
+msgid "Email to admin after"
+msgstr "رایانامه به مدیر"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:899
+msgid "lockouts"
+msgstr "تحریم"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:904
+msgid "Change Options"
+msgstr "ذخیره تغییرات"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:912
+msgid "Lockout log"
+msgstr "گزارش تحریم"
+
+#: F:\Program
+#: Files\AppServ\www\wordpress\wp-content\plugins\limit-login-attempts/limit-login-attempts.php:916
+msgid "Clear Log"
+msgstr "پاک کردن گزارش"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-fi.mo b/plugins/limit-login-attempts/limit-login-attempts-fi.mo
new file mode 100644
index 00000000..9fba79cb
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-fi.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-fi.po b/plugins/limit-login-attempts/limit-login-attempts-fi.po
new file mode 100755
index 00000000..64363c83
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-fi.po
@@ -0,0 +1,270 @@
+msgid ""
+msgstr "Project-Id-Version: wp-limit-login-attempts-plugin\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2010-08-12 04:22-0400\n"
+"Last-Translator: AriK <ari.kontiainen@gmail.com>\n"
+"Language-Team: Finnish\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: crowdin.net\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d tunti"
+msgstr[1] "%d tuntia"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minuutti(a)"
+msgstr[1] "%d minuutti(a)"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Liikaa epäonnistuneita kirjautumisyrityksiä"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d epäonnistunutta kirjautumisyritystä (%d lukitus(ta)) IP:stä %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Viimeisin käyttäjä yritti: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP estettiin: %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>VIRHE:</strong> Liian monta epäonnistunutta kirjautumisyritystä."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Yritä myöhemmin uudelleen."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Yritä uudelleen %d tunnin kuluttua."
+msgstr[1] "Yritä uudelleen %d tunnin kuluttua."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Yritä uudelleen %d minuutin kuluttua."
+msgstr[1] "Yritä uudelleen %d minuutin kuluttua."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> yritys jäljellä."
+msgstr[1] "<strong>%d</strong> yritystä jäljellä."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>VIRHE:</strong> Virheellinen käyttäjätunnus tai salasana."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP | Internet-osoite"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Yritti kirjautua tunnuksella"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d lukitus"
+msgstr[1] "%d lukitusta"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "IP loki tyhjennetty"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Nollaa lukitusten laskuri"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Lukitusten laskuri nollattu"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Asetuksia muutettu"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>HUOM:</strong> Toimii vain WordPress 2.7 tai uudemmassa"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Sivustolle näytään tulevan suoraan (IP-osoitteesta: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Sivustolle näytään tulevan välityspalvelimen kautta (proxy IP: %s, koneen IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Nykyinen asetus saattaa olla virheellinen.</strong> Varmista oikeellisuus. Lisätietoja löytyy <a href=\"%s\" title=\"UKK\">tästä</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Limit Login Attempts asetukset"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Tilastotietoa"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Lukituksia yhteensä"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Nollaa laskuri"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d lukitus edellisen nollauksen jälkeen"
+msgstr[1] "%d lukitusta edellisen nollauksen jälkeen"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Ei lukituksia"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Aktiiviset lukitukset"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Palauta lukitukset"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "IP-osoitteesta %d on tällä hetkellä estetty kirjautuminen"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Asetukset"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Lukitus"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "uudelleenyritystä sallitaan"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minuutin lukitus"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "lukitusta lisää lukitusaikaa"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "tuntiin"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "tuntia, kunnes uudelleenyritykset nollataan"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Sivuston yhteys"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Suora yhteys"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Käänteisen välityspalvelimen (proxy) takana"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Käsittele evästesisäänkirjautuminen"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Kyllä"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Ei"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Ilmoita lukituksesta"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Kirjaa IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Lähetä sähköposti ylläpitäjälle"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "lukituksen jälkeen"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Muuta asetuksia"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Lukitusloki"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Tyhjennä loki"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Rajaa sisäänkirjautumisten määrää, mukaalukien evästeillä, per IP-osoite."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-fr_FR.mo b/plugins/limit-login-attempts/limit-login-attempts-fr_FR.mo
new file mode 100755
index 00000000..815a7377
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-fr_FR.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-fr_FR.po b/plugins/limit-login-attempts/limit-login-attempts-fr_FR.po
new file mode 100755
index 00000000..72977b62
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-fr_FR.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2010-04-29 17:54+0100\n"
+"Last-Translator: ova <djovaweb@gmail.com>\n"
+"Language-Team: ova <ova13lastar@gmail.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: French\n"
+"X-Poedit-Country: FRANCE\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d heure"
+msgstr[1] "%d heures"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minute"
+msgstr[1] "%d minutes"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Trop de tentatives de connexions ont échouées"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d tentatives d'accès ont échouées (%d bloqué(s)) depuis l'adresse IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Dernière tentative de l'utilisateur: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "L'adresse IP a été bloquée pour %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>ERREUR</strong>: Trop de tentatives de connexions ont échouées."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Merci de retenter de vous connecter plus tard."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Merci de retenter de vous connecter dans %d heure."
+msgstr[1] "Merci de retenter de vous connecter dans %d heures."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Merci de retenter de vous connecter dans %d minute."
+msgstr[1] "Merci de retenter de vous connecter dans %d minutes."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> tentative restante."
+msgstr[1] "<strong>%d</strong> tentatives restantes."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>ERREUR</strong>: Nom d'utilisateur ou mot de passe incorrect."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP|Adresse Internet"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Tentez de vous connecter en tant que"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d blocage"
+msgstr[1] "%d blocages"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Journal d'IP effacé"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Réinitialiser le nombre de blocage"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Effacer les blocages actuels"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Options modifiées"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>NOTE:</strong> Cette extension ne fonctionne qu'avec la version 2.7 de Wordpress 2.7 ou un version supérieure"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Il semble que le site soit directement accessible (depuis votre IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Il semble que le site soit accessible via un serveur proxy (IP du proxy: %s, votre IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Le réglage actuel semble être invalide</strong>. Merci de vous assurer qu'il est correct. Pour plus d'informations, <a href=\"%s\" title=\"FAQ\">cliquez ici</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Paramètres des tentatives d'accès"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Statistiques"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Blocages totaux"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Réinitialiser le compteur"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d blocage depuis la dernière réinitialisation."
+msgstr[1] "%d blocages depuis la dernière réinitialisation."
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Aucun blocage"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Blocages actifs"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Restaurer les blocages"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "L'adresse IP %d est actuellement bloquée pour se connecter"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Options"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Blocage"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "tentatives autorisées"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minutes de blocage"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "blocages augmentent le temps de blocage à"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "heures"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "heures jusqu'à ce que les tentatives soient réinitialisées"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Connexion"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Connexion directe"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Derrière un serveur proxy"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Gérer les cookies de connexion"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Oui"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Non"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Notifier lors d'un blocage"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Enregistrer l'adresse IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Envoyer un email à l'administrateur après"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "blocages"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Modifier options"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Journal de blocage"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Effacer le journal"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limiter les tentatives de connexion"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Limiter le taux de tentatives de connexion, y compris par voie de cookies, pour chaque adresse IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-hu_HU.mo b/plugins/limit-login-attempts/limit-login-attempts-hu_HU.mo
new file mode 100755
index 00000000..4c38d6fe
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-hu_HU.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-hu_HU.po b/plugins/limit-login-attempts/limit-login-attempts-hu_HU.po
new file mode 100755
index 00000000..9602d3cb
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-hu_HU.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2010-01-26 16:08+0100\n"
+"Last-Translator: Vereskuti Balint <balint@vereskuti.eu>\n"
+"Language-Team: Hungarian <balint@vereskuti.info>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Hungarian\n"
+"X-Poedit-Country: HUNGARY\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d óra"
+msgstr[1] "%d óra"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d perc"
+msgstr[1] "%d perc"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Túl sok hibás bejelentkezési kísérlet"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d hibás bejelentkezési kísérlet (%d kizárás) %s IP-címről"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Az utolsó helyes bejelentkezés %s felhasználónévvel."
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "Az IP-cím %s időre kizárásra került."
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>HIBA</strong>: Túl sok hibás bejeletkezési kísérlet."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Próbáljs meg később."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Próbálja meg %d óra múlva."
+msgstr[1] "Próbálja meg %d óra múlva."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Próbálja meg %d perc múlva."
+msgstr[1] "Próbálja meg %d perc múlva."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "Még <strong>%d</strong> bejelentkezési lehetőség maradt."
+msgstr[1] "Még <strong>%d</strong> bejelentkezési lehetőség maradt."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>HIBA</strong>: Érvénytelen felhasználónév vagy jelszó."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Bejelentkezés mint"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d kizárás"
+msgstr[1] "%d kizárás"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "IP log törölve"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Kizárási számláló nullázása"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "A kizárások feloldásra kerültek"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "A beállítások megváltoztatásra kerültek"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>Figyelmeztetés:</strong> Csak a Wordpress 2.7, és annál újabb verziókkal működik!"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Az oldal direkt módon került elérésre (%s IP-címről)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Az oldal proxy-n keresztül került elérésre (proxy IP: %s, saját IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Helytelenek az aktuális beállítások</strong>. További információk <a href=\"%s\" title=\"FAQ\">itt</a> érhetők el."
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "A Limit Login Attempts beállításai"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Statisztikák"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Eddigi kizárások"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Számláló nullázása"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d kizárás az előző nullázás óta"
+msgstr[1] "%d kizárás az előző nullázás óta"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Jelenleg nincs aktív kizárás"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Aktív kizárás(ok)"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Kizárások feloldása"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "%d IP, melyről bejelentkezni próbál jelenleg kizárva!"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Beállítások"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Kizárás"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "engedélyezett bejelentkezési lehetőség"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "perc kizárás az engedélyezett lehetőségek elérése után"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "kizárás ennyivel emeli meg a teljes kizárási időt: "
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "óra"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "óra teljen el a hibás bejelentkezések visszaállításáig"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Oldal elérése"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "direkt-elérés"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "elérés Reverse Proxy Serveren keresztül"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Cookie-n keresztüli bejelentkezés"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Igen"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Nem"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Értesítés kizárásról"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "IP logok mentése"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Email az adminisztrátornak "
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "darab kizárás után"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Beállítások mentése"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Kizárási napló"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Log törlése"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Bejelentkezések felügyelete - akár cookie-kon kereszütl minden IP-re."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-nb_NO.mo b/plugins/limit-login-attempts/limit-login-attempts-nb_NO.mo
new file mode 100755
index 00000000..6f175aa3
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-nb_NO.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-nb_NO.po b/plugins/limit-login-attempts/limit-login-attempts-nb_NO.po
new file mode 100755
index 00000000..59841f63
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-nb_NO.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts Swedish Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.2\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-07-15 13:14+0100\n"
+"Last-Translator: Rune G <dev@bloggs.be>\n"
+"Language-Team: DigitalHverdag <dev@bloggs.be>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Norwegian Bokmal\n"
+"X-Poedit-Country: NORWAY\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d time"
+msgstr[1] "%d timer"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minutt"
+msgstr[1] "%d minutter"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] For mange påloggingsforsøk"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d påloggingsforsøk (stoppet %d gang(er)) fra IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Siste brukernavn som feilet : %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP blokkert i %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>Feil</strong>: For mange påloggingsforsøk."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Prøv igjen senere"
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Prøv igjen om %d time."
+msgstr[1] "Prøv igjen om %d timer."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Prøv igjen om %d minutt."
+msgstr[1] "Prøv igjen om %d minutter."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> forsøk gjenstår."
+msgstr[1] "<strong>%d</strong> forsøk gjenstår."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>Feil</strong>: Feil brukernavn eller passord."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Prøvde å logge inn som"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d blokkering"
+msgstr[1] "%d blokkeringer"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Nullstill IP loggen"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Nullstill antall blokkeringer"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Fjernet gjeldende blokkeringer"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Innstillinger endret"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>NB:</strong> Du må bruker WordPress 2.7 eller nyere"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Det ser ut som om du kan nå bloggen direkte (fra din IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Det ser ut som om bloggen din er bak en proxy server (proxy IP: %s, din IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Dine innstillinger kan være feil</strong>. Sjekk at de er korrekte. Mer informasjon <a href=\"%s\" title=\"FAQ\">her</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Limit Login Attempts Innstillinger"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Statistikk"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Totalt antall blokkeringer"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Nullstill teller"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d blokkering siden siste nullstilling"
+msgstr[1] "%d blokkeringer siden siste nullstilling"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Ingen blokkeringer enda"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Aktive blokkeringer"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Fjern blokkeringer"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "%d IP står på blokkeringslisten"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Innstillinger"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Blokkering"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "Antall påloggingsforsøk"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minutters blokkering"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "Blokkeringer øker blokkeringstiden til"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "timer"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "timer til nullstilling"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Blogg forbindelse"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Direkte forbindelse"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Bak en omvendt proxy"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Behandle pålogginger med cookies"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Ja"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Nei"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Gi melding om blokkering"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Logg IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Send epost til admin etter"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "blokkeringer"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Endre innstillinger"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Blokkerings logg"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Nullstill loggen"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Begrense påloggingsforsøk"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Begrenser antall påloggingsforsøk, inkludert forsøk med cookies, for alle IPer"
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-nl_NL.mo b/plugins/limit-login-attempts/limit-login-attempts-nl_NL.mo
new file mode 100755
index 00000000..6cfcc685
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-nl_NL.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-nl_NL.po b/plugins/limit-login-attempts/limit-login-attempts-nl_NL.po
new file mode 100755
index 00000000..59841f63
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-nl_NL.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts Swedish Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.2\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-07-15 13:14+0100\n"
+"Last-Translator: Rune G <dev@bloggs.be>\n"
+"Language-Team: DigitalHverdag <dev@bloggs.be>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Norwegian Bokmal\n"
+"X-Poedit-Country: NORWAY\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d time"
+msgstr[1] "%d timer"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minutt"
+msgstr[1] "%d minutter"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] For mange påloggingsforsøk"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d påloggingsforsøk (stoppet %d gang(er)) fra IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Siste brukernavn som feilet : %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP blokkert i %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>Feil</strong>: For mange påloggingsforsøk."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Prøv igjen senere"
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Prøv igjen om %d time."
+msgstr[1] "Prøv igjen om %d timer."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Prøv igjen om %d minutt."
+msgstr[1] "Prøv igjen om %d minutter."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> forsøk gjenstår."
+msgstr[1] "<strong>%d</strong> forsøk gjenstår."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>Feil</strong>: Feil brukernavn eller passord."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Prøvde å logge inn som"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d blokkering"
+msgstr[1] "%d blokkeringer"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Nullstill IP loggen"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Nullstill antall blokkeringer"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Fjernet gjeldende blokkeringer"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Innstillinger endret"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>NB:</strong> Du må bruker WordPress 2.7 eller nyere"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Det ser ut som om du kan nå bloggen direkte (fra din IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Det ser ut som om bloggen din er bak en proxy server (proxy IP: %s, din IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Dine innstillinger kan være feil</strong>. Sjekk at de er korrekte. Mer informasjon <a href=\"%s\" title=\"FAQ\">her</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Limit Login Attempts Innstillinger"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Statistikk"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Totalt antall blokkeringer"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Nullstill teller"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d blokkering siden siste nullstilling"
+msgstr[1] "%d blokkeringer siden siste nullstilling"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Ingen blokkeringer enda"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Aktive blokkeringer"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Fjern blokkeringer"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "%d IP står på blokkeringslisten"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Innstillinger"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Blokkering"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "Antall påloggingsforsøk"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minutters blokkering"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "Blokkeringer øker blokkeringstiden til"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "timer"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "timer til nullstilling"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Blogg forbindelse"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Direkte forbindelse"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Bak en omvendt proxy"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Behandle pålogginger med cookies"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Ja"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Nei"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Gi melding om blokkering"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Logg IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Send epost til admin etter"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "blokkeringer"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Endre innstillinger"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Blokkerings logg"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Nullstill loggen"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Begrense påloggingsforsøk"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Begrenser antall påloggingsforsøk, inkludert forsøk med cookies, for alle IPer"
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-pt_BR.mo b/plugins/limit-login-attempts/limit-login-attempts-pt_BR.mo
new file mode 100755
index 00000000..5d456397
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-pt_BR.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-pt_BR.po b/plugins/limit-login-attempts/limit-login-attempts-pt_BR.po
new file mode 100755
index 00000000..db7642b5
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-pt_BR.po
@@ -0,0 +1,278 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.5.1\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2010-10-08 15:55-0300\n"
+"Last-Translator: Luciano Passuello <lucianop@litemind.com>\n"
+"Language-Team: Luciano Passuello <lucianop@litemind.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Portuguese\n"
+"X-Poedit-Country: BRAZIL\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d hora"
+msgstr[1] "%d Stunden"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minuto"
+msgstr[1] "%d minutos"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Muitas tentativas de login mal-sucedidas"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d tentativas de login mal-sucedidas (%d bloqueio(s)) do IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Último usuário tentou: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP foi bloquado para %s."
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>ERRO</strong>: Muitas tentativas de login mal-sucedidas."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Por favor tente novamente mais tarde."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Por favor tente novamente em %d hora."
+msgstr[1] "Por favor tente novamente em %d horas."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Por favor tente novamente em %d minuto."
+msgstr[1] "Por favor tente novamente em %d minutos."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> tentativa restante."
+msgstr[1] "<strong>%d</strong> tentativas restantes."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>ERRO</strong>: Nome ou senha inválidos."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Tentou entrar como"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d bloqueio"
+msgstr[1] "%d bloqueios"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Limpou o log de IPs"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Zerar contagem de bloqueios"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Limpou bloqueios correntes"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Opções alteradas"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>NOTA:</strong> Funciona apenas no Wordpress 2.7 ou superior"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Aparentemente o site é acessado diretamente (de seu IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Aparentemente o site é acessado através de um servidor proxy (IP do servidor proxy: %s, seu IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Configurações atuais parecem ser inválidas</strong>. Por favor certifique-se que estão corretas. Informações adicionais podem ser encontradas <a href=\"%s\" title=\"FAQ\">aqui</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Configurações do Limit Login Attempts"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Estatísticas"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Total de bloqueios"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Reiniciar contador"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d bloqueio desde que o contador foi reiniciado pela última vez"
+msgstr[1] "%d bloqueios desde que o contador foi reiniciado pela última vez"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Sem bloqueios ainda"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Bloqueios ativos"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Restaurar bloqueios"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "%d IP está atualmente bloqueado de novas tentativas de login"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Opções"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Bloqueio"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "tentativas permitidas"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minutos de bloqueio"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "bloqueios aumentam o tempo de bloqueio para"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "horas"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "horas até o bloqueio expirar"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Conexão ao site"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Conexão direta"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Através de um proxy reverso"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Monitorar o cookie de login"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Sim"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Não"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Notificar em bloqueios"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Registrar IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Mandar email para o administrador após"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "bloqueios"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Modificar Opções"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Registros de bloqueios"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Excluir registros"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Limita a frequência de tentativas de logins, incluindo cookies de login, para cada IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-ro_RO.mo b/plugins/limit-login-attempts/limit-login-attempts-ro_RO.mo
new file mode 100755
index 00000000..a37030d3
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-ro_RO.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-ro_RO.po b/plugins/limit-login-attempts/limit-login-attempts-ro_RO.po
new file mode 100755
index 00000000..f3d970fa
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-ro_RO.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-03-05 00:16+0200\n"
+"Last-Translator: Robert Tudor <egipt@egt-design.com>\n"
+"Language-Team: German <michael@skerwiderski.de>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-Country: GERMANY\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d ora"
+msgstr[1] "%d ore"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d Minut"
+msgstr[1] "%d Minute"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Prea multe incercari nereusite"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d incercari de logare nereusite (%d inchidere(i)) de la IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Ultimul incercare: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP-ul a fost blocat pentru %s."
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>EROARE</strong>: Prea multe incercari nereusite."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Va rugam incercati mai tarziu."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Va rugam incercati in %d ora."
+msgstr[1] "Va rugam incercati in %d ore"
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Va rugam incercati in %d Minut."
+msgstr[1] "Va rugam incercati in %d Minute."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "incercare ramasa <strong>%d</strong>"
+msgstr[1] "incercari ramasa <strong>%d</strong>"
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>EROARE</strong>: Nume de utilizator sau parola incorecta."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "A incercat sa se logheze ca"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d inchidere"
+msgstr[1] "%d inchideri"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Am curatat logul cu IP"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Reseteaza numaratoarea inchiderilor"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Am curatat numaratoarea inchiderilor"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Optiuni schimbate"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>NOTA:</strong> Functioneaza doar in Wordpress 2.7 sau mai nou."
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Se pare ca site-ul este accesat direct (de la IP-ul dvs: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Se pare ca site-ul este accesat printr-un adresa PROXY (IP Proxy: %s, IP dvs.: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Se pare ca setarile curente sunt invalide</strong>. Verificati corectitudinea lor. Mai multe informatii pot fi gasite <a href=\"%s\" title=\"FAQ\">aici</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Setari Limitari Incercari Access"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Statistici"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Total inchideri"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Reseteaza numaratoarea"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d inchidere de la ultima resetare"
+msgstr[1] "%d inchideri de la ultima resetare"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Nici o inchidere pana acum"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Inchideri active"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Restaureaza inchideri"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "IP-ul %d are momentan accesul de intrare blocat."
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Optiuni"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Inchidere"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "incercari permise"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "inchidere in minute"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "inchiderile maresc timpul in"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "ore"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "ore pana cand incercarile sunt resetate"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Conexie site"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Conexie directa"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "In spatele unui proxy"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Logare tip cookie"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Da"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Nu"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Notifica-ma de inchidere"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Logheaza IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Notifica adminul dupa"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "inchideri"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Schimba optiunile"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Log de inchidere"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Sterge log"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limiteaza incercarile de logare"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Limiteaza ratia incercarilor de logare, incluzand cookie, pentru fiecare IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-ru_RU.mo b/plugins/limit-login-attempts/limit-login-attempts-ru_RU.mo
new file mode 100755
index 00000000..51b0f88b
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-ru_RU.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-ru_RU.po b/plugins/limit-login-attempts/limit-login-attempts-ru_RU.po
new file mode 100755
index 00000000..7fb33171
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-ru_RU.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-08-03 15:55+0200\n"
+"Last-Translator: Studio-XL.com <webmaster@studio-xl.com>\n"
+"Language-Team: Catalan <rbuj@wanadoo.es>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Catalan\n"
+"X-Poedit-Country: SPAIN\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d час"
+msgstr[1] "%d часов"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d минута"
+msgstr[1] "%d минут"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Превышен максимальный лимит попыток авторизации"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d неудачных попыток авторизации (%d изоляция(ий)) с адреса IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Последняя попытка пользователя: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP заблокирован для %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>ВНИМАНИЕ</strong>: превышен лимит попыток авторизации."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Пожалуйста попробуйте позже."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Пожалуйста попробуйте через %d час."
+msgstr[1] " Пожалуйста попробуйте через %d часов."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Пожалуйста попробуйте через %d минуту."
+msgstr[1] "Пожалуйста попробуйте через %d минут."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> intent restant."
+msgstr[1] "Осталось <strong>%d</strong> попыток."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>ОШИБКА</strong>: Неверное имя пользователя или пароль."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP|Интернет-адрес"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "Пытался войти как"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d изоляция"
+msgstr[1] "%d изоляций"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Чистый IP лог"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Сброс счетчика изоляций"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Существующие изоляции очищены"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Опции изменены"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>Внимание:</strong> Работает только в версии Wordpress 2.7 или выше"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Сайт доступен напрямую (с вашего IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Сайт досупен через прокси-сервер (proxy IP: %s, ваш IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Данные настройки недействительны</strong>. Пожалуйста проверьте их. Дополнительная информация доступна <a href=\"%s\" title=\"FAQ\">здесь</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Ограничение попыток авторизации"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Статистика"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Всего изоляций"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Сброс счетчика"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d изоляция с последнего сброса счетчика."
+msgstr[1] "%d изоляций с последнего сброса счетчика."
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Пока без изоляций"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Активные изоляции"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Восстановить изоляции"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "IP %d в данный момент заблокирован от попыток авторизации"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Опции"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Изоляция"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "разрешено дополнительных попыток"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "изоляция в минутах"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "изоляций повысят время изоляции до"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "часов"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "часов до сброса количества попыток"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Подключение к сайту"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Прямое подключение"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "За прокси (reversy proxy)"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Обрабатывать кукис логина"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Да"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Нет"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Сообщать об изоляциях"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Записывать IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Отправлять имейл админу после"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "изоляций"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "Изменить настройки"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Лог изоляций"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Очистить лог"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Ограничение попыток авторизации"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Лимит количества попыток авторизации, включая поддержку куки, по IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-sv_SE.mo b/plugins/limit-login-attempts/limit-login-attempts-sv_SE.mo
new file mode 100644
index 00000000..34484239
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-sv_SE.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-sv_SE.po b/plugins/limit-login-attempts/limit-login-attempts-sv_SE.po
new file mode 100755
index 00000000..17fc935b
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-sv_SE.po
@@ -0,0 +1,275 @@
+# Limit Login Attempts Swedish Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.2\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-01-28 18:25+0100\n"
+"Last-Translator: Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>\n"
+"Language-Team: Swedish\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d timme"
+msgstr[1] "%d timmar"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minut"
+msgstr[1] "%d minuter"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] För många misslyckade inloggningar"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d misslyckade inloggningar (blockad %d gång(er)) från IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Misslyckades senast med användare : %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP blockerades i %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>Fel</strong>: F&ouml;r m&aring;nga misslyckade f&ouml;rs&ouml;k."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "F&ouml;rs&ouml;k igen senare."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "F&ouml;rs&ouml;k igen om %d timme."
+msgstr[1] "F&ouml;rs&ouml;k igen om %d timmar."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "F&ouml;rs&ouml;k igen om %d minut."
+msgstr[1] "F&ouml;rs&ouml;k igen om %d minuter."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> f&ouml;rs&ouml;k &aring;terst&aring;r."
+msgstr[1] "<strong>%d</strong> f&ouml;rs&ouml;k &aring;terst&aring;r."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>Fel</strong>: Felaktigt anv&auml;ndarnamn eller l&ouml;senord."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "F&ouml;rs&ouml;kte logga in som"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d blockering"
+msgstr[1] "%d blockeringar"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "Rensade IP loggen"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Nollst&auml;llde r&auml;knaren f&ouml;r blockeringar"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Tog bort aktuella blockeringar"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Inst&auml;llningar &auml;ndrade"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>OBS:</strong> Fungerar endast i WordPress 2.7 eller senare"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Sajten tycks vara direktansluten (från din IP: %s)"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Sajten tycks ansluta genom en proxy server (proxy IP: %s, din IP: %s)"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Nuvarande inställningar kan vara fel</strong>. Säkerställ att de är korrekta. Mer information kan hittas <a href=\"%s\" title=\"FAQ\">här</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Limit Login Attempts Inst&auml;llningar"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "Statistik"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Antal blockeringar"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Nollst&auml;ll r&auml;knare"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "%d blockering sedan r&auml;knaren nollst&auml;lldes"
+msgstr[1] "%d blockeringar sedan r&auml;knaren nollst&auml;lldes"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Inga blockeringar har skett &auml;nnu"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Aktiva blockeringar"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Ta bort blockeringar"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "%d IP &auml;r f&ouml;r n&auml;rvarande blockerade fr&aring;n att logga in"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Inst&auml;llningar"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Blockering"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "till&aring;tna misslyckanden"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "minuters blockering"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "blockeringar &ouml;kar tiden till"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "timmar"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "timmar tills misslyckanden nollst&auml;lls"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Sajten ansluter"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Direktansluten"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Bakom en reverse proxy"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Hantera inloggning med kakor"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Ja"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Nej"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Notifiera om blockering"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "Logga IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "E-post till administrat&ouml;r efter"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "blockeringar"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "&Auml;ndra Inst&auml;llningar"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Log &ouml;ver blockeringar"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Rensa Log"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Limit rate of login attempts, including by way of cookies, for each IP."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-tr_TR.mo b/plugins/limit-login-attempts/limit-login-attempts-tr_TR.mo
new file mode 100755
index 00000000..0e54e8a0
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-tr_TR.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-tr_TR.po b/plugins/limit-login-attempts/limit-login-attempts-tr_TR.po
new file mode 100755
index 00000000..c335f5ec
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-tr_TR.po
@@ -0,0 +1,277 @@
+# Limit Login Attempts German Translation
+# Copyright (C) 2009 Johan Eenfeldt
+# This file is distributed under the same license as the Wordpress package.
+# Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: limit-login-attempts 1.3\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2009-05-01 19:49+0200\n"
+"Last-Translator: canarkadas <durustem@gmail.com>\n"
+"Language-Team: German <michael@skerwiderski.de>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-Country: GERMANY\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d Saat"
+msgstr[1] "%d Saat"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d Dakika"
+msgstr[1] "%d Dakika"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] Hatalı giriş denemeleri bilgisi"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "%d başarısız giriş denemesi. Aynı IP adresi ile yapılan deneme: %s "
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "Denemede kullanılan isim: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "%s no'lu IP engellendi"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>HATA</strong>: Çok fazla sayıda başarısız giriş denemesi."
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "Lütfen daha sonra tekrar deneyin."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "Lütfen %d saat sonra tekrar deneyin."
+msgstr[1] "Lütfen %d saat sonra tekrar deneyin."
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "Lütfen %d dakika sonra tekrar deneyin."
+msgstr[1] "Lütfen %d dakika sonra tekrar deneyin."
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "<strong>%d</strong> kez daha giriş yapmayı deneyebilirsiniz."
+msgstr[1] "<strong>%d</strong> kez daha giriş yapmayı deneyebilirsiniz."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>HATA</ strong>: Yanlış kullanıcı adı veya şifre."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP No"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "İsim ve deneme sayısı"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d giriş denemesi"
+msgstr[1] "%d giriş denemesi"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "IP denemesi yapanların bilgileri silindi"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "Giriş denemeleri sayacı sıfırlandı"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "Giriş denemeleri silindi"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "Seçenekler değiştirildi"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>NOT:</strong> Eklenti sadece Wordpress 2.7 ve daha sonrası ile çalışır."
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "Sizin IP adresiniz: %s (bu IP ile site gezilebilir)."
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "Proxy sunucusu kullanıyorsunuz (proxy IP: %s) %s IP adresinizle ile site gezilebilir."
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>Seçenekler geçersiz</strong>. Girdilerin doğru olduğundan emin olun, daha fazla bilgi için <a href=\"%s\" title=\"FAQ\">bakınız.</a>"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Limit Login Attempts Ayarlar"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "İstatistik"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "Tüm giriş denemeleri"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "Sayacı Sıfırla"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "En son sıfırlamadan sonra gerçekleşen giriş denemesi sayısı %d "
+msgstr[1] "En son sıfırlamadan sonra gerçekleşen giriş denemesi sayısı %d "
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "Henüz giriş denemesi yok"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "Aktif giriş denemesi"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "Giriş denemelerini düzenleyin"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "%d no'lu IP halen engelleniyor"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "Tercihler"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "Giriş denemeleri"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "Müsaade edilen giriş denemesi sayınızı yazınız."
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "Dakika sonra yeniden giriş denemesi yapılabilsin."
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "Defadan fazla giriş denemesi yapılamasın."
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "(Saat içinde)"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "Sıfırlamaya kadar yapılabilecek giriş denemesi sayınızı yazınız."
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "Site bağlantınız"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "Direk bağlantı"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "Bir proxy (vekil, aracı sunucu) arkasından"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "Çerezler kullanılarak giriş yapılabilsin"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "Evet"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "Hayır"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "Giriş denemeleri bildirilsin (Yazacağınız sayı giriş denemesini değil, her IP no'su adına ayrı bir kullanıcıyı ifade eder)"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "IP kayıtları dahil"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Site yöneticisi"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "giriş denemesi olduğunda e-posta ile bilgilendirilsin."
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "KAYDET"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "Giriş denemesi kayıtları"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "Kayıtları Sil"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "Her IP için giriş deneme sayısı (çerezler dahil)."
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts-zh_TW.mo b/plugins/limit-login-attempts/limit-login-attempts-zh_TW.mo
new file mode 100755
index 00000000..dde316b2
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-zh_TW.mo
Binary files differ
diff --git a/plugins/limit-login-attempts/limit-login-attempts-zh_TW.po b/plugins/limit-login-attempts/limit-login-attempts-zh_TW.po
new file mode 100755
index 00000000..25bc0825
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts-zh_TW.po
@@ -0,0 +1,277 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Johan Eenfeldt
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Limit Login Attempts v1.5\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: 2010-07-23 03:16+0800\n"
+"Last-Translator: Denny Huang <bigexplorations@bigexplorations.com.tw>\n"
+"Language-Team: 小弟的大發現 <bigexplorations@bigexplorations.com.tw>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+"X-Poedit-Language: Chinese\n"
+"X-Poedit-Country: TAIWAN\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d 小時"
+msgstr[1] "%d 小時"
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d 分鐘"
+msgstr[1] "%d 分鐘"
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr "[%s] 嘗試過多次的失敗登入"
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr "登入失敗嘗試次數: %d (%d 鎖定) 來自 IP: %s"
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid "Last user attempted: %s"
+msgstr "最後一位使用者嘗試: %s"
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr "IP已被封鎖。 原因: %s"
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr "<strong>錯誤</strong>: 嘗試過多次失敗登入"
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr "請稍候再試."
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] "請在%d小時後再重試。"
+msgstr[1] "請在%d小時後再重試。"
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] "請在%d分鐘後再重試。"
+msgstr[1] "請在%d分鐘後再重試。"
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] "嘗試次數剩<strong>%d</strong>次."
+msgstr[1] "嘗試次數剩<strong>%d</strong>次."
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr "<strong>錯誤</strong>: 帳號或密碼錯誤."
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr "IP|網路位址"
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr "嘗試登入為"
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] "%d 次鎖定"
+msgstr[1] "%d 次鎖定"
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr "清除IP紀錄"
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr "重設鎖定計數器"
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr "目前鎖定次數已重設"
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr "設定已儲存"
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr "<strong>注意:</strong> 只在 Wordpress 2.7 或以後版本有效"
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr "網站與您的電腦(IP: %s)似乎是直接連線"
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
+msgstr "網站似乎是透過代理伺服器(IP:%s)再與您的電腦(IP: %s)連線"
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
+msgstr "<strong>目前設定有些問題</strong>. 請再次檢查. 更多資訊可以在 <a href=\"%s\" title=\"FAQ\">這邊</a>找到"
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr "Limit Login Attempts 設定"
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr "數據"
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr "總共鎖定次數"
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr "重設計數器"
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] "自從上次重設,已有%d次鎖定。"
+msgstr[1] "自從上次重設,已有%d次鎖定。"
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr "未有任何鎖定紀錄"
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr "解除鎖定"
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr "還原鎖定"
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr "IP: %d嘗試登入,但目前已被阻擋"
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr "選項"
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr "鎖定"
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr "允許嘗試次數"
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr "分鐘鎖定"
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr "次鎖定後,將鎖定時間增加為"
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr "小時"
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr "小時直到重設登入嘗試"
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr "網站連結"
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr "直接連線"
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr "透過代理伺服器"
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr "控管Cookie登入"
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr "是"
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr "否"
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr "鎖定的提醒"
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr "紀錄 IP"
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr "Email 給管理員當超過"
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr "鎖定次數"
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr "儲存設定"
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr "鎖定紀錄"
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr "清除記錄"
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr "Limit Login Attempts"
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr "限制登入嘗試比率(包含Cookies 和 IP) [外掛中文化: <a href=\"http://blog.bigexplorations.com.tw/\" target=\"_blank\" title=\"小弟的大發現\">Denny Huang</a>]"
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr "Johan Eenfeldt"
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr "http://devel.kostdoktorn.se"
+
diff --git a/plugins/limit-login-attempts/limit-login-attempts.php b/plugins/limit-login-attempts/limit-login-attempts.php
new file mode 100755
index 00000000..b4756648
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts.php
@@ -0,0 +1,1001 @@
+<?php
+/*
+ Plugin Name: Limit Login Attempts
+ Plugin URI: http://devel.kostdoktorn.se/limit-login-attempts
+ Description: Limit rate of login attempts, including by way of cookies, for each IP.
+ Author: Johan Eenfeldt
+ Author URI: http://devel.kostdoktorn.se
+ Version: 1.5.2
+
+ Copyright 2008, 2009, 2010 Johan Eenfeldt
+
+ Thanks to Michael Skerwiderski for reverse proxy handling.
+
+ Licenced under the GNU GPL:
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+/*
+ * Constants
+ */
+
+/* Different ways to get remote address: direct & behind proxy */
+define('LIMIT_LOGIN_DIRECT_ADDR', 'REMOTE_ADDR');
+define('LIMIT_LOGIN_PROXY_ADDR', 'HTTP_X_FORWARDED_FOR');
+
+/* Notify value checked against these in limit_login_sanitize_variables() */
+define('LIMIT_LOGIN_LOCKOUT_NOTIFY_ALLOWED', 'log,email');
+
+/*
+ * Variables
+ *
+ * Assignments are for default value -- change in admin page.
+ */
+
+$limit_login_options =
+ array(
+ /* Are we behind a proxy? */
+ 'client_type' => LIMIT_LOGIN_DIRECT_ADDR
+
+ /* Lock out after this many tries */
+ , 'allowed_retries' => 4
+
+ /* Lock out for this many seconds */
+ , 'lockout_duration' => 1200 // 20 minutes
+
+ /* Long lock out after this many lockouts */
+ , 'allowed_lockouts' => 4
+
+ /* Long lock out for this many seconds */
+ , 'long_duration' => 86400 // 24 hours
+
+ /* Reset failed attempts after this many seconds */
+ , 'valid_duration' => 86400 // 24 hours
+
+ /* Also limit malformed/forged cookies?
+ *
+ * NOTE: Only works in WP 2.7+, as necessary actions were added then.
+ */
+ , 'cookies' => true
+
+ /* Notify on lockout. Values: '', 'log', 'email', 'log,email' */
+ , 'lockout_notify' => 'log'
+
+ /* If notify by email, do so after this number of lockouts */
+ , 'notify_email_after' => 4
+ );
+
+$limit_login_my_error_shown = false; /* have we shown our stuff? */
+$limit_login_just_lockedout = false; /* started this pageload??? */
+$limit_login_nonempty_credentials = false; /* user and pwd nonempty */
+
+
+/*
+ * Startup
+ */
+
+limit_login_setup();
+
+
+/*
+ * Functions start here
+ */
+
+/* Get options and setup filters & actions */
+function limit_login_setup() {
+ load_plugin_textdomain('limit-login-attempts'
+ , PLUGINDIR.'/'.dirname(plugin_basename(__FILE__)));
+
+ limit_login_setup_options();
+
+ /* Filters and actions */
+ add_action('wp_login_failed', 'limit_login_failed');
+ if (limit_login_option('cookies')) {
+ add_action('plugins_loaded', 'limit_login_handle_cookies', 99999);
+ add_action('auth_cookie_bad_hash', 'limit_login_failed_cookie');
+ add_action('auth_cookie_bad_username', 'limit_login_failed_cookie');
+ }
+ add_filter('wp_authenticate_user', 'limit_login_wp_authenticate_user', 99999, 2);
+ add_filter('shake_error_codes', 'limit_login_failure_shake');
+ add_action('login_head', 'limit_login_add_error_message');
+ add_action('login_errors', 'limit_login_fixup_error_messages');
+ add_action('admin_menu', 'limit_login_admin_menu');
+
+ /*
+ * This action should really be changed to the 'authenticate' filter as
+ * it will probably be deprecated. That is however only available in
+ * later versions of WP.
+ */
+ add_action('wp_authenticate', 'limit_login_track_credentials', 10, 2);
+}
+
+
+/* Get current option value */
+function limit_login_option($option_name) {
+ global $limit_login_options;
+
+ if (isset($limit_login_options[$option_name])) {
+ return $limit_login_options[$option_name];
+ } else {
+ return null;
+ }
+}
+
+
+/* Get correct remote address */
+function limit_login_get_address($type_name = '') {
+ $type = $type_name;
+ if (empty($type)) {
+ $type = limit_login_option('client_type');
+ }
+
+ if (isset($_SERVER[$type])) {
+ return $_SERVER[$type];
+ }
+
+ /*
+ * Not found. Did we get proxy type from option?
+ * If so, try to fall back to direct address.
+ */
+ if ( empty($type_name) && $type == LIMIT_LOGIN_PROXY_ADDR
+ && isset($_SERVER[LIMIT_LOGIN_DIRECT_ADDR])) {
+
+ /*
+ * NOTE: Even though we fall back to direct address -- meaning you
+ * can get a mostly working plugin when set to PROXY mode while in
+ * fact directly connected to Internet it is not safe!
+ *
+ * Client can itself send HTTP_X_FORWARDED_FOR header fooling us
+ * regarding which IP should be banned.
+ */
+
+ return $_SERVER[LIMIT_LOGIN_DIRECT_ADDR];
+ }
+
+ return '';
+}
+
+
+/* Check if it is ok to login */
+function is_limit_login_ok() {
+ $ip = limit_login_get_address();
+
+ /* lockout active? */
+ $lockouts = get_option('limit_login_lockouts');
+ return (!is_array($lockouts) || !isset($lockouts[$ip]) || time() >= $lockouts[$ip]);
+}
+
+
+/* Filter: allow login attempt? (called from wp_authenticate()) */
+function limit_login_wp_authenticate_user($user, $password) {
+ if (is_wp_error($user) || is_limit_login_ok() ) {
+ return $user;
+ }
+
+ global $limit_login_my_error_shown;
+ $limit_login_my_error_shown = true;
+
+ $error = new WP_Error();
+ // This error should be the same as in "shake it" filter below
+ $error->add('too_many_retries', limit_login_error_msg());
+ return $error;
+}
+
+
+/* Filter: add this failure to login page "Shake it!" */
+function limit_login_failure_shake($error_codes) {
+ $error_codes[] = 'too_many_retries';
+ return $error_codes;
+}
+
+
+/*
+ * Action: called in plugin_loaded (really early) to make sure we do not allow
+ * auth cookies while locked out.
+ */
+function limit_login_handle_cookies() {
+ if (is_limit_login_ok()) {
+ return;
+ }
+
+ if (empty($_COOKIE[AUTH_COOKIE]) && empty($_COOKIE[SECURE_AUTH_COOKIE])
+ && empty($_COOKIE[LOGGED_IN_COOKIE])) {
+ return;
+ }
+
+ wp_clear_auth_cookie();
+
+ if (!empty($_COOKIE[AUTH_COOKIE])) {
+ $_COOKIE[AUTH_COOKIE] = '';
+ }
+ if (!empty($_COOKIE[SECURE_AUTH_COOKIE])) {
+ $_COOKIE[SECURE_AUTH_COOKIE] = '';
+ }
+ if (!empty($_COOKIE[LOGGED_IN_COOKIE])) {
+ $_COOKIE[LOGGED_IN_COOKIE] = '';
+ }
+}
+
+
+/* Action: failed cookie login wrapper for limit_login_failed() */
+function limit_login_failed_cookie($arg) {
+ limit_login_failed($arg);
+ wp_clear_auth_cookie();
+}
+
+/*
+ * Action when login attempt failed
+ *
+ * Increase nr of retries (if necessary). Reset valid value. Setup
+ * lockout if nr of retries are above threshold. And more!
+ */
+function limit_login_failed($arg) {
+ $ip = limit_login_get_address();
+
+ /* if currently locked-out, do not add to retries */
+ $lockouts = get_option('limit_login_lockouts');
+ if (!is_array($lockouts)) {
+ $lockouts = array();
+ }
+ if(isset($lockouts[$ip]) && time() < $lockouts[$ip]) {
+ return;
+ }
+
+ /* Get the arrays with retries and retries-valid information */
+ $retries = get_option('limit_login_retries');
+ $valid = get_option('limit_login_retries_valid');
+ if (!is_array($retries)) {
+ $retries = array();
+ add_option('limit_login_retries', $retries, '', 'no');
+ }
+ if (!is_array($valid)) {
+ $valid = array();
+ add_option('limit_login_retries_valid', $valid, '', 'no');
+ }
+
+ /* Check validity and add one to retries */
+ if (isset($retries[$ip]) && isset($valid[$ip]) && time() < $valid[$ip]) {
+ $retries[$ip] ++;
+ } else {
+ $retries[$ip] = 1;
+ }
+ $valid[$ip] = time() + limit_login_option('valid_duration');
+
+ /* lockout? */
+ if($retries[$ip] % limit_login_option('allowed_retries') != 0) {
+ /*
+ * Not lockout (yet!)
+ * Do housecleaning (which also saves retry/valid values).
+ */
+ limit_login_cleanup($retries, null, $valid);
+ return;
+ }
+
+ /* lockout! */
+
+ global $limit_login_just_lockedout;
+ $limit_login_just_lockedout = true;
+
+ /* setup lockout, reset retries as needed */
+ $retries_long = limit_login_option('allowed_retries')
+ * limit_login_option('allowed_lockouts');
+ if ($retries[$ip] >= $retries_long) {
+ /* long lockout */
+ $lockouts[$ip] = time() + limit_login_option('long_duration');
+ unset($retries[$ip]);
+ unset($valid[$ip]);
+ } else {
+ /* normal lockout */
+ $lockouts[$ip] = time() + limit_login_option('lockout_duration');
+ }
+
+ /* try to find username which failed */
+ $user = '';
+ if (is_string($arg)) {
+ /* action: wp_login_failed */
+ $user = $arg;
+ } elseif (is_array($arg) && array_key_exists('username', $arg)) {
+ /* action: auth_cookie_bad_* */
+ $user = $arg['username'];
+ }
+
+ /* do housecleaning and save values */
+ limit_login_cleanup($retries, $lockouts, $valid);
+
+ /* do any notification */
+ limit_login_notify($user);
+
+ /* increase statistics */
+ $total = get_option('limit_login_lockouts_total');
+ if ($total === false || !is_numeric($total)) {
+ add_option('limit_login_lockouts_total', 1, '', 'no');
+ } else {
+ update_option('limit_login_lockouts_total', $total + 1);
+ }
+}
+
+
+/* Clean up old lockouts and retries, and save supplied arrays */
+function limit_login_cleanup($retries = null, $lockouts = null, $valid = null) {
+ $now = time();
+ $lockouts = !is_null($lockouts) ? $lockouts : get_option('limit_login_lockouts');
+
+ /* remove old lockouts */
+ if (is_array($lockouts)) {
+ foreach ($lockouts as $ip => $lockout) {
+ if ($lockout < $now) {
+ unset($lockouts[$ip]);
+ }
+ }
+ update_option('limit_login_lockouts', $lockouts);
+ }
+
+ /* remove retries that are no longer valid */
+ $valid = !is_null($valid) ? $valid : get_option('limit_login_retries_valid');
+ $retries = !is_null($retries) ? $retries : get_option('limit_login_retries');
+ if (!is_array($valid) || !is_array($retries)) {
+ return;
+ }
+
+ foreach ($valid as $ip => $lockout) {
+ if ($lockout < $now) {
+ unset($valid[$ip]);
+ unset($retries[$ip]);
+ }
+ }
+
+ /* go through retries directly, if for some reason they've gone out of sync */
+ foreach ($retries as $ip => $retry) {
+ if (!isset($valid[$ip])) {
+ unset($retries[$ip]);
+ }
+ }
+
+ update_option('limit_login_retries', $retries);
+ update_option('limit_login_retries_valid', $valid);
+}
+
+
+/* Is this WP Multisite? */
+function is_limit_login_multisite() {
+ return function_exists('get_site_option') && function_exists('is_multisite') && is_multisite();
+}
+
+
+/* Email notification of lockout to admin (if configured) */
+function limit_login_notify_email($user) {
+ $ip = limit_login_get_address();
+
+ $retries = get_option('limit_login_retries');
+ if (!is_array($retries)) {
+ $retries = array();
+ }
+
+ /* check if we are at the right nr to do notification */
+ if ( isset($retries[$ip])
+ && ( ($retries[$ip] / limit_login_option('allowed_retries'))
+ % limit_login_option('notify_email_after') ) != 0 ) {
+ return;
+ }
+
+ /* Format message. First current lockout duration */
+ if (!isset($retries[$ip])) {
+ /* longer lockout */
+ $count = limit_login_option('allowed_retries')
+ * limit_login_option('allowed_lockouts');
+ $lockouts = limit_login_option('allowed_lockouts');
+ $time = round(limit_login_option('long_duration') / 3600);
+ $when = sprintf(__ngettext('%d hour', '%d hours', $time, 'limit-login-attempts'), $time);
+ } else {
+ /* normal lockout */
+ $count = $retries[$ip];
+ $lockouts = floor($count / limit_login_option('allowed_retries'));
+ $time = round(limit_login_option('lockout_duration') / 60);
+ $when = sprintf(__ngettext('%d minute', '%d minutes', $time, 'limit-login-attempts'), $time);
+ }
+
+ $blogname = is_limit_login_multisite() ? get_site_option('site_name') : get_option('blogname');
+
+ $subject = sprintf(__("[%s] Too many failed login attempts", 'limit-login-attempts')
+ , $blogname);
+ $message = sprintf(__("%d failed login attempts (%d lockout(s)) from IP: %s"
+ , 'limit-login-attempts') . "\r\n\r\n"
+ , $count, $lockouts, $ip);
+ if ($user != '') {
+ $message .= sprintf(__("Last user attempted: %s", 'limit-login-attempts')
+ . "\r\n\r\n" , $user);
+ }
+ $message .= sprintf(__("IP was blocked for %s", 'limit-login-attempts'), $when);
+
+ $admin_email = is_limit_login_multisite() ? get_site_option('admin_email') : get_option('admin_email');
+
+ @wp_mail($admin_email, $subject, $message);
+}
+
+
+/* Logging of lockout (if configured) */
+function limit_login_notify_log($user) {
+ $log = get_option('limit_login_logged');
+ $ip = limit_login_get_address();
+ if (!is_array($log)) {
+ $log = array($ip => array($user => 1));
+ add_option('limit_login_logged', $log, '', 'no'); /* no autoload */
+ } else {
+ /* can be written much simpler, if you do not mind php warnings */
+ if (isset($log[$ip])) {
+ if (isset($log[$ip][$user])) {
+ $log[$ip][$user]++;
+ } else {
+ $log[$ip][$user] = 1;
+ }
+ } else {
+ $log[$ip] = array($user => 1);
+ }
+ update_option('limit_login_logged', $log);
+ }
+}
+
+
+/* Handle notification in event of lockout */
+function limit_login_notify($user) {
+ $args = explode(',', limit_login_option('lockout_notify'));
+
+ if (empty($args)) {
+ return;
+ }
+
+ foreach ($args as $mode) {
+ switch (trim($mode)) {
+ case 'email':
+ limit_login_notify_email($user);
+ break;
+ case 'log':
+ limit_login_notify_log($user);
+ break;
+ }
+ }
+}
+
+
+/* Construct informative error message */
+function limit_login_error_msg() {
+ $ip = limit_login_get_address();
+ $lockouts = get_option('limit_login_lockouts');
+
+ $msg = __('<strong>ERROR</strong>: Too many failed login attempts.', 'limit-login-attempts') . ' ';
+
+ if (!is_array($lockouts) || !isset($lockouts[$ip]) || time() >= $lockouts[$ip]) {
+ /* Huh? No timeout active? */
+ $msg .= __('Please try again later.', 'limit-login-attempts');
+ return $msg;
+ }
+
+ $when = ceil(($lockouts[$ip] - time()) / 60);
+ if ($when > 60) {
+ $when = ceil($when / 60);
+ $msg .= sprintf(__ngettext('Please try again in %d hour.', 'Please try again in %d hours.', $when, 'limit-login-attempts'), $when);
+ } else {
+ $msg .= sprintf(__ngettext('Please try again in %d minute.', 'Please try again in %d minutes.', $when, 'limit-login-attempts'), $when);
+ }
+
+ return $msg;
+}
+
+
+/* Construct retries remaining message */
+function limit_login_retries_remaining_msg() {
+ $ip = limit_login_get_address();
+ $retries = get_option('limit_login_retries');
+ $valid = get_option('limit_login_retries_valid');
+
+ /* Should we show retries remaining? */
+
+ if (!is_array($retries) || !is_array($valid)) {
+ /* no retries at all */
+ return '';
+ }
+ if (!isset($retries[$ip]) || !isset($valid[$ip]) || time() > $valid[$ip]) {
+ /* no: no valid retries */
+ return '';
+ }
+ if (($retries[$ip] % limit_login_option('allowed_retries')) == 0 ) {
+ /* no: already been locked out for these retries */
+ return '';
+ }
+
+ $remaining = max((limit_login_option('allowed_retries') - ($retries[$ip] % limit_login_option('allowed_retries'))), 0);
+ return sprintf(__ngettext("<strong>%d</strong> attempt remaining.", "<strong>%d</strong> attempts remaining.", $remaining, 'limit-login-attempts'), $remaining);
+}
+
+
+/* Return current (error) message to show, if any */
+function limit_login_get_message() {
+ if (!is_limit_login_ok()) {
+ return limit_login_error_msg();
+ }
+
+ return limit_login_retries_remaining_msg();
+}
+
+
+/* Should we show errors and messages on this page? */
+function should_limit_login_show_msg() {
+ if (isset($_GET['key'])) {
+ /* reset password */
+ return false;
+ }
+
+ $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
+
+ return ( $action != 'lostpassword' && $action != 'retrievepassword'
+ && $action != 'resetpass' && $action != 'rp'
+ && $action != 'register' );
+}
+
+
+/* Fix up the error message before showing it */
+function limit_login_fixup_error_messages($content) {
+ global $limit_login_just_lockedout, $limit_login_nonempty_credentials, $limit_login_my_error_shown;
+
+ if (!should_limit_login_show_msg()) {
+ return $content;
+ }
+
+ /*
+ * During lockout we do not want to show any other error messages (like
+ * unknown user or empty password).
+ */
+ if (!is_limit_login_ok() && !$limit_login_just_lockedout) {
+ return limit_login_error_msg();
+ }
+
+ /*
+ * We want to filter the messages 'Invalid username' and
+ * 'Invalid password' as that is an information leak regarding user
+ * account names (prior to WP 2.9?).
+ *
+ * Also, if more than one error message, put an extra <br /> tag between
+ * them.
+ */
+ $msgs = explode("<br />\n", $content);
+
+ if (strlen(end($msgs)) == 0) {
+ /* remove last entry empty string */
+ array_pop($msgs);
+ }
+
+ $count = count($msgs);
+ $my_warn_count = $limit_login_my_error_shown ? 1 : 0;
+
+ if ($limit_login_nonempty_credentials && $count > $my_warn_count) {
+ /* Replace error message, including ours if necessary */
+ $content = __('<strong>ERROR</strong>: Incorrect username or password.', 'limit-login-attempts') . "<br />\n";
+ if ($limit_login_my_error_shown) {
+ $content .= "<br />\n" . limit_login_get_message() . "<br />\n";
+ }
+ return $content;
+ } elseif ($count <= 1) {
+ return $content;
+ }
+
+ $new = '';
+ while ($count-- > 0) {
+ $new .= array_shift($msgs) . "<br />\n";
+ if ($count > 0) {
+ $new .= "<br />\n";
+ }
+ }
+
+ return $new;
+}
+
+
+/* Add a message to login page when necessary */
+function limit_login_add_error_message() {
+ global $error, $limit_login_my_error_shown;
+
+ if (!should_limit_login_show_msg() || $limit_login_my_error_shown) {
+ return;
+ }
+
+ $msg = limit_login_get_message();
+
+ if ($msg != '') {
+ $limit_login_my_error_shown = true;
+ $error .= $msg;
+ }
+
+ return;
+}
+
+
+/* Keep track of if user or password are empty, to filter errors correctly */
+function limit_login_track_credentials($user, $password) {
+ global $limit_login_nonempty_credentials;
+
+ $limit_login_nonempty_credentials = (!empty($user) && !empty($password));
+}
+
+
+/*
+ * Admin stuff
+ */
+
+/* Does wordpress version support cookie option? */
+function limit_login_support_cookie_option() {
+ global $wp_version;
+ return (version_compare($wp_version, '2.7', '>='));
+}
+
+
+/* Make a guess if we are behind a proxy or not */
+function limit_login_guess_proxy() {
+ return isset($_SERVER[LIMIT_LOGIN_PROXY_ADDR])
+ ? LIMIT_LOGIN_PROXY_ADDR : LIMIT_LOGIN_DIRECT_ADDR;
+}
+
+
+/* Only change var if option exists */
+function limit_login_get_option($option, $var_name) {
+ $a = get_option($option);
+
+ if ($a !== false) {
+ global $limit_login_options;
+
+ $limit_login_options[$var_name] = $a;
+ }
+}
+
+
+/* Setup global variables from options */
+function limit_login_setup_options() {
+ limit_login_get_option('limit_login_client_type', 'client_type');
+ limit_login_get_option('limit_login_allowed_retries', 'allowed_retries');
+ limit_login_get_option('limit_login_lockout_duration', 'lockout_duration');
+ limit_login_get_option('limit_login_valid_duration', 'valid_duration');
+ limit_login_get_option('limit_login_cookies', 'cookies');
+ limit_login_get_option('limit_login_lockout_notify', 'lockout_notify');
+ limit_login_get_option('limit_login_allowed_lockouts', 'allowed_lockouts');
+ limit_login_get_option('limit_login_long_duration', 'long_duration');
+ limit_login_get_option('limit_login_notify_email_after', 'notify_email_after');
+
+ limit_login_sanitize_variables();
+}
+
+
+/* Update options in db from global variables */
+function limit_login_update_options() {
+ update_option('limit_login_client_type', limit_login_option('client_type'));
+ update_option('limit_login_allowed_retries', limit_login_option('allowed_retries'));
+ update_option('limit_login_lockout_duration', limit_login_option('lockout_duration'));
+ update_option('limit_login_allowed_lockouts', limit_login_option('allowed_lockouts'));
+ update_option('limit_login_long_duration', limit_login_option('long_duration'));
+ update_option('limit_login_valid_duration', limit_login_option('valid_duration'));
+ update_option('limit_login_lockout_notify', limit_login_option('lockout_notify'));
+ update_option('limit_login_notify_email_after', limit_login_option('notify_email_after'));
+ update_option('limit_login_cookies', limit_login_option('cookies') ? '1' : '0');
+}
+
+
+/* Make sure the variables make sense -- simple integer */
+function limit_login_sanitize_simple_int($var_name) {
+ global $limit_login_options;
+
+ $limit_login_options[$var_name] = max(1, intval(limit_login_option($var_name)));
+}
+
+
+/* Make sure the variables make sense */
+function limit_login_sanitize_variables() {
+ global $limit_login_options;
+
+ limit_login_sanitize_simple_int('allowed_retries');
+ limit_login_sanitize_simple_int('lockout_duration');
+ limit_login_sanitize_simple_int('valid_duration');
+ limit_login_sanitize_simple_int('allowed_lockouts');
+ limit_login_sanitize_simple_int('long_duration');
+
+ $notify_email_after = max(1, intval(limit_login_option('notify_email_after')));
+ $limit_login_options['notify_email_after'] = min(limit_login_option('allowed_lockouts'), $notify_email_after);
+
+ $args = explode(',', limit_login_option('lockout_notify'));
+ $args_allowed = explode(',', LIMIT_LOGIN_LOCKOUT_NOTIFY_ALLOWED);
+ $new_args = array();
+ foreach ($args as $a) {
+ if (in_array($a, $args_allowed)) {
+ $new_args[] = $a;
+ }
+ }
+ $limit_login_options['lockout_notify'] = implode(',', $new_args);
+
+ $cookies = limit_login_option('cookies')
+ && limit_login_support_cookie_option() ? true : false;
+
+ $limit_login_options['cookies'] = $cookies;
+
+ if ( limit_login_option('client_type') != LIMIT_LOGIN_DIRECT_ADDR
+ && limit_login_option('client_type') != LIMIT_LOGIN_PROXY_ADDR ) {
+ $limit_login_options['client_type'] = LIMIT_LOGIN_DIRECT_ADDR;
+ }
+}
+
+
+/* Add admin options page */
+function limit_login_admin_menu() {
+ global $wp_version;
+
+ // Modern WP?
+ if (version_compare($wp_version, '3.0', '>=')) {
+ add_options_page('Limit Login Attempts', 'Limit Login Attempts', 'manage_options', 'limit-login-attempts', 'limit_login_option_page');
+ return;
+ }
+
+ // Older WPMU?
+ if (function_exists("get_current_site")) {
+ add_submenu_page('wpmu-admin.php', 'Limit Login Attempts', 'Limit Login Attempts', 9, 'limit-login-attempts', 'limit_login_option_page');
+ return;
+ }
+
+ // Older WP
+ add_options_page('Limit Login Attempts', 'Limit Login Attempts', 9, 'limit-login-attempts', 'limit_login_option_page');
+}
+
+
+/* Show log on admin page */
+function limit_login_show_log($log) {
+ if (!is_array($log) || count($log) == 0) {
+ return;
+ }
+
+ echo('<tr><th scope="col">' . _c("IP|Internet address", 'limit-login-attempts') . '</th><th scope="col">' . __('Tried to log in as', 'limit-login-attempts') . '</th></tr>');
+ foreach ($log as $ip => $arr) {
+ echo('<tr><td class="limit-login-ip">' . $ip . '</td><td class="limit-login-max">');
+ $first = true;
+ foreach($arr as $user => $count) {
+ $count_desc = sprintf(__ngettext('%d lockout', '%d lockouts', $count, 'limit-login-attempts'), $count);
+ if (!$first) {
+ echo(', ' . $user . ' (' . $count_desc . ')');
+ } else {
+ echo($user . ' (' . $count_desc . ')');
+ }
+ $first = false;
+ }
+ echo('</td></tr>');
+ }
+}
+
+/* Actual admin page */
+function limit_login_option_page() {
+ limit_login_cleanup();
+
+ if (!current_user_can('manage_options')) {
+ wp_die('Sorry, but you do not have permissions to change settings.');
+ }
+
+ /* Make sure post was from this page */
+ if (count($_POST) > 0) {
+ check_admin_referer('limit-login-attempts-options');
+ }
+
+ /* Should we clear log? */
+ if (isset($_POST['clear_log'])) {
+ update_option('limit_login_logged', '');
+ echo '<div id="message" class="updated fade"><p>'
+ . __('Cleared IP log', 'limit-login-attempts')
+ . '</p></div>';
+ }
+
+ /* Should we reset counter? */
+ if (isset($_POST['reset_total'])) {
+ update_option('limit_login_lockouts_total', 0);
+ echo '<div id="message" class="updated fade"><p>'
+ . __('Reset lockout count', 'limit-login-attempts')
+ . '</p></div>';
+ }
+
+ /* Should we restore current lockouts? */
+ if (isset($_POST['reset_current'])) {
+ update_option('limit_login_lockouts', array());
+ echo '<div id="message" class="updated fade"><p>'
+ . __('Cleared current lockouts', 'limit-login-attempts')
+ . '</p></div>';
+ }
+
+ /* Should we update options? */
+ if (isset($_POST['update_options'])) {
+ global $limit_login_options;
+
+ $limit_login_options['client_type'] = $_POST['client_type'];
+ $limit_login_options['allowed_retries'] = $_POST['allowed_retries'];
+ $limit_login_options['lockout_duration'] = $_POST['lockout_duration'] * 60;
+ $limit_login_options['valid_duration'] = $_POST['valid_duration'] * 3600;
+ $limit_login_options['allowed_lockouts'] = $_POST['allowed_lockouts'];
+ $limit_login_options['long_duration'] = $_POST['long_duration'] * 3600;
+ $limit_login_options['notify_email_after'] = $_POST['email_after'];
+ $limit_login_options['cookies'] = (isset($_POST['cookies']) && $_POST['cookies'] == '1');
+
+ $v = array();
+ if (isset($_POST['lockout_notify_log'])) {
+ $v[] = 'log';
+ }
+ if (isset($_POST['lockout_notify_email'])) {
+ $v[] = 'email';
+ }
+ $limit_login_options['lockout_notify'] = implode(',', $v);
+
+ limit_login_sanitize_variables();
+ limit_login_update_options();
+ echo '<div id="message" class="updated fade"><p>'
+ . __('Options changed', 'limit-login-attempts')
+ . '</p></div>';
+ }
+
+ $lockouts_total = get_option('limit_login_lockouts_total', 0);
+ $lockouts = get_option('limit_login_lockouts');
+ $lockouts_now = is_array($lockouts) ? count($lockouts) : 0;
+
+ if (!limit_login_support_cookie_option()) {
+ $cookies_disabled = ' DISABLED ';
+ $cookies_note = ' <br /> '
+ . __('<strong>NOTE:</strong> Only works in Wordpress 2.7 or later'
+ , 'limit-login-attempts');
+ } else {
+ $cookies_disabled = '';
+ $cookies_note = '';
+ }
+ $cookies_yes = limit_login_option('cookies') ? ' checked ' : '';
+ $cookies_no = limit_login_option('cookies') ? '' : ' checked ';
+
+ $client_type = limit_login_option('client_type');
+ $client_type_direct = $client_type == LIMIT_LOGIN_DIRECT_ADDR ? ' checked ' : '';
+ $client_type_proxy = $client_type == LIMIT_LOGIN_PROXY_ADDR ? ' checked ' : '';
+
+ $client_type_guess = limit_login_guess_proxy();
+
+ if ($client_type_guess == LIMIT_LOGIN_DIRECT_ADDR) {
+ $client_type_message = sprintf(__('It appears the site is reached directly (from your IP: %s)','limit-login-attempts'), limit_login_get_address(LIMIT_LOGIN_DIRECT_ADDR));
+ } else {
+ $client_type_message = sprintf(__('It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)','limit-login-attempts'), limit_login_get_address(LIMIT_LOGIN_DIRECT_ADDR), limit_login_get_address(LIMIT_LOGIN_PROXY_ADDR));
+ }
+ $client_type_message .= '<br />';
+
+ $client_type_warning = '';
+ if ($client_type != $client_type_guess) {
+ $faq = 'http://wordpress.org/extend/plugins/limit-login-attempts/faq/';
+
+ $client_type_warning = '<br /><br />' . sprintf(__('<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href="%s" title="FAQ">here</a>','limit-login-attempts'), $faq);
+ }
+
+ $v = explode(',', limit_login_option('lockout_notify'));
+ $log_checked = in_array('log', $v) ? ' checked ' : '';
+ $email_checked = in_array('email', $v) ? ' checked ' : '';
+ ?>
+ <div class="wrap">
+ <h2><?php echo __('Limit Login Attempts Settings','limit-login-attempts'); ?></h2>
+ <h3><?php echo __('Statistics','limit-login-attempts'); ?></h3>
+ <form action="options-general.php?page=limit-login-attempts" method="post">
+ <?php wp_nonce_field('limit-login-attempts-options'); ?>
+ <table class="form-table">
+ <tr>
+ <th scope="row" valign="top"><?php echo __('Total lockouts','limit-login-attempts'); ?></th>
+ <td>
+ <?php if ($lockouts_total > 0) { ?>
+ <input name="reset_total" value="<?php echo __('Reset Counter','limit-login-attempts'); ?>" type="submit" />
+ <?php echo sprintf(__ngettext('%d lockout since last reset', '%d lockouts since last reset', $lockouts_total, 'limit-login-attempts'), $lockouts_total); ?>
+ <?php } else { echo __('No lockouts yet','limit-login-attempts'); } ?>
+ </td>
+ </tr>
+ <?php if ($lockouts_now > 0) { ?>
+ <tr>
+ <th scope="row" valign="top"><?php echo __('Active lockouts','limit-login-attempts'); ?></th>
+ <td>
+ <input name="reset_current" value="<?php echo __('Restore Lockouts','limit-login-attempts'); ?>" type="submit" />
+ <?php echo sprintf(__('%d IP is currently blocked from trying to log in','limit-login-attempts'), $lockouts_now); ?>
+ </td>
+ </tr>
+ <?php } ?>
+ </table>
+ </form>
+ <h3><?php echo __('Options','limit-login-attempts'); ?></h3>
+ <form action="options-general.php?page=limit-login-attempts" method="post">
+ <?php wp_nonce_field('limit-login-attempts-options'); ?>
+ <table class="form-table">
+ <tr>
+ <th scope="row" valign="top"><?php echo __('Lockout','limit-login-attempts'); ?></th>
+ <td>
+ <input type="text" size="3" maxlength="4" value="<?php echo(limit_login_option('allowed_retries')); ?>" name="allowed_retries" /> <?php echo __('allowed retries','limit-login-attempts'); ?> <br />
+ <input type="text" size="3" maxlength="4" value="<?php echo(limit_login_option('lockout_duration')/60); ?>" name="lockout_duration" /> <?php echo __('minutes lockout','limit-login-attempts'); ?> <br />
+ <input type="text" size="3" maxlength="4" value="<?php echo(limit_login_option('allowed_lockouts')); ?>" name="allowed_lockouts" /> <?php echo __('lockouts increase lockout time to','limit-login-attempts'); ?> <input type="text" size="3" maxlength="4" value="<?php echo(limit_login_option('long_duration')/3600); ?>" name="long_duration" /> <?php echo __('hours','limit-login-attempts'); ?> <br />
+ <input type="text" size="3" maxlength="4" value="<?php echo(limit_login_option('valid_duration')/3600); ?>" name="valid_duration" /> <?php echo __('hours until retries are reset','limit-login-attempts'); ?>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php echo __('Site connection','limit-login-attempts'); ?></th>
+ <td>
+ <?php echo $client_type_message; ?>
+ <label>
+ <input type="radio" name="client_type"
+ <?php echo $client_type_direct; ?> value="<?php echo LIMIT_LOGIN_DIRECT_ADDR; ?>" />
+ <?php echo __('Direct connection','limit-login-attempts'); ?>
+ </label>
+ <label>
+ <input type="radio" name="client_type"
+ <?php echo $client_type_proxy; ?> value="<?php echo LIMIT_LOGIN_PROXY_ADDR; ?>" />
+ <?php echo __('From behind a reversy proxy','limit-login-attempts'); ?>
+ </label>
+ <?php echo $client_type_warning; ?>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php echo __('Handle cookie login','limit-login-attempts'); ?></th>
+ <td>
+ <label><input type="radio" name="cookies" <?php echo $cookies_disabled . $cookies_yes; ?> value="1" /> <?php echo __('Yes','limit-login-attempts'); ?></label> <label><input type="radio" name="cookies" <?php echo $cookies_disabled . $cookies_no; ?> value="0" /> <?php echo __('No','limit-login-attempts'); ?></label>
+ <?php echo $cookies_note ?>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php echo __('Notify on lockout','limit-login-attempts'); ?></th>
+ <td>
+ <input type="checkbox" name="lockout_notify_log" <?php echo $log_checked; ?> value="log" /> <?php echo __('Log IP','limit-login-attempts'); ?><br />
+ <input type="checkbox" name="lockout_notify_email" <?php echo $email_checked; ?> value="email" /> <?php echo __('Email to admin after','limit-login-attempts'); ?> <input type="text" size="3" maxlength="4" value="<?php echo(limit_login_option('notify_email_after')); ?>" name="email_after" /> <?php echo __('lockouts','limit-login-attempts'); ?>
+ </td>
+ </tr>
+ </table>
+ <p class="submit">
+ <input name="update_options" value="<?php echo __('Change Options','limit-login-attempts'); ?>" type="submit" />
+ </p>
+ </form>
+ <?php
+ $log = get_option('limit_login_logged');
+
+ if (is_array($log) && count($log) > 0) {
+ ?>
+ <h3><?php echo __('Lockout log','limit-login-attempts'); ?></h3>
+ <form action="options-general.php?page=limit-login-attempts" method="post">
+ <?php wp_nonce_field('limit-login-attempts-options'); ?>
+ <input type="hidden" value="true" name="clear_log" />
+ <p class="submit">
+ <input name="submit" value="<?php echo __('Clear Log','limit-login-attempts'); ?>" type="submit" />
+ </p>
+ </form>
+ <style type="text/css" media="screen">
+ .limit-login-log th {
+ font-weight: bold;
+ }
+ .limit-login-log td, .limit-login-log th {
+ padding: 1px 5px 1px 5px;
+ }
+ td.limit-login-ip {
+ font-family: "Courier New", Courier, monospace;
+ vertical-align: top;
+ }
+ td.limit-login-max {
+ width: 100%;
+ }
+ </style>
+ <div class="limit-login-log">
+ <table class="form-table">
+ <?php limit_login_show_log($log); ?>
+ </table>
+ </div>
+ <?php
+ } /* if showing $log */
+ ?>
+
+ </div>
+ <?php
+}
+?> \ No newline at end of file
diff --git a/plugins/limit-login-attempts/limit-login-attempts.pot b/plugins/limit-login-attempts/limit-login-attempts.pot
new file mode 100755
index 00000000..39fed346
--- /dev/null
+++ b/plugins/limit-login-attempts/limit-login-attempts.pot
@@ -0,0 +1,282 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Johan Eenfeldt
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
+"POT-Creation-Date: 2009-01-28 17:17+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: limit-login-attempts.php:372
+#, php-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: limit-login-attempts.php:378
+#, php-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: limit-login-attempts.php:381
+#, php-format
+msgid "[%s] Too many failed login attempts"
+msgstr ""
+
+#: limit-login-attempts.php:383
+#, php-format
+msgid ""
+"%d failed login attempts (%d lockout(s)) from IP: %s"
+msgstr ""
+
+#: limit-login-attempts.php:387
+#, php-format
+msgid ""
+"Last user attempted: %s"
+msgstr ""
+
+#: limit-login-attempts.php:390
+#, php-format
+msgid "IP was blocked for %s"
+msgstr ""
+
+#: limit-login-attempts.php:445
+msgid "<strong>ERROR</strong>: Too many failed login attempts."
+msgstr ""
+
+#: limit-login-attempts.php:449
+msgid "Please try again later."
+msgstr ""
+
+#: limit-login-attempts.php:456
+#, php-format
+msgid "Please try again in %d hour."
+msgid_plural "Please try again in %d hours."
+msgstr[0] ""
+msgstr[1] ""
+
+#: limit-login-attempts.php:458
+#, php-format
+msgid "Please try again in %d minute."
+msgid_plural "Please try again in %d minutes."
+msgstr[0] ""
+msgstr[1] ""
+
+#: limit-login-attempts.php:487
+#, php-format
+msgid "<strong>%d</strong> attempt remaining."
+msgid_plural "<strong>%d</strong> attempts remaining."
+msgstr[0] ""
+msgstr[1] ""
+
+#: limit-login-attempts.php:551
+msgid "<strong>ERROR</strong>: Incorrect username or password."
+msgstr ""
+
+#: limit-login-attempts.php:714
+msgid "IP|Internet address"
+msgstr ""
+
+#: limit-login-attempts.php:714
+msgid "Tried to log in as"
+msgstr ""
+
+#: limit-login-attempts.php:719
+#, php-format
+msgid "%d lockout"
+msgid_plural "%d lockouts"
+msgstr[0] ""
+msgstr[1] ""
+
+#: limit-login-attempts.php:743
+msgid "Cleared IP log"
+msgstr ""
+
+#: limit-login-attempts.php:751
+msgid "Reset lockout count"
+msgstr ""
+
+#: limit-login-attempts.php:759
+msgid "Cleared current lockouts"
+msgstr ""
+
+#: limit-login-attempts.php:788
+msgid "Options changed"
+msgstr ""
+
+#: limit-login-attempts.php:799
+msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
+msgstr ""
+
+#: limit-login-attempts.php:815
+#, php-format
+msgid "It appears the site is reached directly (from your IP: %s)"
+msgstr ""
+
+#: limit-login-attempts.php:817
+#, php-format
+msgid ""
+"It appears the site is reached through a proxy server (proxy IP: %s, your "
+"IP: %s)"
+msgstr ""
+
+#: limit-login-attempts.php:825
+#, php-format
+msgid ""
+"<strong>Current setting appears to be invalid</strong>. Please make sure it "
+"is correct. Further information can be found <a href=\"%s\" title=\"FAQ"
+"\">here</a>"
+msgstr ""
+
+#: limit-login-attempts.php:833
+msgid "Limit Login Attempts Settings"
+msgstr ""
+
+#: limit-login-attempts.php:834
+msgid "Statistics"
+msgstr ""
+
+#: limit-login-attempts.php:838
+msgid "Total lockouts"
+msgstr ""
+
+#: limit-login-attempts.php:841
+msgid "Reset Counter"
+msgstr ""
+
+#: limit-login-attempts.php:842
+#, php-format
+msgid "%d lockout since last reset"
+msgid_plural "%d lockouts since last reset"
+msgstr[0] ""
+msgstr[1] ""
+
+#: limit-login-attempts.php:843
+msgid "No lockouts yet"
+msgstr ""
+
+#: limit-login-attempts.php:848
+msgid "Active lockouts"
+msgstr ""
+
+#: limit-login-attempts.php:850
+msgid "Restore Lockouts"
+msgstr ""
+
+#: limit-login-attempts.php:851
+#, php-format
+msgid "%d IP is currently blocked from trying to log in"
+msgstr ""
+
+#: limit-login-attempts.php:857
+msgid "Options"
+msgstr ""
+
+#: limit-login-attempts.php:861
+msgid "Lockout"
+msgstr ""
+
+#: limit-login-attempts.php:863
+msgid "allowed retries"
+msgstr ""
+
+#: limit-login-attempts.php:864
+msgid "minutes lockout"
+msgstr ""
+
+#: limit-login-attempts.php:865
+msgid "lockouts increase lockout time to"
+msgstr ""
+
+#: limit-login-attempts.php:865
+msgid "hours"
+msgstr ""
+
+#: limit-login-attempts.php:866
+msgid "hours until retries are reset"
+msgstr ""
+
+#: limit-login-attempts.php:870
+msgid "Site connection"
+msgstr ""
+
+#: limit-login-attempts.php:876
+msgid "Direct connection"
+msgstr ""
+
+#: limit-login-attempts.php:881
+msgid "From behind a reversy proxy"
+msgstr ""
+
+#: limit-login-attempts.php:887
+msgid "Handle cookie login"
+msgstr ""
+
+#: limit-login-attempts.php:889
+msgid "Yes"
+msgstr ""
+
+#: limit-login-attempts.php:889
+msgid "No"
+msgstr ""
+
+#: limit-login-attempts.php:894
+msgid "Notify on lockout"
+msgstr ""
+
+#: limit-login-attempts.php:896
+msgid "Log IP"
+msgstr ""
+
+#: limit-login-attempts.php:897
+msgid "Email to admin after"
+msgstr ""
+
+#: limit-login-attempts.php:897
+msgid "lockouts"
+msgstr ""
+
+#: limit-login-attempts.php:902
+msgid "Change Options"
+msgstr ""
+
+#: limit-login-attempts.php:910
+msgid "Lockout log"
+msgstr ""
+
+#: limit-login-attempts.php:914
+msgid "Clear Log"
+msgstr ""
+
+#. Plugin Name of an extension
+msgid "Limit Login Attempts"
+msgstr ""
+
+#. Plugin URI of an extension
+msgid "http://devel.kostdoktorn.se/limit-login-attempts"
+msgstr ""
+
+#. Description of an extension
+msgid "Limit rate of login attempts, including by way of cookies, for each IP."
+msgstr ""
+
+#. Author of an extension
+msgid "Johan Eenfeldt"
+msgstr ""
+
+#. Author URI of an extension
+msgid "http://devel.kostdoktorn.se"
+msgstr ""
diff --git a/plugins/limit-login-attempts/readme.txt b/plugins/limit-login-attempts/readme.txt
new file mode 100755
index 00000000..101b1313
--- /dev/null
+++ b/plugins/limit-login-attempts/readme.txt
@@ -0,0 +1,120 @@
+=== Limit Login Attempts ===
+Contributors: johanee
+Tags: login, security, authentication
+Requires at least: 2.5
+Tested up to: 3.0.1
+Stable tag: 1.5.2
+
+Limit rate of login attempts, including by way of cookies, for each IP.
+
+== Description ==
+
+Limit the number of login attempts possible both through normal login as well as (WordPress 2.7+) using auth cookies.
+
+By default WordPress allows unlimited login attempts either through the login page or by sending special cookies. This allows passwords (or hashes) to be brute-force cracked with relative ease.
+
+Limit Login Attempts blocks an Internet address from making further attempts after a specified limit on retries is reached, making a brute-force attack difficult or impossible.
+
+Features
+
+* Limit the number of retry attempts when logging in (for each IP). Fully customizable
+* (WordPress 2.7+) Limit the number of attempts to log in using auth cookies in same way
+* Informs user about remaining retries or lockout time on login page
+* Optional logging, optional email notification
+* Handles server behind reverse proxy
+
+Translations: Bulgarian, Brazilian Portuguese, Catalan, Chinese (Traditional), Czech, Dutch, French, Finnish, German, Hungarian, Norwegian, Persian, Romanian, Russian, Spanish, Swedish, Turkish
+
+Plugin uses standard actions and filters only.
+
+== Installation ==
+
+1. Download and extract plugin files to a folder in your wp-content/plugin directory.
+2. Activate the plugin through the WordPress admin interface.
+3. Customize the settings from the options page, if desired. If your server is located behind a reverse proxy make sure to change this setting.
+
+If you have any questions or problems please make a post here: http://wordpress.org/tags/limit-login-attempts
+
+== Frequently Asked Questions ==
+
+= What is this option about site connection and reverse proxy? =
+
+A reverse proxy is a server in between the site and the Internet (perhaps handling caching or load-balancing). This makes getting the correct client IP to block slightly more complicated.
+
+The option default to NOT being behind a proxy -- which should be by far the common case.
+
+= How do I know if my site is behind a reverse proxy? =
+
+You probably are not or you would know. We show a pretty good guess on the option page. Set the option using this unless you are sure you know better.
+
+= I locked myself out testing this thing, what do I do? =
+
+Either wait, or:
+
+If you have ftp / ssh access to the site rename the file "wp-content/plugins/limit-login-attempts/limit-login-attempts.php" to deactivate the plugin.
+
+If you have access to the database (for example through phpMyAdmin) you can clear the limit_login_lockouts option in the wordpress options table. In a default setup this would work: "UPDATE wp_options SET option_value = '' WHERE option_name = 'limit_login_lockouts'"
+
+== Screenshots ==
+
+1. Loginscreen after failed login with retries remaining
+2. Loginscreen during lockout
+3. Administration interface in WordPress 2.7
+4. Administration interface in WordPress 2.5
+
+== Changelog ==
+
+= 1.5.2 =
+* Reverted minor cookie-handling cleanup which might somehow be responsible for recently reported cookie related lockouts
+* Added version 1.x Brazilian Portuguese translation, thanks to Luciano Passuello
+* Added Finnish translation, thanks to Ari Kontiainen
+
+= 1.5.1 =
+* Further multisite & WPMU support (again thanks to <erik@erikshosting.com>)
+* Better error handling if option variables are damaged
+* Added Traditional Chinese translation, thanks to Denny Huang <bigexplorations@bigexplorations.com.tw>
+
+= 1.5 =
+* Tested against WordPress 3.0
+* Handle 3.0 login page failure "shake"
+* Basic multisite support (parts thanks to <erik@erikshosting.com>)
+* Added Dutch translation, thanks to Bjorn Wijers <burobjorn@burobjorn.nl>
+* Added Hungarian translation, thanks to Blint Vereskuti <balint@vereskuti.info>
+* Added French translation, thanks to oVa <ova13lastar@gmail.com>
+
+= 1.4.1 =
+* Added Turkish translation, thanks to Yazan Canarkadas
+
+= 1.4 =
+* Protect admin page update using wp_nonce
+* Added Czech translation, thanks to Jakub Jedelsky
+
+= 1.3.2 =
+* Added Bulgarian translation, thanks to Hristo Chakarov
+* Added Norwegian translation, thanks to Rune Gulbrandsy
+* Added Spanish translation, thanks to Marcelo Pedra
+* Added Persian translation, thanks to Mostafa Soufi
+* Added Russian translation, thanks to Jack Leonid (http://studio-xl.com)
+
+= 1.3.1 =
+* Added Catalan translation, thanks to Robert Buj
+* Added Romanian translation, thanks to Robert Tudor
+
+= 1.3 =
+* Support for getting the correct IP for clients while server is behind reverse proxy, thanks to Michael Skerwiderski
+* Added German translation, thanks to Michael Skerwiderski
+
+= 1.2 =
+* No longer replaces pluggable function when cookie handling active. Re-implemented using available actions and filters
+* Filter error messages during login to avoid information leak regarding available usernames
+* Do not show retries or lockout messages except for login (registration, lost password pages). No change in actual enforcement
+* Slightly more aggressive in trimming old retries data
+
+= 1.1 =
+* Added translation support
+* Added Swedish translation
+* During lockout, filter out all other login errors
+* Minor cleanups
+
+= 1.0 =
+* Initial version
diff --git a/plugins/limit-login-attempts/screenshot-1.gif b/plugins/limit-login-attempts/screenshot-1.gif
new file mode 100755
index 00000000..fd6592bc
--- /dev/null
+++ b/plugins/limit-login-attempts/screenshot-1.gif
Binary files differ
diff --git a/plugins/limit-login-attempts/screenshot-2.gif b/plugins/limit-login-attempts/screenshot-2.gif
new file mode 100755
index 00000000..91cf9a8e
--- /dev/null
+++ b/plugins/limit-login-attempts/screenshot-2.gif
Binary files differ
diff --git a/plugins/limit-login-attempts/screenshot-3.gif b/plugins/limit-login-attempts/screenshot-3.gif
new file mode 100755
index 00000000..6a8f6c1e
--- /dev/null
+++ b/plugins/limit-login-attempts/screenshot-3.gif
Binary files differ
diff --git a/plugins/limit-login-attempts/screenshot-4.gif b/plugins/limit-login-attempts/screenshot-4.gif
new file mode 100755
index 00000000..da77bf7c
--- /dev/null
+++ b/plugins/limit-login-attempts/screenshot-4.gif
Binary files differ