diff options
author | Noël Köthe <noel@debian.org> | 2016-07-03 21:59:26 +0200 |
---|---|---|
committer | Unit 193 <unit193@ubuntu.com> | 2019-12-05 16:35:25 -0500 |
commit | 9af308140d75c08c5c9b8842484f2d7c745fe4bf (patch) | |
tree | de1aea0ae461c27c75bc9e6442d88e4b0179d6e1 | |
parent | 33671ec25d42d5ffe26707ce45779ae87dcb0ca2 (diff) | |
download | listadmin-9af308140d75c08c5c9b8842484f2d7c745fe4bf.tar.bz2 listadmin-9af308140d75c08c5c9b8842484f2d7c745fe4bf.tar.xz listadmin-9af308140d75c08c5c9b8842484f2d7c745fe4bf.tar.zst |
Import Debian changes 2.40-5debian/2.40-5
listadmin (2.40-5) unstable; urgency=medium
* debian/control updated Standards-Version, no change needed
* debian/compat raised to 9
* debian/rules cleaned up
* debian/source/format set to 3.0 (quilt)
* debian/watch added
-rw-r--r-- | debian/changelog | 10 | ||||
-rw-r--r-- | debian/compat | 2 | ||||
-rw-r--r-- | debian/control | 6 | ||||
-rw-r--r-- | debian/copyright | 2 | ||||
-rw-r--r-- | debian/patches/dont-write-logfile.patch | 6 | ||||
-rw-r--r-- | debian/patches/listadmin-discard.patch | 6 | ||||
-rw-r--r-- | debian/patches/listadmin-translation.patch | 340 | ||||
-rw-r--r-- | debian/patches/listadmin.patch | 46 | ||||
-rw-r--r-- | debian/patches/series | 3 | ||||
-rwxr-xr-x | debian/rules | 33 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/watch | 4 | ||||
-rwxr-xr-x | listadmin.pl | 327 |
13 files changed, 444 insertions, 342 deletions
diff --git a/debian/changelog b/debian/changelog index 6b5522f..d5fff91 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +listadmin (2.40-5) unstable; urgency=medium + + * debian/control updated Standards-Version, no change needed + * debian/compat raised to 9 + * debian/rules cleaned up + * debian/source/format set to 3.0 (quilt) + * debian/watch added + + -- Noël Köthe <noel@debian.org> Sun, 03 Jul 2016 21:59:26 +0200 + listadmin (2.40-4) unstable; urgency=low * updated Standards-Version to 3.8.4 without changes diff --git a/debian/compat b/debian/compat index 7ed6ff8..ec63514 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -5 +9 diff --git a/debian/control b/debian/control index ebfeb62..72556d2 100644 --- a/debian/control +++ b/debian/control @@ -1,9 +1,9 @@ Source: listadmin Section: net Priority: optional -Maintainer: Noèl Köthe <noel@debian.org> -Build-Depends: debhelper (>= 5.0.0), quilt -Standards-Version: 3.8.2 +Maintainer: Noël Köthe <noel@debian.org> +Build-Depends: debhelper (>= 9.0.0) +Standards-Version: 3.9.8 Homepage: http://heim.ifi.uio.no/kjetilho/hacks/#listadmin Package: listadmin diff --git a/debian/copyright b/debian/copyright index 80ccc8a..ce5512c 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,5 +1,5 @@ This package was debianized by -Noèl Köthe <noel@debian.org> on Tue, 12 Oct 2004 20:32:04 +0200. +Noël Köthe <noel@debian.org> on Tue, 12 Oct 2004 20:32:04 +0200. It was downloaded from http://heim.ifi.uio.no/~kjetilho/hacks/ diff --git a/debian/patches/dont-write-logfile.patch b/debian/patches/dont-write-logfile.patch index 677733d..adca435 100644 --- a/debian/patches/dont-write-logfile.patch +++ b/debian/patches/dont-write-logfile.patch @@ -1,3 +1,9 @@ +Author: Joachim Breitner <nomeata@debian.org> +Date: 2010-03-25 22:37:44 +0100 +Bug-Debian: https://bugs.debian.org/461210 + + Do not try to write bogus log file is none is defined + Index: listadmin-2.40/listadmin.pl =================================================================== --- listadmin-2.40.orig/listadmin.pl 2010-03-25 22:32:48.000000000 +0100 diff --git a/debian/patches/listadmin-discard.patch b/debian/patches/listadmin-discard.patch index 86b8ecb..b32738f 100644 --- a/debian/patches/listadmin-discard.patch +++ b/debian/patches/listadmin-discard.patch @@ -1,3 +1,9 @@ +Author: Alexander Wirt <formorer@debian.org> +Date: 2009-05-24 16:50:51 +0200 +Bug-Debian: https://bugs.debian.org/530385 + + add support for discarding subscription requests + diff --git a/listadmin.pl b/listadmin.pl index 42b365c..71c7a08 100755 --- a/listadmin.pl diff --git a/debian/patches/listadmin-translation.patch b/debian/patches/listadmin-translation.patch new file mode 100644 index 0000000..6e71990 --- /dev/null +++ b/debian/patches/listadmin-translation.patch @@ -0,0 +1,340 @@ + added translation + +--- listadmin-2.40.orig/listadmin.pl ++++ listadmin-2.40/listadmin.pl +@@ -829,42 +841,325 @@ + # + # Please send additions if you have them. + ++ # Below strings are found in source of Mailman 2.1.10 and "washed": ++ # * high-bit chars and html ligatures in latin charsets replaced with .* ++ # (\S would be better but for some reason the code chokes on that) ++ # * non-latin charsets included as-is and (if not already) as utf-8 ++ # * trailing punctuation stripped (to allow small changes to locales) + my %translations = ++ # grep -ri -- '<title>' templates/*/admlogin.html + ("authentication" => + { +- "en" => "authentication", +- "de" => "Authentifikation", +- "fr" => "authentification", ++ "ar" => "التحقق من الشخصية لـ .* للقائمة", ++ "ca" => "Authentication", ++ "cs" => "p.*ihl.*en.*", ++ "da" => "Login", ++ # include old string (possibly bogusly grabbed from PO file) ++ "de" => "Anmeldung|Authentifikation", ++ "en" => "Authentication", ++ "es" => "Autentificaci.*n", ++ "et" => "autoriseerimine", ++ "eu" => "Zerrendako .* Identifikatzen", ++ "fi" => "Authentication", ++ "fr" => "Authentification", ++ "gl" => "Autenticaci.*n", ++ "he" => "האימות של", ++ "hr" => "Autentikacija", ++ "hu" => "Azonos.*t.*s", ++ "ia" => "Authentication", ++ "it" => "Autenticazione", ++ # | recode EUC-JP..utf8 ++ "ja" => "ǧ|認証", ++ # | recode EUC-KR..utf8 ++ "ko" => " |관리자 인증", ++ "lt" => "prisijungimas", ++ "nl" => "inloggen", ++ "no" => "Innlogging", ++ "pl" => "%(listname)s", ++ "pt" => "Authentication", ++ "pt_BR" => "Autentica.*o", ++ "ro" => "Autentificare", ++ # | recode koi8-r..utf8 ++ "ru" => "|Аутентификация", ++ "sk" => "prihlásenie", ++ "sl" => "Avtentikacija", ++ "sr" => "Authentication", ++ "sv" => "Inloggning", ++ "tr" => "Giri.*i", ++ "uk" => "Автентифікація", ++ "vi" => "Xác th.*c", ++ "zh_CN" => "Authentication", ++ "zh_TW" => "論壇 壇主驗證", ++ }, ++ # grep -r -A 1 'msgid "Subscription Requests"' messages/* ++ "subscriptions" => ++ { ++ "C" => "Subscription Requests", ++ "ar" => "طلبات التسجيل", ++ "ca" => "Petici.* de Subscripci.*", ++ "cs" => "Po.*adavky na p.*ihl.*en", ++ "da" => "Anmoder om medlemskab", ++ "de" => "Abonnement-Anfragen", ++ "es" => "Peticiones de suscripci.*n", ++ "et" => "Liitumisssoovid", ++ "eu" => "Harpidetza Eskakizunak", ++ "fi" => "Liittymispyynt.*j.*", ++ "fr" => "Requ.*tes d'abonnement", ++ "gl" => "Solicitudes de subscrici.*n", ++ "he" => "בקשות מנוי", ++ "hr" => "Zahtjevi za Pretplatom", ++ "hu" => "Feliratkozási k.*relmek", ++ "ia" => "Requestas de abonamento", ++ "it" => "Richieste di iscrizione", ++ # | recode EUC-JP..utf8 ++ "ja" => "|入会申請", ++ # | recode EUC-KR..utf8 ++ "ko" => " |가입 결과", ++ "lt" => "Uþsisakymo Pra.*ymas", ++ "nl" => "Aanmeldingsverzoeken", ++ "no" => "S.*knader om medlemskap", ++ "pl" => "Pro.*by o zapisanie", ++ "pt" => "Pedidos de inscri.*o", ++ "pt_BR" => "Requisi.*es de Inscri.*o", ++ "ro" => "Cereri de abonare", ++ # | recode koi8-r..utf8 ++ "ru" => " |Запросы на подписку", ++ "sk" => ".*iadosti o prihl.*senie", ++ "sl" => "Zahteve za prijavo", ++ "sr" => "Захтјеви за упис", ++ "sv" => "Ans.*kningar om medlemskap", ++ "tr" => "Listeye .*yelik .*stekleri", ++ "uk" => "Запити на підписку", ++ "vi" => "Y.*u c.*u .*ng k.*", ++ "zh_CN" => "订阅请求", ++ "zh_TW" => "訂閱申請", + }, ++ # grep -r -A 1 'msgid "Successfully \(subscribed\|Unsubscribed\|Removed\):"' messages/* + "subscr_success" => + { +- "en" => "Successfully ((un)?subscribed|Removed)", +- "de" => "Erfolgreich (ein|aus)getragen", ++ # include old (mistyped, or are these case-insensitive?) uppercase ++ "C" => "Successfully (([uU]n)?subscribed|Removed)", ++ "ar" => "تم اشتراكه بنجاح|خطأ في تسجيل الاشتراك|تمت إزالته بنجاح", ++ "ca" => "Subscrit satisfact.*riament|Subscripci.* Cancel.*lada Satisfact.*riament|Eliminat satisfact.*riament", ++ "cs" => ".*sp.*n.* p.*ihl.*eni|.*sp.*n.* odhl.*eni|.*sp.*n.* odstran.*ni", ++ "da" => "Tilmelding er sket|Framelding udf.*rt|Framelding udf.*rt", ++ "de" => "Erfolgreich (eingetragen|beendete Abonnements|entfernt)", ++ "es" => "(Subscritos|Ha anulado su suscripci.*n|Ha sido borrado) satisfactoriamente", ++ "et" => "Lisati aadressid|Tellimus l.*petati|Edukalt eemaldatud", ++ "eu" => "Behar bezala harpidetuta|Behar Bezala Ezabatuta|Arrakastaz ezabatua", ++ "fi" => "Onnistuneesti liitetty|Erotettu onnistuneesti|Poistettu onnistuneesti", ++ "fr" => "Abonnement r.*ussi|R.*siliation r.*ussie|Abonnement r.*sili.* avec succ.*s", ++ "gl" => "Subscribiuse con éxito|Anulou a súa subscrición satisfactoriamente|Eliminouse satisfactoriamente", ++ "he" => "נרשם בהצלחה|מנוי בוטל בהצלחה|הוסר בהצלחה", ++ "hr" => "Uspje.*no (pretpla.*eni|Odjavljeni|Maknut)", ++ "hu" => "Sikeresen (fel.*rva|t.*r.*lve|t.*r.*lve)", ++ "ia" => "(Abonate|Disabonate|Removite) con successo", ++ "it" => "(Iscritti|Cancellati|Rimosso) con successo", ++ # | recode EUC-JP..utf8 ++ "ja" => "(||)³λ|(入|退|退)会手続き完了", ++ # | recode EUC-KR..utf8 ++ "ko" => " (Ե|Ż|ŵ) |성공적으로 (가입된|탈퇴된|제거된) 명단", ++ "lt" => "S.*kmingai (u.*sisak.*|atsisak.*|pa.*alinti)", ++ "nl" => "Met succes (aangemeld|afgemeld|verwijderd)", ++ "no" => "(P.*melding|Utmelding) utf.*rt", ++ "pl" => "Pomy.*lnie (zapisano|wypisano|usuni.*to)", ++ "pt" => "(Inscrito|Inscri.*o anulada|Removido) co?m sucesso", ++ "pt_BR" => "(Inscrito|Descadastrado|Removido) com [sS]ucesso", ++ "ro" => "Au fost (abona.*i|dezabona.*i) cu succes", ++ # | recode koi8-r..utf8 ++ "ru" => " (| |)|Успешно (подписаны|удалена подписка для|удалены)", ++ "sk" => "Úspe.*ne (prihlásení|odhlásení|zmazaní)", ++ "sl" => "Uspe.*no (prijavljeni|odjavljen|odstranjeni)", ++ "sr" => "Успјешно (уписани|исписани|уклоњени)", ++ "sv" => "(Anm.*lan|Avanmlan) gjord", ++ "tr" => "Ba.*ar.*yla (.*ye yap.*ld.*|.*yelikten .*kar.*ld.*|Silindi)", ++ "uk" => "Успішно (підписано|видалено підписку|видалено)", ++ "vi" => "Đã đăng ký được|Đã bỏ đăng ký được|Đã gỡ bỏ được", ++ "zh_CN" => "成功订阅|成功取消订阅|成功删除", ++ "zh_TW" => "訂閱成功|退訂成功|成功除名", + }, ++ # grep -r -A 1 'msgid "Error \(subscribing\|Unsubscribing\):"' messages/* + "subscr_error" => + { +- "en" => "Error (un)?subscribing", ++ # include old (mistyped, or are these case-insensitive?) uppercase ++ "C" => "Error ([uU]n)?subscribing", ++ "ar" => "خطأ في (الاشتراك|إلغاء الاشتراك)", ++ "ca" => "Error (subscrivint|cancel.*lant la subscripci.*)", ++ "cs" => "Chyba p.*i (p.*ihla.*ov.*n.*|odhla.*ov.*n.*)", ++ "da" => "Fejl under (tilmelding|framelding)", ++ "de" => "Fehler beim (Abonnieren|Beenden des Abonnement)", ++ "es" => "Error dando de (alta|baja) la suscripci.*n", ++ "et" => "Viga aadresside lisamisel|Viga aadressi kustutamisel", ++ "eu" => "Errorea harpidetzan|Zerrenda uztean errorea", ++ "fi" => "Virhe (liitt.*ess.*|eroamisessa)", ++ "fr" => "Erreur lors de (l'abonnement|la r.*siliation)", ++ "gl" => "(Houbo un erro ao dar de alta|Produciuse un erro ao dar de baixa) a subscrición", ++ "he" => "שגיאה (ברישום|בביטול המנוי)", ++ "hr" => "Gre.*ka kod (pretpla.*ivanja|Odjavljivanja)", ++ "hu" => "Hiba a (feliratkoz.*skor|t*rl*sn*l)", ++ "ia" => "Error in (abonar|disabonar)", ++ "it" => "Errore durante (l'iscrizione|la cancellazione)", ++ # | recode EUC-JP..utf8 ++ "ja" => "(|)³Υ顼|(入|退)会手続きのエラー", ++ # | recode EUC-KR..utf8 ++ "ko" => "(|Ż) |(가입|탈퇴) 에러", ++ "lt" => "Nes.*kmingai u.*sisakin.*jo|Klaida atsisakant", ++ "nl" => "Fout bij (het aanmelden|afmelden)", ++ "no" => "Feil under (p.*melding|utmelding)", ++ "pl" => "B.*dy przy (za|wy)pisywaniu", ++ "pt" => "Erro (inscrevendo|ao cancelar a inscri.*o)", ++ "pt_BR" => "Erro ao (inscrever|descadastrar)", ++ "ro" => "Eroare la (abonare|dezabonare)", ++ # | recode koi8-r..utf8 ++ "ru" => " | |Подписаны НЕ были|Ошибка удаления подписки", ++ "sk" => "Chyba pri (prihlasovan.*|odhlasovan.*)", ++ "sl" => "Napaka pri (prijavljanju|odjavi)", ++ "sr" => "Грешка при (у|uc)пису", ++ "sv" => "Fel under (anm.*lan|avanm.*lan)", ++ "tr" => "(.*ye yaparken|.*yelikten .*kar.*l.*rken) hata oldu", ++ "uk" => "Помилка (при спробі|видалення) підписки", ++ "vi" => "Lỗi đăng ký|Lỗi bỏ đăng ký", ++ "zh_CN" => "错误(取)?订阅", ++ "zh_TW" => "訂閱失敗|退訂時出錯", + }, ++ # grep -r -A 1 'msgid "No such list .*"' messages/* + "no_such_list" => + { +- "en" => "Mailman Admindb Error.*No such list:", ++ "C" => "No such list", ++ "ar" => "لا يوجد قائمة بالإسم", ++ "ca" => "La llista .* no existeix", ++ "cs" => "Nenalezl jsem konferenci", ++ "da" => "Listen findes ikke", ++ "de" => "(Keine Liste mit Namen .* vorhanden|Liste nicht vorhanden)", ++ "es" => "(La lista .* no existe|No existe tal lista)", ++ "et" => "(Sellist listi pole|Selle nimega listi pole)", ++ "eu" => "(zerrendarik ez dago|Zerrenda ezezaguna)", ++ "fi" => "(Listaa .* ei ole olemassa|Lista on jo olemassa)", ++ "fr" => "(Liste inexistante|Liste introuvable)", ++ "gl" => "(A rolda .* non existe|Non existe esa rolda)", ++ "he" => "(אין רשימה בשם|אין כזו רשימה)", ++ "hr" => "Takva lista ne postoji <em>%(safelistname)s</em>", ++ "hu" => "Nincs .* nev.* lista", ++ "ia" => "(Le lista .* non existe|Nulle tal lista)", ++ "it" => "Non esiste .*la lista", ++ # | recode EUC-JP..utf8 ++ "ja" => "ȤꥹȤϤޤ|というリストはありません", ++ # | recode EUC-KR..utf8 ++ "ko" => " ϸ Ʈ ʽϴ|라는 메일링 리스트가 존재하지 않습니다.", ++ "lt" => "N.*ra forumo", ++ "nl" => "Er is geen lijst met de naam", ++ "no" => "Listen finnes ikke", ++ "pl" => "Nie znaleziono listy|Nie ma takiej listy", ++ "pt" => "N.*o existe essa lista|Lista inexistente", ++ "pt_BR" => "Lista .*inexistente", ++ "ro" => "Nu exist.* lista|Lista aceata nu exist.*", ++ # | recode koi8-r..utf8 ++ "ru" => " .* |Список рассылки .*не существует", ++ "sk" => "Neznáma .*konferencia", ++ "sl" => "Seznam .*ne obstaja", ++ "sr" => "Нема листе", ++ "sv" => "Listan finns inte", ++ "tr" => "ad.*nda bir liste yok", ++ "uk" => "Список розсилки .*не існує", ++ "vi" => "Không có hộp thư (chung|như vậy)", ++ "zh_CN" => "没有类似的列表|没有这个列表", ++ "zh_TW" => "(沒有.*這個|無此)論壇", + }, ++ # head -n 2 templates/*/admindbsummary.html ++ # grep -r -A 1 'msgid "There are no pending requests."' messages/* + "pending_req" => + { +- "en" => "(current set of administrative|pending request)", +- "de" => "(gegenwärtigen administrativen|unbearbeiteten Anfragen)", ++ "C" => "There are no pending requests", ++ "ar" => "تحتوي هذه الصفحة على تلخيص للطلبات الإشرافية|لا يوجد طلبات معلقة", ++ "ca" => "Aquesta p.*gina cont.* un sumari del conjunt actual de peticions administratives|No hi ha peticions pendents", ++ "cs" => "P.*ehled po.*adavk.* pro konferenci|.*dn.* po.*adavky ne.*ekaj.* na vy.*zen.*", ++ "da" => "Her finder du en oversigt over anmodninger der skal vurderes for maillisten|Der venter ingen anmodninger", ++ "de" => "Diese Seite zeigt eine .*bersicht der gegenw.*rtigen administrativen|Keine unbearbeiteten Anfragen", ++ "en" => "This page contains a summary of the current set of administrative", ++ "es" => "Esta página contiene un sumario de las solicitudes administrativas que|No hay peticiones pendientes", ++ "et" => "Sellel lehel on ülevaade kõigist||Taotlusi pole", ++ "eu" => "Orri honetan .* posta zerrendan|Ez dago eskaerarik zain", ++ "fi" => "Tällä sivulla on lista toimiasi vaativista|Ei odottavia pyynt.*j.*", ++ "fr" => "Cette page contient un r.*sum.* de l'ensemble des requ.*tes|Pas de requ.*tes en instance", ++ "gl" => "Esta páxina cont.*n un sumario das solicitudes administrativas que|Non hai ningunha solicitude pendente", ++ "he" => "עמוד זה מכיל סיכום של קבוצת כל הבקשות המנהלתיות שדורשות|אין בקשות ממתינות", ++ "hr" => "Ova stranica sadr.*i sa.*etak trenutnog skupa administrativnih zahtjeva|Nema zahtjeva na .*ekanju", ++ "hu" => "Ezen az oldalon .* levelezõlistához.* tartozó beavatkozásra|Nincsen beavatkoz.*sra v.*r.* teend.*", ++ "ia" => "Iste pagina contine un summario del collection del requestas|Il non ha requestas pendente", ++ "it" => "Questa pagina contiene la lista delle richieste amministrative|Non ci sono richieste in attesa", ++ "ja" => "Υڡ|このページは|αοϤޤ|保留中の申請はありません", ++ "ko" => " .* ϸ Ʈ|이 페이지는 .* 메일링 리스트| û ϴ|대기중인 요청이 없습니다", ++ "lt" => "Sprendimo laukian.*i.* lai.*k.* santrauka|There are no pending requests", ++ "nl" => "Deze pagina toont een overzicht van alle administratieve verzoeken m.b.t. de .* maillijst die wachten op uw goedkeuring|Er zijn geen wachtende verzoeken", ++ "no" => "Her finner du en oversikt over foresp.*rsler som skal vurderes for epostlisten|Det venter ingen foresp.*rsler eller s.*knader", ++ "pl" => "This page contains a summary of the current set of administrative|Brak skolejkowanych zada.*", ++ "pt" => "Esta p.*gina cont.*m um sum.*rio dos pedidos administrativos da lista|N.*o h.* pedidos pendentes", ++ "pt_BR" => "Esta p.*gina cont.*m um resumo do conjunto atual de requisi.*es|N.*o existem requisi.*es pendentes", ++ "ro" => "Aceast.* pagin.* con.*ine un sumar al setului curent de cereri administrative|Nu sunt cereri .*n a.*teptare", ++ "ru" => " |Эта страница содержит сводный список требующих обработки административных| , |Нет запросов, требующих обработки", ++ "sk" => "Preh.*ad po.*iadaviek pre konferenciu|.*iadne .*iadosti ne.*akaj.* na spracovanie", ++ "sl" => "Ta stran vsebuje povzetek trenutnih skrbni.*kih zahtev, ki .*akajo|Ni .*akajo.*ih zahtev", ++ "sr" => "Ова страна садржи преглед тренутних услова за ваше укључење у листу слања|Нема захтјева на чекању", ++ "sv" => "H.*r finns en .*versikt .*ver f.*rfr.*gningar som ska avg.*ras f.*r e-postlistan|Inga ans.*kningar v.*ntar", ++ "tr" => "Bu sayfa|Bekleyen istek yok", ++ "uk" => "Ця сторінка містить загальний список адміністративних запитів|Відсутні запити, що очікують рішень", ++ "vi" => "Trang này chứa bản tóm tắt các yêu cầu quản trị cần thiết bạn tán thành cho|Không có yêu cầu bị hoãn nào", ++ "zh_CN" => "此页面包含.*邮件列表|没有挂起的请求", ++ "zh_TW" => "沒有待決的事項", + }, ++ # TODO: get strings from older Mailman (pre 2.1) containing this one + "headline_subscr" => + { + "en" => "subscription", ++ "da" => "medlemskab", + }, ++ # TODO: get strings from older Mailman (pre 2.1) containing this one + "held_for_approval" => + { + "en" => "held for approval", + }, ++ # grep -r -A 1 'msgid "Already a member"' messages/* + "already_member" => + { +- "en" => "Already a member", ++ "C" => "Already a member", ++ "ar" => "مشترك أصلاً", ++ "ca" => "Ja ets membre", ++ "cs" => "Je ji.* .*astn.*kem", ++ "da" => "Allerede medlem", ++ "de" => "Bereits Mitglied", ++ "es" => "Ya est.* suscrito", ++ "et" => "On juba liige", ++ "eu" => "Dagoeneko harpidetuta", ++ "fi" => "Jo j.*sen", ++ "fr" => "D.*j.* abonn.*", ++ "gl" => "Xa está subscrito", ++ "he" => "הנו כבר מנוי", ++ "hr" => "Ve.* je .*lan", ++ "hu" => "M.*r tag", ++ "ia" => "Ja es un membro", ++ "it" => "Gi.* iscritto", ++ # | recode EUC-JP..utf8 ++ "ja" => "˲Ǥ|既に会員です", ++ # | recode EUC-KR..utf8 ++ "ko" => "̹ ȸԴϴ|이미 회원입니다", ++ "lt" => "Jau dalyvis", ++ "nl" => "Is al lid", ++ "no" => "Allerede medlem", ++ "pl" => "Ju.* jest zapisany", ++ "pt" => "J.* .* um membro", ++ "pt_BR" => "J.* .* um membro", ++ "ro" => "Este membru deja", ++ # | recode koi8-r..utf8 ++ "ru" => " |Уже является подписчиком", ++ "sk" => "Je už účastníkom", ++ "sl" => "Je .*e .*lan", ++ "sr" => "Корисник је већ учлањен.", ++ "sv" => "Redan medlem", ++ "tr" => "Zaten listeye .*ye", ++ "uk" => "Вже є учасником", ++ "vi" => "Đã thành viên", ++ "zh_CN" => "已经是成员了", ++ "zh_TW" => "已是訂戶", + }, + ); + diff --git a/debian/patches/listadmin.patch b/debian/patches/listadmin.patch new file mode 100644 index 0000000..3c06bd5 --- /dev/null +++ b/debian/patches/listadmin.patch @@ -0,0 +1,46 @@ + + +--- listadmin-2.40.orig/listadmin.pl ++++ listadmin-2.40/listadmin.pl +@@ -718,7 +718,7 @@ + } + + my $data; +- if ($mmver eq "2.1") { ++ if ($mmver ge "2.1") { + my $parse_appr = HTML::TokeParser->new(\$page_appr) || die; + $data = parse_pages_mm_2_1($mmver, $config, $parse, $parse_appr); + } else { +@@ -764,14 +764,26 @@ + my %data = (); + my $headline; + ++ # some (newer?) servers show only 1 <hr> tag when there is no subscriptions ++ # Try resolve first seen <hr> as subscription, and fall back to approvals + $parse_subs->get_tag ("hr"); + if ($parse_subs->get_tag ("h2")) { +- parse_subscriptions ($mmver, $config, $parse_subs, \%data); +- } +- +- $parse_appr->get_tag ("hr"); +- if ($parse_appr->get_tag ("h2")) { +- parse_approvals ($mmver, $config, $parse_appr, \%data); ++ my $title = $parse_subs->get_trimmed_text ("/h2") || die; ++ if ($title =~ get_trans_re("subscriptions")) { ++ parse_subscriptions ($mmver, $config, $parse_subs, \%data); ++ ++ $parse_appr->get_tag ("hr"); ++ if ($parse_appr->get_tag ("h2")) { ++ parse_approvals ($mmver, $config, $parse_appr, \%data); ++ } ++ } else { ++ parse_approvals ($mmver, $config, $parse_appr, \%data); ++ } ++ } else { ++ $parse_appr->get_tag ("hr"); ++ if ($parse_appr->get_tag ("h2")) { ++ parse_approvals ($mmver, $config, $parse_appr, \%data); ++ } + } + return (\%data); + } diff --git a/debian/patches/series b/debian/patches/series index 8879e22..9f7267b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ listadmin-discard.patch dont-write-logfile.patch - +listadmin-translation.patch +listadmin.patch diff --git a/debian/rules b/debian/rules index 596fe28..8fe6840 100755 --- a/debian/rules +++ b/debian/rules @@ -3,27 +3,13 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -include /usr/share/quilt/quilt.make +build: build-arch build-indep -CFLAGS = -Wall -g +build-arch: build-stamp -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif +build-indep: build-stamp -configure: patch configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: configure build-stamp - -build-stamp: configure-stamp +build-stamp: dh_testdir # Add here commands to compile the package. @@ -32,12 +18,10 @@ build-stamp: configure-stamp touch build-stamp -clean: clean-patched unpatch - -clean-patched: +clean: dh_testdir dh_testroot - rm -f build-stamp configure-stamp + rm -f build-stamp # Add here commands to clean up after the build process. #-$(MAKE) clean @@ -47,7 +31,7 @@ clean-patched: install: build dh_testdir dh_testroot - dh_clean -k + dh_prep dh_installdirs # Add here commands to install the package into debian/listadmin. @@ -64,7 +48,6 @@ binary-indep: build install dh_installdocs dh_installman dh_link - dh_strip dh_compress dh_fixperms dh_installdeb @@ -74,5 +57,5 @@ binary-indep: build install dh_builddeb binary: binary-indep -.PHONY: build clean binary-indep binary install configure patch unpatch +.PHONY: build clean binary-indep binary-arch binary install diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..e5c46d6 --- /dev/null +++ b/debian/watch @@ -0,0 +1,4 @@ +version=3 +opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \ +http://heim.ifi.uio.no/~kjetilho/hacks/ (?:.*/)?listadmin[_\-\.]?(\d\S+)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz)) + diff --git a/listadmin.pl b/listadmin.pl index 42b365c..b85a471 100755 --- a/listadmin.pl +++ b/listadmin.pl @@ -718,7 +718,7 @@ sub get_list { } my $data; - if ($mmver ge "2.1") { + if ($mmver eq "2.1") { my $parse_appr = HTML::TokeParser->new(\$page_appr) || die; $data = parse_pages_mm_2_1($mmver, $config, $parse, $parse_appr); } else { @@ -764,26 +764,14 @@ sub parse_pages_mm_2_1 { my %data = (); my $headline; - # some (newer?) servers show only 1 <hr> tag when there is no subscriptions - # Try resolve first seen <hr> as subscription, and fall back to approvals $parse_subs->get_tag ("hr"); if ($parse_subs->get_tag ("h2")) { - my $title = $parse_subs->get_trimmed_text ("/h2") || die; - if ($title =~ get_trans_re("subscriptions")) { - parse_subscriptions ($mmver, $config, $parse_subs, \%data); + parse_subscriptions ($mmver, $config, $parse_subs, \%data); + } - $parse_appr->get_tag ("hr"); - if ($parse_appr->get_tag ("h2")) { - parse_approvals ($mmver, $config, $parse_appr, \%data); - } - } else { - parse_approvals ($mmver, $config, $parse_appr, \%data); - } - } else { - $parse_appr->get_tag ("hr"); - if ($parse_appr->get_tag ("h2")) { - parse_approvals ($mmver, $config, $parse_appr, \%data); - } + $parse_appr->get_tag ("hr"); + if ($parse_appr->get_tag ("h2")) { + parse_approvals ($mmver, $config, $parse_appr, \%data); } return (\%data); } @@ -841,325 +829,42 @@ sub get_trans_re { # # Please send additions if you have them. - # Below strings are found in source of Mailman 2.1.10 and "washed": - # * high-bit chars and html ligatures in latin charsets replaced with .* - # (\S would be better but for some reason the code chokes on that) - # * non-latin charsets included as-is and (if not already) as utf-8 - # * trailing punctuation stripped (to allow small changes to locales) my %translations = - # grep -ri -- '<title>' templates/*/admlogin.html ("authentication" => { - "ar" => "التحقق من الشخصية لـ .* للقائمة", - "ca" => "Authentication", - "cs" => "p.*ihl.*en.*", - "da" => "Login", - # include old string (possibly bogusly grabbed from PO file) - "de" => "Anmeldung|Authentifikation", - "en" => "Authentication", - "es" => "Autentificaci.*n", - "et" => "autoriseerimine", - "eu" => "Zerrendako .* Identifikatzen", - "fi" => "Authentication", - "fr" => "Authentification", - "gl" => "Autenticaci.*n", - "he" => "האימות של", - "hr" => "Autentikacija", - "hu" => "Azonos.*t.*s", - "ia" => "Authentication", - "it" => "Autenticazione", - # | recode EUC-JP..utf8 - "ja" => "ǧ|認証", - # | recode EUC-KR..utf8 - "ko" => " |관리자 인증", - "lt" => "prisijungimas", - "nl" => "inloggen", - "no" => "Innlogging", - "pl" => "%(listname)s", - "pt" => "Authentication", - "pt_BR" => "Autentica.*o", - "ro" => "Autentificare", - # | recode koi8-r..utf8 - "ru" => "|Аутентификация", - "sk" => "prihlásenie", - "sl" => "Avtentikacija", - "sr" => "Authentication", - "sv" => "Inloggning", - "tr" => "Giri.*i", - "uk" => "Автентифікація", - "vi" => "Xác th.*c", - "zh_CN" => "Authentication", - "zh_TW" => "論壇 壇主驗證", - }, - # grep -r -A 1 'msgid "Subscription Requests"' messages/* - "subscriptions" => - { - "C" => "Subscription Requests", - "ar" => "طلبات التسجيل", - "ca" => "Petici.* de Subscripci.*", - "cs" => "Po.*adavky na p.*ihl.*en", - "da" => "Anmoder om medlemskab", - "de" => "Abonnement-Anfragen", - "es" => "Peticiones de suscripci.*n", - "et" => "Liitumisssoovid", - "eu" => "Harpidetza Eskakizunak", - "fi" => "Liittymispyynt.*j.*", - "fr" => "Requ.*tes d'abonnement", - "gl" => "Solicitudes de subscrici.*n", - "he" => "בקשות מנוי", - "hr" => "Zahtjevi za Pretplatom", - "hu" => "Feliratkozási k.*relmek", - "ia" => "Requestas de abonamento", - "it" => "Richieste di iscrizione", - # | recode EUC-JP..utf8 - "ja" => "|入会申請", - # | recode EUC-KR..utf8 - "ko" => " |가입 결과", - "lt" => "Uþsisakymo Pra.*ymas", - "nl" => "Aanmeldingsverzoeken", - "no" => "S.*knader om medlemskap", - "pl" => "Pro.*by o zapisanie", - "pt" => "Pedidos de inscri.*o", - "pt_BR" => "Requisi.*es de Inscri.*o", - "ro" => "Cereri de abonare", - # | recode koi8-r..utf8 - "ru" => " |Запросы на подписку", - "sk" => ".*iadosti o prihl.*senie", - "sl" => "Zahteve za prijavo", - "sr" => "Захтјеви за упис", - "sv" => "Ans.*kningar om medlemskap", - "tr" => "Listeye .*yelik .*stekleri", - "uk" => "Запити на підписку", - "vi" => "Y.*u c.*u .*ng k.*", - "zh_CN" => "订阅请求", - "zh_TW" => "訂閱申請", + "en" => "authentication", + "de" => "Authentifikation", + "fr" => "authentification", }, - # grep -r -A 1 'msgid "Successfully \(subscribed\|Unsubscribed\|Removed\):"' messages/* "subscr_success" => { - # include old (mistyped, or are these case-insensitive?) uppercase - "C" => "Successfully (([uU]n)?subscribed|Removed)", - "ar" => "تم اشتراكه بنجاح|خطأ في تسجيل الاشتراك|تمت إزالته بنجاح", - "ca" => "Subscrit satisfact.*riament|Subscripci.* Cancel.*lada Satisfact.*riament|Eliminat satisfact.*riament", - "cs" => ".*sp.*n.* p.*ihl.*eni|.*sp.*n.* odhl.*eni|.*sp.*n.* odstran.*ni", - "da" => "Tilmelding er sket|Framelding udf.*rt|Framelding udf.*rt", - "de" => "Erfolgreich (eingetragen|beendete Abonnements|entfernt)", - "es" => "(Subscritos|Ha anulado su suscripci.*n|Ha sido borrado) satisfactoriamente", - "et" => "Lisati aadressid|Tellimus l.*petati|Edukalt eemaldatud", - "eu" => "Behar bezala harpidetuta|Behar Bezala Ezabatuta|Arrakastaz ezabatua", - "fi" => "Onnistuneesti liitetty|Erotettu onnistuneesti|Poistettu onnistuneesti", - "fr" => "Abonnement r.*ussi|R.*siliation r.*ussie|Abonnement r.*sili.* avec succ.*s", - "gl" => "Subscribiuse con éxito|Anulou a súa subscrición satisfactoriamente|Eliminouse satisfactoriamente", - "he" => "נרשם בהצלחה|מנוי בוטל בהצלחה|הוסר בהצלחה", - "hr" => "Uspje.*no (pretpla.*eni|Odjavljeni|Maknut)", - "hu" => "Sikeresen (fel.*rva|t.*r.*lve|t.*r.*lve)", - "ia" => "(Abonate|Disabonate|Removite) con successo", - "it" => "(Iscritti|Cancellati|Rimosso) con successo", - # | recode EUC-JP..utf8 - "ja" => "(||)³λ|(入|退|退)会手続き完了", - # | recode EUC-KR..utf8 - "ko" => " (Ե|Ż|ŵ) |성공적으로 (가입된|탈퇴된|제거된) 명단", - "lt" => "S.*kmingai (u.*sisak.*|atsisak.*|pa.*alinti)", - "nl" => "Met succes (aangemeld|afgemeld|verwijderd)", - "no" => "(P.*melding|Utmelding) utf.*rt", - "pl" => "Pomy.*lnie (zapisano|wypisano|usuni.*to)", - "pt" => "(Inscrito|Inscri.*o anulada|Removido) co?m sucesso", - "pt_BR" => "(Inscrito|Descadastrado|Removido) com [sS]ucesso", - "ro" => "Au fost (abona.*i|dezabona.*i) cu succes", - # | recode koi8-r..utf8 - "ru" => " (| |)|Успешно (подписаны|удалена подписка для|удалены)", - "sk" => "Úspe.*ne (prihlásení|odhlásení|zmazaní)", - "sl" => "Uspe.*no (prijavljeni|odjavljen|odstranjeni)", - "sr" => "Успјешно (уписани|исписани|уклоњени)", - "sv" => "(Anm.*lan|Avanmlan) gjord", - "tr" => "Ba.*ar.*yla (.*ye yap.*ld.*|.*yelikten .*kar.*ld.*|Silindi)", - "uk" => "Успішно (підписано|видалено підписку|видалено)", - "vi" => "Đã đăng ký được|Đã bỏ đăng ký được|Đã gỡ bỏ được", - "zh_CN" => "成功订阅|成功取消订阅|成功删除", - "zh_TW" => "訂閱成功|退訂成功|成功除名", + "en" => "Successfully ((un)?subscribed|Removed)", + "de" => "Erfolgreich (ein|aus)getragen", }, - # grep -r -A 1 'msgid "Error \(subscribing\|Unsubscribing\):"' messages/* "subscr_error" => { - # include old (mistyped, or are these case-insensitive?) uppercase - "C" => "Error ([uU]n)?subscribing", - "ar" => "خطأ في (الاشتراك|إلغاء الاشتراك)", - "ca" => "Error (subscrivint|cancel.*lant la subscripci.*)", - "cs" => "Chyba p.*i (p.*ihla.*ov.*n.*|odhla.*ov.*n.*)", - "da" => "Fejl under (tilmelding|framelding)", - "de" => "Fehler beim (Abonnieren|Beenden des Abonnement)", - "es" => "Error dando de (alta|baja) la suscripci.*n", - "et" => "Viga aadresside lisamisel|Viga aadressi kustutamisel", - "eu" => "Errorea harpidetzan|Zerrenda uztean errorea", - "fi" => "Virhe (liitt.*ess.*|eroamisessa)", - "fr" => "Erreur lors de (l'abonnement|la r.*siliation)", - "gl" => "(Houbo un erro ao dar de alta|Produciuse un erro ao dar de baixa) a subscrición", - "he" => "שגיאה (ברישום|בביטול המנוי)", - "hr" => "Gre.*ka kod (pretpla.*ivanja|Odjavljivanja)", - "hu" => "Hiba a (feliratkoz.*skor|t*rl*sn*l)", - "ia" => "Error in (abonar|disabonar)", - "it" => "Errore durante (l'iscrizione|la cancellazione)", - # | recode EUC-JP..utf8 - "ja" => "(|)³Υ顼|(入|退)会手続きのエラー", - # | recode EUC-KR..utf8 - "ko" => "(|Ż) |(가입|탈퇴) 에러", - "lt" => "Nes.*kmingai u.*sisakin.*jo|Klaida atsisakant", - "nl" => "Fout bij (het aanmelden|afmelden)", - "no" => "Feil under (p.*melding|utmelding)", - "pl" => "B.*dy przy (za|wy)pisywaniu", - "pt" => "Erro (inscrevendo|ao cancelar a inscri.*o)", - "pt_BR" => "Erro ao (inscrever|descadastrar)", - "ro" => "Eroare la (abonare|dezabonare)", - # | recode koi8-r..utf8 - "ru" => " | |Подписаны НЕ были|Ошибка удаления подписки", - "sk" => "Chyba pri (prihlasovan.*|odhlasovan.*)", - "sl" => "Napaka pri (prijavljanju|odjavi)", - "sr" => "Грешка при (у|uc)пису", - "sv" => "Fel under (anm.*lan|avanm.*lan)", - "tr" => "(.*ye yaparken|.*yelikten .*kar.*l.*rken) hata oldu", - "uk" => "Помилка (при спробі|видалення) підписки", - "vi" => "Lỗi đăng ký|Lỗi bỏ đăng ký", - "zh_CN" => "错误(取)?订阅", - "zh_TW" => "訂閱失敗|退訂時出錯", + "en" => "Error (un)?subscribing", }, - # grep -r -A 1 'msgid "No such list .*"' messages/* "no_such_list" => { - "C" => "No such list", - "ar" => "لا يوجد قائمة بالإسم", - "ca" => "La llista .* no existeix", - "cs" => "Nenalezl jsem konferenci", - "da" => "Listen findes ikke", - "de" => "(Keine Liste mit Namen .* vorhanden|Liste nicht vorhanden)", - "es" => "(La lista .* no existe|No existe tal lista)", - "et" => "(Sellist listi pole|Selle nimega listi pole)", - "eu" => "(zerrendarik ez dago|Zerrenda ezezaguna)", - "fi" => "(Listaa .* ei ole olemassa|Lista on jo olemassa)", - "fr" => "(Liste inexistante|Liste introuvable)", - "gl" => "(A rolda .* non existe|Non existe esa rolda)", - "he" => "(אין רשימה בשם|אין כזו רשימה)", - "hr" => "Takva lista ne postoji <em>%(safelistname)s</em>", - "hu" => "Nincs .* nev.* lista", - "ia" => "(Le lista .* non existe|Nulle tal lista)", - "it" => "Non esiste .*la lista", - # | recode EUC-JP..utf8 - "ja" => "ȤꥹȤϤޤ|というリストはありません", - # | recode EUC-KR..utf8 - "ko" => " ϸ Ʈ ʽϴ|라는 메일링 리스트가 존재하지 않습니다.", - "lt" => "N.*ra forumo", - "nl" => "Er is geen lijst met de naam", - "no" => "Listen finnes ikke", - "pl" => "Nie znaleziono listy|Nie ma takiej listy", - "pt" => "N.*o existe essa lista|Lista inexistente", - "pt_BR" => "Lista .*inexistente", - "ro" => "Nu exist.* lista|Lista aceata nu exist.*", - # | recode koi8-r..utf8 - "ru" => " .* |Список рассылки .*не существует", - "sk" => "Neznáma .*konferencia", - "sl" => "Seznam .*ne obstaja", - "sr" => "Нема листе", - "sv" => "Listan finns inte", - "tr" => "ad.*nda bir liste yok", - "uk" => "Список розсилки .*не існує", - "vi" => "Không có hộp thư (chung|như vậy)", - "zh_CN" => "没有类似的列表|没有这个列表", - "zh_TW" => "(沒有.*這個|無此)論壇", + "en" => "Mailman Admindb Error.*No such list:", }, - # head -n 2 templates/*/admindbsummary.html - # grep -r -A 1 'msgid "There are no pending requests."' messages/* "pending_req" => { - "C" => "There are no pending requests", - "ar" => "تحتوي هذه الصفحة على تلخيص للطلبات الإشرافية|لا يوجد طلبات معلقة", - "ca" => "Aquesta p.*gina cont.* un sumari del conjunt actual de peticions administratives|No hi ha peticions pendents", - "cs" => "P.*ehled po.*adavk.* pro konferenci|.*dn.* po.*adavky ne.*ekaj.* na vy.*zen.*", - "da" => "Her finder du en oversigt over anmodninger der skal vurderes for maillisten|Der venter ingen anmodninger", - "de" => "Diese Seite zeigt eine .*bersicht der gegenw.*rtigen administrativen|Keine unbearbeiteten Anfragen", - "en" => "This page contains a summary of the current set of administrative", - "es" => "Esta página contiene un sumario de las solicitudes administrativas que|No hay peticiones pendientes", - "et" => "Sellel lehel on ülevaade kõigist||Taotlusi pole", - "eu" => "Orri honetan .* posta zerrendan|Ez dago eskaerarik zain", - "fi" => "Tällä sivulla on lista toimiasi vaativista|Ei odottavia pyynt.*j.*", - "fr" => "Cette page contient un r.*sum.* de l'ensemble des requ.*tes|Pas de requ.*tes en instance", - "gl" => "Esta páxina cont.*n un sumario das solicitudes administrativas que|Non hai ningunha solicitude pendente", - "he" => "עמוד זה מכיל סיכום של קבוצת כל הבקשות המנהלתיות שדורשות|אין בקשות ממתינות", - "hr" => "Ova stranica sadr.*i sa.*etak trenutnog skupa administrativnih zahtjeva|Nema zahtjeva na .*ekanju", - "hu" => "Ezen az oldalon .* levelezõlistához.* tartozó beavatkozásra|Nincsen beavatkoz.*sra v.*r.* teend.*", - "ia" => "Iste pagina contine un summario del collection del requestas|Il non ha requestas pendente", - "it" => "Questa pagina contiene la lista delle richieste amministrative|Non ci sono richieste in attesa", - "ja" => "Υڡ|このページは|αοϤޤ|保留中の申請はありません", - "ko" => " .* ϸ Ʈ|이 페이지는 .* 메일링 리스트| û ϴ|대기중인 요청이 없습니다", - "lt" => "Sprendimo laukian.*i.* lai.*k.* santrauka|There are no pending requests", - "nl" => "Deze pagina toont een overzicht van alle administratieve verzoeken m.b.t. de .* maillijst die wachten op uw goedkeuring|Er zijn geen wachtende verzoeken", - "no" => "Her finner du en oversikt over foresp.*rsler som skal vurderes for epostlisten|Det venter ingen foresp.*rsler eller s.*knader", - "pl" => "This page contains a summary of the current set of administrative|Brak skolejkowanych zada.*", - "pt" => "Esta p.*gina cont.*m um sum.*rio dos pedidos administrativos da lista|N.*o h.* pedidos pendentes", - "pt_BR" => "Esta p.*gina cont.*m um resumo do conjunto atual de requisi.*es|N.*o existem requisi.*es pendentes", - "ro" => "Aceast.* pagin.* con.*ine un sumar al setului curent de cereri administrative|Nu sunt cereri .*n a.*teptare", - "ru" => " |Эта страница содержит сводный список требующих обработки административных| , |Нет запросов, требующих обработки", - "sk" => "Preh.*ad po.*iadaviek pre konferenciu|.*iadne .*iadosti ne.*akaj.* na spracovanie", - "sl" => "Ta stran vsebuje povzetek trenutnih skrbni.*kih zahtev, ki .*akajo|Ni .*akajo.*ih zahtev", - "sr" => "Ова страна садржи преглед тренутних услова за ваше укључење у листу слања|Нема захтјева на чекању", - "sv" => "H.*r finns en .*versikt .*ver f.*rfr.*gningar som ska avg.*ras f.*r e-postlistan|Inga ans.*kningar v.*ntar", - "tr" => "Bu sayfa|Bekleyen istek yok", - "uk" => "Ця сторінка містить загальний список адміністративних запитів|Відсутні запити, що очікують рішень", - "vi" => "Trang này chứa bản tóm tắt các yêu cầu quản trị cần thiết bạn tán thành cho|Không có yêu cầu bị hoãn nào", - "zh_CN" => "此页面包含.*邮件列表|没有挂起的请求", - "zh_TW" => "沒有待決的事項", + "en" => "(current set of administrative|pending request)", + "de" => "(gegenwärtigen administrativen|unbearbeiteten Anfragen)", }, - # TODO: get strings from older Mailman (pre 2.1) containing this one "headline_subscr" => { "en" => "subscription", - "da" => "medlemskab", }, - # TODO: get strings from older Mailman (pre 2.1) containing this one "held_for_approval" => { "en" => "held for approval", }, - # grep -r -A 1 'msgid "Already a member"' messages/* "already_member" => { - "C" => "Already a member", - "ar" => "مشترك أصلاً", - "ca" => "Ja ets membre", - "cs" => "Je ji.* .*astn.*kem", - "da" => "Allerede medlem", - "de" => "Bereits Mitglied", - "es" => "Ya est.* suscrito", - "et" => "On juba liige", - "eu" => "Dagoeneko harpidetuta", - "fi" => "Jo j.*sen", - "fr" => "D.*j.* abonn.*", - "gl" => "Xa está subscrito", - "he" => "הנו כבר מנוי", - "hr" => "Ve.* je .*lan", - "hu" => "M.*r tag", - "ia" => "Ja es un membro", - "it" => "Gi.* iscritto", - # | recode EUC-JP..utf8 - "ja" => "˲Ǥ|既に会員です", - # | recode EUC-KR..utf8 - "ko" => "̹ ȸԴϴ|이미 회원입니다", - "lt" => "Jau dalyvis", - "nl" => "Is al lid", - "no" => "Allerede medlem", - "pl" => "Ju.* jest zapisany", - "pt" => "J.* .* um membro", - "pt_BR" => "J.* .* um membro", - "ro" => "Este membru deja", - # | recode koi8-r..utf8 - "ru" => " |Уже является подписчиком", - "sk" => "Je už účastníkom", - "sl" => "Je .*e .*lan", - "sr" => "Корисник је већ учлањен.", - "sv" => "Redan medlem", - "tr" => "Zaten listeye .*ye", - "uk" => "Вже є учасником", - "vi" => "Đã thành viên", - "zh_CN" => "已经是成员了", - "zh_TW" => "已是訂戶", + "en" => "Already a member", }, ); |